实现部分页面前后端相通
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
/**
|
||||
* 全局状态管理 — 以 uni.Storage 为唯一数据源,确保跨页面/跨模块共享
|
||||
*/
|
||||
const TOKEN_KEY = 'gym_token'
|
||||
const MEMBER_KEY = 'gym_member'
|
||||
|
||||
const store = {
|
||||
/** 是否已登录 */
|
||||
get isLoggedIn() {
|
||||
try {
|
||||
return !!uni.getStorageSync(TOKEN_KEY)
|
||||
} catch (e) {
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
/** 获取 token */
|
||||
getToken() {
|
||||
try {
|
||||
return uni.getStorageSync(TOKEN_KEY) || null
|
||||
} catch (e) {
|
||||
return null
|
||||
}
|
||||
},
|
||||
|
||||
/** 获取会员信息 */
|
||||
getMemberInfo() {
|
||||
try {
|
||||
return uni.getStorageSync(MEMBER_KEY) || null
|
||||
} catch (e) {
|
||||
return null
|
||||
}
|
||||
},
|
||||
|
||||
/** 设置登录态 */
|
||||
setLogin(token, memberInfo) {
|
||||
try {
|
||||
uni.setStorageSync(TOKEN_KEY, token)
|
||||
if (memberInfo) uni.setStorageSync(MEMBER_KEY, memberInfo)
|
||||
} catch (e) {
|
||||
console.error('存储登录态失败:', e)
|
||||
}
|
||||
},
|
||||
|
||||
/** 更新会员信息 */
|
||||
updateMemberInfo(memberInfo) {
|
||||
try {
|
||||
uni.setStorageSync(MEMBER_KEY, memberInfo)
|
||||
} catch (e) {
|
||||
console.error('更新会员信息失败:', e)
|
||||
}
|
||||
},
|
||||
|
||||
/** 清除登录态 */
|
||||
clearLogin() {
|
||||
try {
|
||||
uni.removeStorageSync(TOKEN_KEY)
|
||||
uni.removeStorageSync(MEMBER_KEY)
|
||||
} catch (e) {
|
||||
console.error('清除登录态失败:', e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = store
|
||||
Reference in New Issue
Block a user