Files

69 lines
1.3 KiB
JavaScript

/**
* 教练端全局状态管理 — 以 uni.Storage 为唯一数据源
*/
const TOKEN_KEY = 'coach_token'
const COACH_KEY = 'coach_info'
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
}
},
/** 获取教练信息 */
getCoachInfo() {
try {
return uni.getStorageSync(COACH_KEY) || null
} catch (e) {
return null
}
},
/** 获取教练 ID */
getCoachId() {
const info = this.getCoachInfo()
return info ? info.coachId : null
},
/** 获取教练用户名 */
getUsername() {
const info = this.getCoachInfo()
return info ? info.username : ''
},
/** 设置登录态 */
setLogin(token, coachInfo) {
try {
uni.setStorageSync(TOKEN_KEY, token)
if (coachInfo) uni.setStorageSync(COACH_KEY, coachInfo)
} catch (e) {
console.error('存储登录态失败:', e)
}
},
/** 清除登录态 */
clearLogin() {
try {
uni.removeStorageSync(TOKEN_KEY)
uni.removeStorageSync(COACH_KEY)
} catch (e) {
console.error('清除登录态失败:', e)
}
}
}
module.exports = store