2020-10-23

1 篇文章 0 订阅

vuex中的登录操作封装

import Vue from 'vue'
import Vuex from 'vuex'
import login from './login.js'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
	  login
  }
})

export default {
	state: {
		loginState: false,
		token: null,
		userInfo: {}
	},
	mutations: {
		initUser(state) {
			let userInfo = window.localStorage.getItem('userInfo');
			if (userInfo) {
				userInfo = JSON.parse(userInfo);
				state.userInfo = userInfo;
				state.token = userInfo.token;
				state.loginState = true;
			}
		},
		login(state, userinfo) {
			state.userInfo = userinfo;
			state.token = userinfo.token;
			state.loginState = true;
			window.localStorage.setItem('userInfo', JSON.stringify(userinfo));
		},
		loginOut(state) {
			state.userInfo = {};
			state.token = null;
			state.loginState = false;
			window.localStorage.removeItem('userInfo');
		}
	},
	actions: {},
	modules: {

	}
}

vuex中方法使用mapMutations(['login'])辅助函数
vuex中state使用mapState()辅助函数,作为计算属性注入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值