瀏覽代碼

token刷新

Xiao_123 11 月之前
父節點
當前提交
ef7559f498
共有 3 個文件被更改,包括 21 次插入11 次删除
  1. 14 0
      src/api/common/index.js
  2. 6 11
      src/config/axios/service.js
  3. 1 0
      src/views/login/index.vue

+ 14 - 0
src/api/common/index.js

@@ -177,4 +177,18 @@ export const getEnterprisingUserInfo = async (params) => {
     url: '/app-admin-api/menduner/system/user/get',
     params
   })
+}
+
+// 招聘端-刷新令牌token
+export const enterpriseRefreshToken = async (refreshToken) => {
+  return await request.post({
+    url: `/app-admin-api/menduner/system/enterprise/auth/refresh-token?refreshToken=${refreshToken}`
+  })
+}
+
+// 求职端-刷新令牌token
+export const userRefreshToken = async (refreshToken) => {
+  return await request.post({
+    url: `/app-api/menduner/system/auth/refresh-token?refreshToken=${refreshToken}`
+  })
 }

+ 6 - 11
src/config/axios/service.js

@@ -4,8 +4,8 @@ import Confirm from '@/plugins/confirm'
 import qs from 'qs'
 import { config } from '@/config/axios/config'
 import { getCurrentLocaleLang } from '@/utils/lang'
+import { enterpriseRefreshToken, userRefreshToken } from '@/api/common'
 import { getToken, getRefreshToken, removeToken, setToken, setRefreshToken } from '@/utils/auth'
-// import { getToken, getRefreshToken, getTenantId, removeToken, setToken } from '@/utils/auth'
 import errorCode from './errorCode'
 
 import { useI18n } from '@/hooks/web/useI18n'
@@ -123,11 +123,13 @@ service.interceptors.response.use(
           return handleAuthorized()
         }
         // 2. 进行刷新访问令牌
+        const currentRole = localStorage.getItem('currentRole') // 有则是招聘端
         try {
-          const refreshTokenRes = await refreshToken()
           // 2.1 刷新成功,则回放队列的请求 + 当前请求
-          setToken(refreshTokenRes.data.data.accessToken)
-          setRefreshToken(refreshTokenRes.data.data.refreshToken)
+          const data = currentRole ? await enterpriseRefreshToken(getRefreshToken()) : await userRefreshToken(getRefreshToken())
+          setToken(data.accessToken)
+          setRefreshToken(data.refreshToken)
+
           config.headers.Authorization = 'Bearer ' + getToken()
           requestList.forEach((cb) => {
             cb()
@@ -190,13 +192,6 @@ service.interceptors.response.use(
   }
 )
 
-const refreshToken = async () => {
-  axios.defaults.headers.common['tenant-id'] = import.meta.env.VITE_TENANTCODE
-  const currentRole = localStorage.getItem('currentRole')
-  // currentRole: 有则是招聘端
-  const api = currentRole ? '/app-admin-api/menduner/system/enterprise/auth/refresh-token?refreshToken=' : '/app-api/menduner/system/auth/refresh-token?refreshToken='
-  return await axios.post(base_url + api + getRefreshToken())
-}
 const handleAuthorized = () => {
   const { t } = useI18n()
   if (!isReLogin.show) {

+ 1 - 0
src/views/login/index.vue

@@ -123,6 +123,7 @@ const beforeHandleLogin = async (params) => {
   return bool
 }
 const handleLogin = async () => {
+  localStorage.removeItem('currentRole')
   const { valid } = tab.value ? await phoneRef.value.phoneForm.validate() : await passRef.value.passwordForm.validate()
   if (!valid) return
   loginLoading.value = true