103 lines
1.8 KiB
JavaScript
103 lines
1.8 KiB
JavaScript
/**
|
|
* Token管理工具
|
|
*/
|
|
|
|
const TOKEN_KEY = 'access_token'
|
|
const REFRESH_TOKEN_KEY = 'refresh_token'
|
|
const USER_INFO_KEY = 'userInfo'
|
|
|
|
/**
|
|
* 获取Token
|
|
*/
|
|
export function getToken() {
|
|
return uni.getStorageSync(TOKEN_KEY)
|
|
}
|
|
|
|
/**
|
|
* 设置Token
|
|
*/
|
|
export function setToken(token) {
|
|
return uni.setStorageSync(TOKEN_KEY, token)
|
|
}
|
|
|
|
/**
|
|
* 移除Token
|
|
*/
|
|
export function removeToken() {
|
|
return uni.removeStorageSync(TOKEN_KEY)
|
|
}
|
|
|
|
/**
|
|
* 获取RefreshToken
|
|
*/
|
|
export function getRefreshToken() {
|
|
return uni.getStorageSync(REFRESH_TOKEN_KEY)
|
|
}
|
|
|
|
/**
|
|
* 设置RefreshToken
|
|
*/
|
|
export function setRefreshToken(token) {
|
|
return uni.setStorageSync(REFRESH_TOKEN_KEY, token)
|
|
}
|
|
|
|
/**
|
|
* 获取用户信息
|
|
*/
|
|
export function getUserInfo() {
|
|
try {
|
|
const userInfo = uni.getStorageSync(USER_INFO_KEY)
|
|
|
|
// 如果没有数据,返回 null
|
|
if (!userInfo) {
|
|
console.log('本地存储中没有用户信息')
|
|
return null
|
|
}
|
|
|
|
// 如果已经是对象,直接返回
|
|
if (typeof userInfo === 'object') {
|
|
return userInfo
|
|
}
|
|
|
|
// 如果是字符串,尝试解析
|
|
if (typeof userInfo === 'string') {
|
|
return JSON.parse(userInfo)
|
|
}
|
|
|
|
return null
|
|
} catch (error) {
|
|
console.error('获取用户信息失败:', error)
|
|
return null
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 设置用户信息
|
|
*/
|
|
export function setUserInfo(userInfo) {
|
|
return uni.setStorageSync(USER_INFO_KEY, JSON.stringify(userInfo))
|
|
}
|
|
|
|
/**
|
|
* 移除用户信息
|
|
*/
|
|
export function removeUserInfo() {
|
|
return uni.removeStorageSync(USER_INFO_KEY)
|
|
}
|
|
|
|
/**
|
|
* 检查是否登录
|
|
*/
|
|
export function isLogin() {
|
|
return !!(getToken() && getUserInfo())
|
|
}
|
|
|
|
/**
|
|
* 清除所有认证信息
|
|
*/
|
|
export function clearAuth() {
|
|
removeToken()
|
|
uni.removeStorageSync(REFRESH_TOKEN_KEY)
|
|
removeUserInfo()
|
|
}
|