73 lines
1.5 KiB
JavaScript
73 lines
1.5 KiB
JavaScript
import {
|
||
setUser,
|
||
setToken,
|
||
getAuth
|
||
} from '../../com/storage/auth.js'
|
||
const getDefaultState = () => {
|
||
return {
|
||
token: {
|
||
access_token: '',
|
||
token_type: '',
|
||
expires_in: '',
|
||
},
|
||
user: {
|
||
id: '',
|
||
username: '',
|
||
vip: '',
|
||
nickname: '',
|
||
avatar_url: '',
|
||
appcode: '',
|
||
pid: '',
|
||
mobile: '',
|
||
openid: '',
|
||
}
|
||
}
|
||
}
|
||
|
||
export default {
|
||
namespaced: true,
|
||
state: getAuth() ? getAuth() : getDefaultState(),
|
||
mutations: {
|
||
//通俗的理解,mutations 里面装着改变数据的方法集合,处理数据逻辑的方法全部放在 mutations 里,使数据和视图分离。
|
||
setToken(state, value) { //更新当前时间戳
|
||
state.token = value;
|
||
setToken(value);
|
||
},
|
||
resetToken(state) {
|
||
Object.assign(state.token, getDefaultState().token);
|
||
setToken(getDefaultState().token);
|
||
},
|
||
setUser(state, value) {
|
||
state.user = value;
|
||
setUser(value);
|
||
},
|
||
resetUser: (state) => {
|
||
Object.assign(state.user, getDefaultState().user);
|
||
setUser(getDefaultState().user);
|
||
},
|
||
},
|
||
actions: {
|
||
/**
|
||
* action 类似于 mutation ,不同在于:
|
||
|
||
action 提交的是 mutation,通过 mutation 来改变 state ,而不是直接变更状态。
|
||
action 可以包含任意异步操作。
|
||
*/
|
||
|
||
setTokenAction(context, value) {
|
||
context.commit('setToken', value);
|
||
},
|
||
resetTokenAction: (state) => {
|
||
context.commit('resetToken');
|
||
},
|
||
setUserAction(context, value) {
|
||
context.commit('setUser', value);
|
||
},
|
||
resetUserAction(context) {
|
||
context.commit('resetUser');
|
||
}
|
||
},
|
||
getters: {
|
||
|
||
},
|
||
} |