12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { useAuthStore } from '@/store/modules/auth';
- import { localStg } from '@/utils/storage';
- import { fetchRefreshToken } from '../api';
- import type { RequestInstanceState } from './type';
- export function getAuthorization() {
- const token = localStg.get('token');
- const Authorization = token ? `bearer${token}` : null;
- return Authorization;
- }
- /** refresh token */
- async function handleRefreshToken() {
- const { resetStore } = useAuthStore();
- const rToken = localStg.get('refreshToken') || '';
- const { error, data } = await fetchRefreshToken(rToken);
- if (!error) {
- localStg.set('token', data.token);
- localStg.set('refreshToken', data.refreshToken);
- return true;
- }
- resetStore();
- return false;
- }
- export async function handleExpiredRequest(state: RequestInstanceState) {
- if (!state.refreshTokenPromise) {
- state.refreshTokenPromise = handleRefreshToken();
- }
- const success = await state.refreshTokenPromise;
- setTimeout(() => {
- state.refreshTokenPromise = null;
- }, 1000);
- return success;
- }
- export function showErrorMsg(state: RequestInstanceState, message: string) {
- if (!state.errMsgStack?.length) {
- state.errMsgStack = [];
- }
- const isExist = state.errMsgStack.includes(message);
- if (!isExist) {
- state.errMsgStack.push(message);
- window.$message?.error(message, {
- onLeave: () => {
- state.errMsgStack = state.errMsgStack.filter(msg => msg !== message);
- setTimeout(() => {
- state.errMsgStack = [];
- }, 5000);
- }
- });
- }
- }
|