wip
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user