Browse Source

fix: type

main
xingyu 2 years ago
parent
commit
77739a6259
  1. 2
      src/api/base/login.ts
  2. 2
      src/settings/designSetting.ts
  3. 8
      src/utils/auth/index.ts
  4. 6
      src/utils/http/axios/Axios.ts
  5. 2
      src/utils/http/axios/index.ts

2
src/api/base/login.ts

@ -14,7 +14,7 @@ enum Api {
// 刷新访问令牌 // 刷新访问令牌
export function refreshToken() { export function refreshToken() {
const refreshToken = getRefreshToken() const refreshToken: string = getRefreshToken()
return defHttp.post({ url: Api.RefreshToken + refreshToken }) return defHttp.post({ url: Api.RefreshToken + refreshToken })
} }

2
src/settings/designSetting.ts

@ -1,6 +1,6 @@
import { ThemeEnum } from '../enums/appEnum' import { ThemeEnum } from '../enums/appEnum'
export const prefixCls = 'vben' export const prefixCls = 'xingyuv'
export const darkMode = ThemeEnum.LIGHT export const darkMode = ThemeEnum.LIGHT

8
src/utils/auth/index.ts

@ -6,19 +6,19 @@ import projectSetting from '@/settings/projectSetting'
const { permissionCacheType } = projectSetting const { permissionCacheType } = projectSetting
const isLocal = permissionCacheType === CacheTypeEnum.LOCAL const isLocal = permissionCacheType === CacheTypeEnum.LOCAL
export function getAccessToken() { export function getAccessToken(): string {
return getAuthCache(ACCESS_TOKEN_KEY) return getAuthCache(ACCESS_TOKEN_KEY)
} }
export function setAccessToken(value) { export function setAccessToken(value: string) {
return setAuthCache(ACCESS_TOKEN_KEY, value) return setAuthCache(ACCESS_TOKEN_KEY, value)
} }
export function getRefreshToken() { export function getRefreshToken(): string {
return getAuthCache(REFRESH_TOKEN_KEY) return getAuthCache(REFRESH_TOKEN_KEY)
} }
export function setRefreshToken(value) { export function setRefreshToken(value: string) {
return setAuthCache(REFRESH_TOKEN_KEY, value) return setAuthCache(REFRESH_TOKEN_KEY, value)
} }

6
src/utils/http/axios/Axios.ts

@ -49,7 +49,7 @@ export class VAxios {
refreshToken() { refreshToken() {
axios.defaults.headers.common['tenant-id'] = getTenantId() as number axios.defaults.headers.common['tenant-id'] = getTenantId() as number
const refreshToken = getRefreshToken() as string const refreshToken = getRefreshToken()
return axios.post(`${globSetting.apiUrl}/system/auth/refresh-token?refreshToken=${refreshToken}`) return axios.post(`${globSetting.apiUrl}/system/auth/refresh-token?refreshToken=${refreshToken}`)
} }
@ -119,7 +119,7 @@ export class VAxios {
try { try {
const refreshTokenRes = await this.refreshToken() const refreshTokenRes = await this.refreshToken()
// 2.1 刷新成功,则回放队列的请求 + 当前请求 // 2.1 刷新成功,则回放队列的请求 + 当前请求
const refreshToken = getRefreshToken() as string const refreshToken = getRefreshToken()
setAccessToken(refreshTokenRes.data.data.accessToken) setAccessToken(refreshTokenRes.data.data.accessToken)
;(config as Recordable).headers.Authorization = `Bearer ${refreshToken}` ;(config as Recordable).headers.Authorization = `Bearer ${refreshToken}`
requestList.forEach((cb: any) => { requestList.forEach((cb: any) => {
@ -145,7 +145,7 @@ export class VAxios {
else { else {
// 添加到队列,等待刷新获取到新的令牌 // 添加到队列,等待刷新获取到新的令牌
return new Promise((resolve) => { return new Promise((resolve) => {
const refreshToken = getRefreshToken() as string const refreshToken = getRefreshToken()
requestList.push(() => { requestList.push(() => {
;(config as Recordable).headers.Authorization = `Bearer ${refreshToken}` // 让每个请求携带自定义token 请根据实际情况自行修改 ;(config as Recordable).headers.Authorization = `Bearer ${refreshToken}` // 让每个请求携带自定义token 请根据实际情况自行修改
resolve(this.axiosInstance(config)) resolve(this.axiosInstance(config))

2
src/utils/http/axios/index.ts

@ -174,7 +174,7 @@ const transform: AxiosTransform = {
*/ */
requestInterceptors: (config, options) => { requestInterceptors: (config, options) => {
// 是否需要设置 token // 是否需要设置 token
let isToken = (config as Recordable)?.requestOptions?.withToken == false let isToken = (config as Recordable)?.requestOptions?.withToken === false
whiteList.some((v) => { whiteList.some((v) => {
if (config.url) { if (config.url) {
config.url.includes(v) config.url.includes(v)