You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.4 KiB

// import api from '@/api'
const state = {
token: localStorage.token,
userInfo: localStorage.userInfo
}
const getters = {
isLogin: state => {
return state.token
},
userInfo: state => {
return state.userInfo
}
}
const actions = {
login(context, payload) {
return new Promise(resolve => {
// 模拟登录成功,写入 token 信息
context.commit('setData', {
token: payload.token,
userInfo: payload
})
resolve()
})
5 years ago
},
update(context, payload) {
return new Promise(resolve => {
// 模拟登录成功,写入 token 信息
context.commit('setData', {
token: state.token,
userInfo: payload
})
resolve()
})
},
5 years ago
logout(context) {
5 years ago
context.commit('delData')
}
}
const mutations = {
setData(state, data) {
localStorage.setItem('token', data.token)
localStorage.setItem('userInfo', JSON.stringify(data.userInfo))
state.token = data.token
state.userInfo = JSON.stringify(data.userInfo)
5 years ago
},
delData() {
state.token = null
state.userInfo = null
5 years ago
localStorage.removeItem('token')
localStorage.removeItem('userInfo')
}
}
export default {
namespaced: true,
state,
actions,
getters,
mutations
}