61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
// 上次启动时的用户信息
|
||
let userInfoHistory = uni.getStorageSync('userinfo') || {};
|
||
let state = {
|
||
//是否已经登录
|
||
hasLogin: Boolean(Object.keys(userInfoHistory).length), //Object.keys().length 判断对象长度,用以检测对象是否为空
|
||
//用户信息
|
||
info: userInfoHistory
|
||
},
|
||
getters = {
|
||
info(state) {
|
||
return state.info;
|
||
},
|
||
hasLogin(state) {
|
||
return state.hasLogin;
|
||
}
|
||
},
|
||
mutations = {
|
||
login(state, info) { //登录成功后的操作
|
||
//原有的结合传来的参数
|
||
let _info = state.info;
|
||
state.info = Object.assign({}, _info, info);
|
||
//设置为已经登录
|
||
state.hasLogin = true;
|
||
// console.log('state.info', state.info);
|
||
//存储最新的用户数据到本地持久化存储
|
||
uni.setStorageSync('userinfo', state.info);
|
||
if (info.token) {
|
||
uni.setStorage({
|
||
key: 'uni_id_token',
|
||
data: state.info.token,
|
||
complete(e) {
|
||
// console.log('setStorage-------',e);
|
||
}
|
||
});
|
||
uni.setStorageSync('uni_id_token_expired', state.info.tokenExpired)
|
||
}
|
||
},
|
||
logout(state) {
|
||
state.info = {};
|
||
state.hasLogin = false;
|
||
uni.setStorageSync('userinfo', {});
|
||
uni.removeStorageSync('uni_id_token');
|
||
uni.setStorageSync('uni_id_token_expired', 0)
|
||
}
|
||
},
|
||
actions = {
|
||
logout(context) {
|
||
uni.showLoading({
|
||
mask: true
|
||
})
|
||
}
|
||
}
|
||
export default {
|
||
namespaced: true,
|
||
state,
|
||
getters,
|
||
mutations,
|
||
//同步执行触发,用store.commit
|
||
actions
|
||
//异步执行触发,用store.dispatch
|
||
} |