Vue管理系统前端系列三登录页和首页及`vuex`管理登录状态

新建 store/modules/user.js,将登录状态及内容保存到状态管理器中,内容如下:

import router from ‘@/router’

export default {
state: {
userInfo: null, //用户信息
token: null,
},
getters: {
userInfo: (state) => {
if (state.userInfo == null) {
let sessionUser = sessionStorage.getItem(‘user’)
if (sessionUser != null) {
state.userInfo = JSON.parse(sessionUser)
return sessionUser
} else {
let localeUser = localStorage.getItem(‘user’)
if (localeUser != null) {
state.userInfo = JSON.parse(localeUser)
}
return localeUser
}
}
return state.userInfo
},
token: (state) => {
if (state.token == null) {
let sessionToken = sessionStorage.getItem(‘token’)
if (sessionToken != null) {
state.token = sessionToken
return sessionToken
} else {
let localeToken = localStorage.getItem(‘token’)
state.token = localeToken
return localeToken
}
}
return state.token
},
},
mutations: {
setToken(state, token, flag = true) {
if (flag) {
localStorage.setItem(‘token’, token)
} else {
sessionStorage.setItem(‘token’, token)
}
},
setUserInfo(state, userInfo, flag = true) {
state.userInfo = userInfo
state.token = userInfo.token
if (flag) {
localStorage.setItem(‘user’, JSON.stringify(userInfo))
} else {
sessionStorage.setItem(‘user’, JSON.stringify(userInfo))
}
this.commit(‘setToken’, userInfo.token, flag)
},
logout(state) {
state.userInfo = null
state.token = null
localStorage.removeItem(‘token’)
localStorage.removeItem(‘user’)
sessionStorage.removeItem(‘token’)
sessionStorage.removeItem(‘user’)
router.push(’/login’)
},
},
actions: {},
}
然后再在 store/index.js 中将 user 模块引入进来,代码如下:

import Vue from ‘vue’
import Vuex from ‘vuex’

Vue.use(Vuex)

import user from ‘./modules/user’

const store = new Vuex.Store({
modules: {
user: user,
},
})
export default store
丰富界面
使用 element 的 from 组件,进行设计登录界面。界面代码如下:

Vue 后台管理系统

对界面进行 简单的样式调整,设置背景等,代码如下:

亚马逊测评 www.yisuping.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值