This commit is contained in:
xd
2025-06-05 22:47:41 +08:00
parent ed99c7b1ae
commit 6805b590c7
17 changed files with 144 additions and 56 deletions

View File

@ -107,14 +107,14 @@ class Http {
url: BASE_URL + url,
data,
method: method,
header: { 'content-type': contentType /*, 'user-Id': '588002047871053824' */ },
header: { 'content-type': contentType /*'user-Id': '588002047871053824' */ },
};
return this.request(option);
};
async init() {
async init(inviteCode?: string) {
if (isTokenExpired()) {
await refreshToken();
await refreshToken(inviteCode);
}
}

View File

@ -1,6 +1,6 @@
import Taro from '@tarojs/taro';
import { getRoleType } from '@/utils/app';
import { getRoleTypeWithDefault } from '@/utils/app';
import { isDev } from '@/utils/common';
import { getToken } from './utils';
@ -20,7 +20,7 @@ const tokenInterceptor: Taro.interceptor = (chain: Taro.Chain) => {
const roleInterceptor: Taro.interceptor = (chain: Taro.Chain) => {
const requestParams = chain.requestParams;
const roleType = getRoleType();
const roleType = getRoleTypeWithDefault();
requestParams.header = {
...requestParams.header,
'role-type': roleType,

View File

@ -24,10 +24,10 @@ const clearToken = () => {
Taro.setStorageSync(TOKEN_EXPIRES_TIME, 0);
};
const requestToken = (): Promise<string> => {
const requestToken = (inviteCode?: string): Promise<string> => {
return getCode()
.then(code => {
return http.post<LoginResponse>(API.LOGIN, { data: { code } }).then(data => {
return http.post<LoginResponse>(API.LOGIN, { data: { code, inviteCode } }).then(data => {
const newToken = data?.token || '';
const expires = data?.expires || 0;
if (newToken) {
@ -47,12 +47,12 @@ const requestToken = (): Promise<string> => {
export const isTokenExpired = () => (Taro.getStorageSync(TOKEN_EXPIRES_TIME) || 0) < Date.now();
export const refreshToken = () => {
export const refreshToken = (inviteCode?: string) => {
if (_fetchTokenPromise) {
return _fetchTokenPromise;
}
clearToken();
_fetchTokenPromise = requestToken();
_fetchTokenPromise = requestToken(inviteCode);
return _fetchTokenPromise;
};