Browse Source

企业和个人信息改为使用不同字段(因为会同时存在)

lifanagju_citu 8 months ago
parent
commit
330c332556
1 changed files with 14 additions and 14 deletions
  1. 14 14
      src/store/user.js

+ 14 - 14
src/store/user.js

@@ -32,6 +32,7 @@ export const useUserStore = defineStore('user',
       accountInfo: localStorage.getItem('accountInfo') ? JSON.parse(localStorage.getItem('accountInfo')) : {}, // 登录返回的信息
       userInfo: localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : {}, // 当前登录账号信息
       baseInfo: localStorage.getItem('baseInfo') ? JSON.parse(localStorage.getItem('baseInfo')) : {}, // 人才信息
+      entBaseInfo: localStorage.getItem('entBaseInfo') ? JSON.parse(localStorage.getItem('entBaseInfo')) : {}, // 企业个人信息
       userAccount: {}, // 用户账户信息
       enterpriseUserAccount: {} // 企业账户信息
     }),
@@ -41,13 +42,11 @@ export const useUserStore = defineStore('user',
         return new Promise((resolve, reject) => {
           const loginApi = data.loginType === 330 ? smsLoginOfEnterprise : smsLogin
           loginApi(data).then(async res => {
-            // this.loginType = data.loginType
             setToken(res.accessToken)
             setRefreshToken(res.refreshToken)
             this.accountInfo = res
             localStorage.setItem('accountInfo', JSON.stringify(res))
             localStorage.setItem('expiresTime', res.expiresTime) // token过期时间
-            localStorage.setItem('loginType', 'personal')
             await this.getUserInfos()
             this.getUserBaseInfos()
             resolve()
@@ -65,7 +64,6 @@ export const useUserStore = defineStore('user',
             this.accountInfo = res
             localStorage.setItem('accountInfo', JSON.stringify(res))
             localStorage.setItem('expiresTime', res.expiresTime) // token过期时间
-            localStorage.setItem('loginType', 'personal')
             this.getUserInfos()
             this.getUserBaseInfos()
             resolve()
@@ -75,8 +73,8 @@ export const useUserStore = defineStore('user',
       // 获取当前登录账户信息
       async getUserInfos () {
         try {
-          const api = localStorage.getItem('loginType') === 'enterprise' ? getEnterprisingUserInfo : getUserInfo
-          const data = await api({ id: this.accountInfo.userId })
+          // const api = getIsEnterprise() ? getEnterprisingUserInfo : getUserInfo
+          const data = await getUserInfo({ id: this.accountInfo.userId })
           this.userInfo = data
           localStorage.setItem('userInfo', JSON.stringify(data))
           updateEventList(true) // 获取规则配置跟踪列表
@@ -88,9 +86,8 @@ export const useUserStore = defineStore('user',
       // 获取当前登录账户的基本信息(人才信息)
       async getUserBaseInfos (userId = null) {
         try {
-          const api = localStorage.getItem('loginType') === 'enterprise' ? null : getBaseInfo
-          if (!api) return
-          const data = await api({ userId: userId || this.accountInfo.userId })
+          // const api = getIsEnterprise() ? null : getBaseInfo
+          const data = await getBaseInfo({ userId: userId || this.accountInfo.userId })
           if (!data) return localStorage.setItem('baseInfo', '{}')
           this.baseInfo = await this.getFieldText(data)
           localStorage.setItem('baseInfo', JSON.stringify(this.baseInfo))
@@ -125,20 +122,22 @@ export const useUserStore = defineStore('user',
         localStorage.clear()
       },
       // 切换为招聘者
-      async changeRole (enterpriseId) {
+      async changeRole () {
         // 先退出个人登录
-        await logout()
+        // await logout()
+        const enterpriseId = localStorage.getItem('enterpriseId') || ''
+        if (!enterpriseId) return Snackbar.error('切换失败,请重新登录!')
 
         const data = await switchLoginOfEnterprise({ enterpriseId })
-        setToken(data.accessToken)
-        setRefreshToken(data.refreshToken)
-        localStorage.setItem('loginType', 'enterprise')
+        setToken(data.accessToken, 1) // 个人切换企业->存放企业token
+        setRefreshToken(data.refreshToken, 1) // 个人切换企业->存放企业refreshToken
         localStorage.setItem('accountInfo', JSON.stringify(data))
         localStorage.setItem('expiresTime', data.expiresTime)
         localStorage.setItem('currentRole', 'enterprise')
         await this.getEnterpriseInfo()
         await this.getEnterpriseUserAccountInfo()
         updateEventList(false)
+        window.location.href = '/enterprise'
         Snackbar.success('切换成功')
       },
       // 获取当前登录的企业用户信息
@@ -150,7 +149,7 @@ export const useUserStore = defineStore('user',
         const isAdmin = result.userType === '1'
         localStorage.setItem('isAdmin', isAdmin)
 
-        localStorage.setItem('baseInfo', JSON.stringify(result))
+        localStorage.setItem('entBaseInfo', JSON.stringify(result))
       },
       // 获取企业账户信息
       async getEnterpriseUserAccountInfo () {
@@ -164,6 +163,7 @@ export const useUserStore = defineStore('user',
 
       // 获取《企业基本信息》
       async checkEnterpriseBaseInfo () {
+        await this.changeRole()
         const data = await getEnterpriseBaseInfo()
         // 检验必填信息
         const keyArr = ['industryId', 'financingStatus', 'scale', 'introduce', 'logoUrl'] // 必填信息列表