Vue项目使用localStorage+Vuex保存用户登录信息


Posted in Javascript onMay 27, 2019

本文实例为大家分享了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}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 去除数组的重复元素
May 04 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
Mar 05 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
javascript中的事件代理初探
Mar 08 Javascript
用js判断输入是否为中文的函数
Mar 10 Javascript
javascript实现回到顶部特效
May 06 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
May 27 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
基于JavaScript实现本地图片预览
Feb 08 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
Aug 21 Javascript
vue实现简单学生信息管理
May 30 Javascript
JavaScript交换变量常用4种方法解析
Sep 02 Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 #Javascript
深入浅出了解Node.js Streams
May 27 #Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 #Javascript
vue项目前端错误收集之sentry教程详解
May 27 #Javascript
了解javascript中变量及函数的提升
May 27 #Javascript
基于vue实现一个禅道主页拖拽效果
May 27 #Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 #jQuery
You might like
Zerg兵种介绍
2020/03/14 星际争霸
php下实现折线图效果的代码
2007/04/28 PHP
服务器web工具 php环境下
2010/12/29 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
JavaScript 事件系统
2010/07/22 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
Pyramid添加Middleware的方法实例
2013/11/27 Python
python调用cmd复制文件代码分享
2013/12/27 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python中用于计算对数的log()方法
2015/05/15 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
Python绘制七段数码管实例代码
2017/12/20 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
某科技软件测试面试题
2013/05/19 面试题
土木工程毕业生自荐信
2013/11/12 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
现场施工员岗位职责
2015/04/11 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
三八妇女节致辞
2015/07/31 职场文书