Vue项目使用localStorage+Vuex保存用户登录信息
更新时间:2021年08月24日 13:59:19 作者:it筱竹
这篇文章主要为大家详细介绍了Vue项目使用localStorage+Vuex保存用户登录信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Vue使用localStorage+Vuex保存用户登录信息的具体代码,供大家参考,具体内容如下
api.js
import axios from 'axios' const baseURL = 'http://XXX // 全局的 axios 默认值 axios.defaults.baseURL = baseURL // 登录请求 const loginCheck = params => { return axios.post('/login', params).then(res => { return res.data }) } export { loginCheck }
store.js
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const actions = {} const mutations = { handleUserName: (state, user_name) => { state.user_name = user_name // 把登录的用户的名保存到localStorage中,防止页面刷新,导致vuex重新启动,用户名就成为初始值(初始值为空)的情况 localStorage.setItem('user_name', user_name) } } const state = { user_name: '' || localStorage.getItem('user_name') } // getters 只会依赖 state 中的成员去更新 const getters = { userName: (state) => state.user_name } const store = new Vuex.Store({ actions, mutations, state, getters }) export { store }
login.vue
methods:{ login(formName){ this.$refs[formName].validate((valid) => { if (valid) { // 调用登录请求接口 loginCheck(this.form).then(res=>{ // console.log(res); // 登录成功,提示成功信息,然后跳转到首页,同时将token保存到localstorage中, 将登录名使用vuex传递到Home页面 if(res.meta.status === 200){ // 提示成功信息 this.$message({ message: res.meta.msg, type: 'success' }); var that = this; // 跳转到首页 setTimeout(function(){ that.$router.push({name:'Home'}) },1000) localStorage.setItem('token',res.data.token) // 将登录名使用vuex传递到Home页面 this.$store.commit('handleUserName',res.data.username); }else{ // 登录失败,就提示错误信息 this.$message({ message: '登录失败,'+res.meta.msg, type: 'error' }); } }) } else { return false; } }); } }
Home.vue
您好,{{$store.getters.username}}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Vue项目使用Websocket大文件FileReader()切片上传实例
这篇文章主要介绍了Vue项目使用Websocket大文件FileReader()切片上传实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-10-10vue中keep-alive、activated的探讨和使用详解
这篇文章主要介绍了vue中keep-alive、activated的探讨和使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07vue使用动态添加路由(router.addRoutes)加载权限侧边栏的方式
这篇文章主要介绍了vue使用动态添加路由(router.addRoutes)加载权限侧边栏的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06
最新评论