From 881298cce9f949028246d63ac505af27fa988f33 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Mon, 22 Jul 2024 15:46:07 +0800 Subject: [PATCH] =?UTF-8?q?token=E8=BF=87=E6=9C=9F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/Login/index.ts | 5 +++++ src/utils/request/request.ts | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/api/Login/index.ts b/src/api/Login/index.ts index 04a955b..6bea0ce 100644 --- a/src/api/Login/index.ts +++ b/src/api/Login/index.ts @@ -11,4 +11,9 @@ export const PostLogin = (data: any) => method: 'post', data, }) +export const PostRefresh = (refreshToken: string) => + request({ + url: `auth/refresh?refreshToken=${refreshToken}`, + method: 'post', + }) diff --git a/src/utils/request/request.ts b/src/utils/request/request.ts index 08648a4..bd981b5 100644 --- a/src/utils/request/request.ts +++ b/src/utils/request/request.ts @@ -1,8 +1,9 @@ import axios, { AxiosInstance, AxiosResponse } from 'axios' import { RequestConfig, RequestInterceptors } from './types' -import { storage } from '@/utils' +import { request, storage } from '@/utils' import { constant } from '@/config' import { message } from 'antd'; +import { PostRefresh } from '@/api/Login'; class Request { // axios实例 instance: AxiosInstance @@ -61,13 +62,22 @@ class Request { }, (err: any) => { function toLogin() { - storage.removeItem('user') - location.href = location.origin + '/#/login' + let user = JSON.parse(storage.getItem('user') as string); + if (user) { + PostRefresh(user.refresh_token).then(res => { + if (res.code == 200) { + storage.setItem('user', JSON.stringify(res.data)) + location.reload() + } + }) + } else { + storage.removeItem('user') + location.href = location.origin + '/#/login' + } } // 根据自己业务/接口返回做相应调整 if (err.response) { const { status } = err.response - message.error(err.message) switch (status) { case 401: toLogin() @@ -75,6 +85,9 @@ class Request { case 403: toLogin() break + default: + message.error(err.message) + break; } } else { message.error(err.message)