首次完整推送,
V:1.20240808.006
This commit is contained in:
61
store/modules/user.js
Normal file
61
store/modules/user.js
Normal file
@ -0,0 +1,61 @@
|
||||
// 上次启动时的用户信息
|
||||
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
|
||||
}
|
Reference in New Issue
Block a user