初步完成merchant和admin不同role的展示内容逻辑2

This commit is contained in:
2026-03-12 16:07:38 +08:00
parent f19dd093bf
commit a81509e1fc
11 changed files with 124 additions and 39 deletions

View File

@@ -7,6 +7,29 @@ const REFRESH_TOKEN_KEY = 'akreq_refresh_token';
const EXPIRES_AT_KEY = 'akreq_expires_at';
// 优化:用静态变量缓存 token只有 set/clear 时同步 storage
// Web 端(H5)由于多账号联调需要,开启单 Tab 隔离的储流sessionStorage
function setAuthStore(key : string, value : any) {
// #ifdef H5
sessionStorage.setItem(key, String(value));
return;
// #endif
uni.setStorageSync(key, value);
}
function getAuthStore(key : string) : any | null {
// #ifdef H5
return sessionStorage.getItem(key);
// #endif
return uni.getStorageSync(key);
}
function removeAuthStore(key : string) {
// #ifdef H5
sessionStorage.removeItem(key);
return;
// #endif
uni.removeStorageSync(key);
}
let _accessToken : string | null = null;
let _refreshToken : string | null = null;
let _expiresAt : number | null = null;
@@ -16,25 +39,25 @@ export class AkReq {
_accessToken = token;
_refreshToken = refreshToken;
_expiresAt = expiresAt;
uni.setStorageSync(ACCESS_TOKEN_KEY, token);
uni.setStorageSync(REFRESH_TOKEN_KEY, refreshToken);
uni.setStorageSync(EXPIRES_AT_KEY, expiresAt);
setAuthStore(ACCESS_TOKEN_KEY, token);
setAuthStore(REFRESH_TOKEN_KEY, refreshToken);
setAuthStore(EXPIRES_AT_KEY, expiresAt);
}
static getToken() : string | null {
if (_accessToken != null) return _accessToken;
const t = uni.getStorageSync(ACCESS_TOKEN_KEY) as string | null;
const t = getAuthStore(ACCESS_TOKEN_KEY) as string | null;
_accessToken = t;
return t;
}
static getRefreshToken() : string | null {
if (_refreshToken != null) return _refreshToken;
const t = uni.getStorageSync(REFRESH_TOKEN_KEY) as string | null;
const t = getAuthStore(REFRESH_TOKEN_KEY) as string | null;
_refreshToken = t;
return t;
} static getExpiresAt() : number | null {
const val = _expiresAt;
if (val != null) return val;
const t = uni.getStorageSync(EXPIRES_AT_KEY) as number | null;
const t = getAuthStore(EXPIRES_AT_KEY) as number | null;
_expiresAt = t;
return t;
}
@@ -42,9 +65,9 @@ export class AkReq {
_accessToken = null;
_refreshToken = null;
_expiresAt = null;
uni.removeStorageSync(ACCESS_TOKEN_KEY);
uni.removeStorageSync(REFRESH_TOKEN_KEY);
uni.removeStorageSync(EXPIRES_AT_KEY);
removeAuthStore(ACCESS_TOKEN_KEY);
removeAuthStore(REFRESH_TOKEN_KEY);
removeAuthStore(EXPIRES_AT_KEY);
} // 判断 token 是否即将过期提前5分钟刷新
static isTokenExpiring() : boolean {
const expiresAt = this.getExpiresAt();