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.
84 lines
1.7 KiB
84 lines
1.7 KiB
// 用户数据模块
|
|
import {router} from '@/nxTemp/router/index.js'
|
|
const TOKEN = uni.getStorageSync("token") || "";
|
|
const OPENID = uni.getStorageSync("openId") || "";
|
|
const USER_INFO = uni.getStorageSync("userInfo") || {};
|
|
|
|
export const state = {
|
|
// 前端token
|
|
token: TOKEN,
|
|
// 用户openid
|
|
openId: OPENID,
|
|
// 用户信息 头像 昵称
|
|
userInfo: USER_INFO
|
|
}
|
|
|
|
export const actions = {
|
|
async setUserData({state,commit}, data) {
|
|
commit('setStateAttr', {
|
|
key: 'userInfo',
|
|
val: data
|
|
})
|
|
uni.setStorageSync('userInfo', data);
|
|
state.token = data.token
|
|
uni.setStorageSync('token', data.token);
|
|
},
|
|
// 登录过期 重新登录
|
|
reLogin({commit}, info) {
|
|
commit('setStateAttr', {
|
|
key: 'token',
|
|
val: ''
|
|
})
|
|
uni.setStorageSync("token", '');
|
|
//过期跳转登录页重新登录
|
|
router.push({
|
|
path: '/pages/login/login'
|
|
});
|
|
},
|
|
//预留,已将token更新整合到setUserData,后面可能有单独更新token的必要
|
|
setUserToken({commit},token){
|
|
commit('setStateAttr', {
|
|
key: 'token',
|
|
val: token
|
|
})
|
|
uni.setStorageSync("token", token);
|
|
},
|
|
//清空登录信息
|
|
logoutUser({commit}){
|
|
commit('setStateAttr', {
|
|
key: 'token',
|
|
val: ''
|
|
})
|
|
uni.setStorageSync("token", '');
|
|
uni.setStorageSync("userInfo", '');
|
|
// router.push({
|
|
// path: '/pages/index/index'
|
|
// });
|
|
},
|
|
}
|
|
|
|
export const mutations = {
|
|
//更新state数据
|
|
setStateAttr(state, param) {
|
|
if (param instanceof Array) {
|
|
for (let item of param) {
|
|
state[item.key] = item.val;
|
|
}
|
|
} else {
|
|
state[param.key] = param.val;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
export const getters = {
|
|
// 用户是否登录
|
|
hasLogin: state => {
|
|
if (state.token) {
|
|
return true;
|
|
} else {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
|