Pārlūkot izejas kodu

退出登录、令牌刷新接口区分个人端、企业端

Xiao_123 11 mēneši atpakaļ
vecāks
revīzija
5fd3b941e4

+ 1 - 1
src/api/common/index.js

@@ -67,7 +67,7 @@ export const logout = async () => {
 // 根据令牌退出登录
 export const logoutToken = async (token) => {
   return await request.post({
-    url: `/app-api/menduner/system/auth/logout-token?token=${token}`
+    url: `/app-admin-api/menduner/system/enterprise/auth/logout-token?token=${token}`
   })
 }
 

+ 4 - 1
src/config/axios/service.js

@@ -192,7 +192,10 @@ service.interceptors.response.use(
 
 const refreshToken = async () => {
   axios.defaults.headers.common['tenant-id'] = import.meta.env.VITE_TENANTCODE
-  return await axios.post(base_url + '/app-api/menduner/system/auth/refresh-token?refreshToken=' + getRefreshToken())
+  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()

+ 1 - 1
src/layout/company/navBar.vue

@@ -110,7 +110,7 @@ const enterpriseClick = (tabKey = 1) => {
 
 // 退出登录
 const handleLogout = async () => {
-  await userStore.userLogout()
+  await userStore.userLogout(2)
   router.push({ path: '/login' })
 }
 

+ 1 - 1
src/layout/personal/navBar.vue

@@ -172,7 +172,7 @@ const handleToPersonalCenter = () => {
 
 // 退出登录
 const handleLogout = async () => {
-  await userStore.userLogout()
+  await userStore.userLogout(1)
   router.push({ path: '/login' })
 }
 

+ 9 - 10
src/store/user.js

@@ -1,7 +1,6 @@
 import { defineStore } from 'pinia'
 import { setToken, removeToken, setRefreshToken, getToken } from '@/utils/auth'
-import { smsLogin, passwordLogin, getBaseInfo, passwordLoginOfEnterprise, smsLoginOfEnterprise, switchLoginOfEnterprise } from '@/api/common/index'
-import { getEnterprisingUserInfo, logoutToken } from '@/api/common/index'
+import { smsLogin, passwordLogin, getBaseInfo, passwordLoginOfEnterprise, smsLoginOfEnterprise, switchLoginOfEnterprise, getEnterprisingUserInfo, logoutToken, logout } from '@/api/common'
 import { getUserInfo } from '@/api/personal/user'
 import Snackbar from '@/plugins/snackbar'
 import { timesTampChange } from '@/utils/date'
@@ -89,30 +88,30 @@ export const useUserStore = defineStore('user',
         return data
       },
       // 退出登录
-      async userLogout () {
-        // const loginUserPhone = this.userInfo?.phone || ''
-        await logoutToken(getToken())
+      async userLogout (type) {
+        // type: 1求职端 2招聘端
+        if (type === 1) {
+          await logout()
+        } else await logoutToken(getToken())
         removeToken()
         this.userInfo = {}
         this.baseInfo = {}
         this.accountInfo = {}
-        // const companyInfo = localStorage.getItem('companyInfo')
         localStorage.clear()
-        // localStorage.setItem('companyInfo', companyInfo)
-        // localStorage.setItem('loginUserPhone', loginUserPhone)
       },
       // 切换为招聘者
       async changeRole (enterpriseId) {
         // 先退出个人登录
-        const token = getToken()
-        await logoutToken(token)
+        await logout()
 
         const data = await switchLoginOfEnterprise({ enterpriseId })
         setToken(data.accessToken)
         setRefreshToken(data.refreshToken)
         localStorage.setItem('accountInfo', JSON.stringify(data))
         localStorage.setItem('expiresTime', data.expiresTime)
+        localStorage.setItem('currentRole', 'enterprise')
         await this.getEnterpriseInfo()
+        Snackbar.success('切换成功')
       },
       // 获取当前登录的企业用户信息
       async getEnterpriseInfo () {