初步完成merchant和admin不同role的展示内容逻辑2
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user