refactor: 修复退出登录后token不更新的bug

pull/13/head
moonrailgun 4 years ago
parent 473f8c2b60
commit 6cc9440102

@ -47,7 +47,7 @@ export { useUpdateRef } from './hooks/useUpdateRef';
export { buildRegList } from './manager/buildRegList';
export { buildRegMap } from './manager/buildRegMap';
export { getStorage, setStorage, useStorage } from './manager/storage';
export { setTokenGetter } from './manager/request';
export { setTokenGetter, refreshTokenGetter } from './manager/request';
export { setServiceUrl } from './manager/service';
export {
showToasts,

@ -1,6 +1,5 @@
import _isFunction from 'lodash/isFunction';
import _isEqual from 'lodash/isEqual';
import { isPromise } from '../utils/is-promise';
/**
* get set

@ -5,5 +5,5 @@ export const [getErrorHook, setErrorHook] = buildRegFn<(err: any) => boolean>(
() => true
);
export const [tokenGetter, setTokenGetter] =
export const [tokenGetter, setTokenGetter, refreshTokenGetter] =
buildCachedRegFnAsync<() => Promise<string>>('requestTokenGetter');

@ -1,7 +1,7 @@
import _isObject from 'lodash/isObject';
import _isNull from 'lodash/isNull';
import jwtDecode from 'jwt-decode';
import { getStorage } from 'tailchat-shared';
import { getStorage, refreshTokenGetter } from 'tailchat-shared';
/**
* jwt(json)
@ -28,6 +28,7 @@ export async function setUserJWT(jwt: string | null): Promise<void> {
_userJWT = jwt; // 更新内存中的缓存
await getStorage().set('jsonwebtoken', jwt);
refreshTokenGetter();
}
/**
@ -36,6 +37,7 @@ export async function setUserJWT(jwt: string | null): Promise<void> {
export async function getUserJWT(): Promise<string> {
if (_isNull(_userJWT)) {
const jwt = await getStorage().get('jsonwebtoken');
_userJWT = jwt; // 将其缓存到内存中
return jwt;

Loading…
Cancel
Save