|
@@ -1,5 +1,7 @@
|
|
|
+import { refreshToken } from '@/core/libs/requests'
|
|
|
import { CustomRequestOptions } from '@/interceptors/request'
|
|
|
import { useUserStore } from '@/store'
|
|
|
+import dayjs from 'dayjs'
|
|
|
|
|
|
const userStore = useUserStore()
|
|
|
const Authorization = userStore.userInfo.token
|
|
@@ -8,7 +10,25 @@ const header = {
|
|
|
'tenant-id': 1,
|
|
|
Authorization,
|
|
|
}
|
|
|
-export const http = <T>(options: CustomRequestOptions) => {
|
|
|
+export const http = async <T>(options: CustomRequestOptions) => {
|
|
|
+ const userStore = useUserStore()
|
|
|
+ // console.log(dayjs(userStore.userInfo.expiresTime).format('YYYY-MM-DD HH:mm:ss'))
|
|
|
+ const diff = dayjs(userStore.userInfo.expiresTime).diff(dayjs(), 'minutes')
|
|
|
+ // console.log(diff)
|
|
|
+ if (diff < 10 && options.url !== '/app-api/member/auth/refresh-token') {
|
|
|
+ const { data } = await refreshToken(userStore.userInfo.refreshToken)
|
|
|
+
|
|
|
+ userStore.setUserInfo({
|
|
|
+ ...userStore.userInfo,
|
|
|
+ token: data.accessToken,
|
|
|
+ userId: data.userId,
|
|
|
+ accessToken: data.accessToken,
|
|
|
+ refreshToken: data.refreshToken,
|
|
|
+ expiresTime: data.expiresTime,
|
|
|
+ // openid: data.openid,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
// 1. 返回 Promise 对象
|
|
|
return new Promise<IResData<T>>((resolve, reject) => {
|
|
|
uni.request({
|