【私域操盘手】 操盘手端UI
This commit is contained in:
96
Cunkebao/utils/auth.js
Normal file
96
Cunkebao/utils/auth.js
Normal file
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* 认证相关工具函数
|
||||
*/
|
||||
|
||||
const TOKEN_KEY = 'token';
|
||||
const TOKEN_EXPIRES_KEY = 'token_expires';
|
||||
const USER_INFO_KEY = 'user_info';
|
||||
|
||||
/**
|
||||
* 设置Token
|
||||
* @param {string} token 令牌
|
||||
* @param {number} expires 过期时间(秒)
|
||||
*/
|
||||
function setToken(token, expires = 7200) {
|
||||
uni.setStorageSync(TOKEN_KEY, token);
|
||||
|
||||
// 计算过期时间点(当前时间 + 有效期)
|
||||
const expiresTime = Math.floor(Date.now() / 1000) + expires;
|
||||
uni.setStorageSync(TOKEN_EXPIRES_KEY, expiresTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取Token
|
||||
* @returns {string} token值
|
||||
*/
|
||||
function getToken() {
|
||||
return uni.getStorageSync(TOKEN_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除Token
|
||||
*/
|
||||
function removeToken() {
|
||||
uni.removeStorageSync(TOKEN_KEY);
|
||||
uni.removeStorageSync(TOKEN_EXPIRES_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户信息
|
||||
* @param {Object} userInfo 用户信息
|
||||
*/
|
||||
function setUserInfo(userInfo) {
|
||||
uni.setStorageSync(USER_INFO_KEY, JSON.stringify(userInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @returns {Object} 用户信息
|
||||
*/
|
||||
function getUserInfo() {
|
||||
const userInfo = uni.getStorageSync(USER_INFO_KEY);
|
||||
return userInfo ? JSON.parse(userInfo) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除用户信息
|
||||
*/
|
||||
function removeUserInfo() {
|
||||
uni.removeStorageSync(USER_INFO_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除所有认证信息
|
||||
*/
|
||||
function removeAll() {
|
||||
removeToken();
|
||||
removeUserInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否已登录
|
||||
* @returns {boolean} 是否已登录
|
||||
*/
|
||||
function isLogin() {
|
||||
const token = getToken();
|
||||
// 如果没有token,直接返回未登录
|
||||
if (!token) return false;
|
||||
|
||||
// 检查token是否过期
|
||||
const expiresTime = uni.getStorageSync(TOKEN_EXPIRES_KEY) || 0;
|
||||
const nowTime = Math.floor(Date.now() / 1000);
|
||||
|
||||
// 如果当前时间超过过期时间,则返回未登录
|
||||
return nowTime < expiresTime;
|
||||
}
|
||||
|
||||
export default {
|
||||
setToken,
|
||||
getToken,
|
||||
removeToken,
|
||||
setUserInfo,
|
||||
getUserInfo,
|
||||
removeUserInfo,
|
||||
removeAll,
|
||||
isLogin
|
||||
};
|
||||
Reference in New Issue
Block a user