上传
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* 认证工具 - Token 和用户信息管理
|
||||
*/
|
||||
import config from '@/api/config.js'
|
||||
import {
|
||||
getStorage,
|
||||
setStorage,
|
||||
removeStorage
|
||||
} from './storage'
|
||||
|
||||
/**
|
||||
* 获取 Token
|
||||
* @returns {string|null}
|
||||
*/
|
||||
export function getToken() {
|
||||
return getStorage(config.tokenKey)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置 Token
|
||||
* @param {string} token
|
||||
*/
|
||||
export function setToken(token) {
|
||||
setStorage(config.tokenKey, token)
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除 Token
|
||||
*/
|
||||
export function removeToken() {
|
||||
removeStorage(config.tokenKey)
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否已登录
|
||||
* @returns {boolean}
|
||||
*/
|
||||
export function isLoggedIn() {
|
||||
return !!getToken()
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @returns {Object|null}
|
||||
*/
|
||||
export function getUserInfo() {
|
||||
return getStorage(config.userInfoKey)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户信息
|
||||
* @param {Object} userInfo
|
||||
*/
|
||||
export function setUserInfo(userInfo) {
|
||||
setStorage(config.userInfoKey, userInfo)
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除所有认证信息
|
||||
*/
|
||||
export function clearAuthInfo() {
|
||||
removeToken()
|
||||
removeStorage(config.userInfoKey)
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录检查,未登录则跳转登录页
|
||||
* @param {string} [redirectUrl] 登录后重定向地址
|
||||
* @returns {boolean} 是否已登录
|
||||
*/
|
||||
export function checkLogin(redirectUrl) {
|
||||
if (isLoggedIn()) {
|
||||
return true
|
||||
}
|
||||
const url = redirectUrl ?
|
||||
`/pages/login/login?redirect=${encodeURIComponent(redirectUrl)}` :
|
||||
'/pages/login/login'
|
||||
uni.navigateTo({
|
||||
url
|
||||
})
|
||||
return false
|
||||
}
|
||||
Reference in New Issue
Block a user