detection-business/utils/auth.js
2024-12-12 18:51:08 +08:00

63 lines
1.5 KiB
JavaScript

const TokenKey = 'App-Token'
const TenantIdKey = 'TENANT_ID'
export function getToken() {
return uni.getStorageSync(TokenKey)
}
export function setToken(token) {
return uni.setStorageSync(TokenKey, token)
}
export function removeToken() {
return uni.removeStorageSync(TokenKey)
}
export function setTenantId(TenantId) {
return uni.setStorageSync(TenantIdKey, TenantId);
}
export function getTenantId(){
return uni.getStorageSync(TenantIdKey)
}
export function hasRole(roleCode) {
const roleList = uni.getStorageSync('role')
if (roleList && roleList.length > 0) {
const roleInfo = roleList.find(f => f.code === roleCode)
if (roleInfo) {
return true
}
}
return false
}
// 设置本地存储,并设置一个过期时间(单位为秒)
export function setStorageWithExpiry(key, value, ttl) {
const now = new Date();
// 计算过期时间
const item = {
value: value,
expiry: now.getTime() + ttl * 1000,
};
// 将数据对象转换为字符串存储
uni.setStorageSync(key, JSON.stringify(item));
}
// 获取本地存储的数据,检查是否过期
export function getStorageWithExpiry(key) {
// 从本地存储获取数据
const itemStr = uni.getStorageSync(key);
if (!itemStr) {
return null; // 未找到数据
}
const item = JSON.parse(itemStr);
const now = new Date();
// 检查项目是否过期
if (now.getTime() > item.expiry) {
// 如果过期,从存储中移除该项
uni.removeStorageSync(key);
return null;
}
return item.value; // 数据未过期,返回数据
}