浏览代码

积分获取

Xiao_123 10 月之前
父节点
当前提交
61f2323775

+ 14 - 2
src/config/axios/service.js

@@ -3,6 +3,7 @@ import Snackbar from '@/plugins/snackbar'
 import Confirm from '@/plugins/confirm'
 import qs from 'qs'
 import { config } from '@/config/axios/config'
+import { useUserStore } from '@/store/user'
 import { getSuffixAfterPrefix, showNextAction } from '@/utils/prefixUrl'
 import { getCurrentLocaleLang } from '@/utils/lang'
 import { enterpriseRefreshToken, userRefreshToken } from '@/api/common'
@@ -42,6 +43,7 @@ const eventRules = localStorage.getItem('eventList')
 const requestCompletionTrigger = (eventRules ? JSON.parse(eventRules) : []).filter(_e => _e.type === '0')
 // 点击触发
 const clickTrigger = (eventRules ? JSON.parse(eventRules) : []).filter(_e => _e.type === '1')
+const loginType = localStorage.getItem('loginType')
 
 // 创建axios实例
 const service = axios.create({
@@ -53,6 +55,7 @@ const service = axios.create({
 // request拦截器
 service.interceptors.request.use(
   (config) => {
+    const userStore = useUserStore()
     config.headers['Accept-Language'] = getCurrentLocaleLang() ?? 'zh_CN'
     // 是否需要设置 token
     let isToken = (config.headers || {}).isToken === false
@@ -92,7 +95,7 @@ service.interceptors.request.use(
     if (!url || !clickTrigger.length) return config
     const _obj = clickTrigger.find(e => e.url === url)
     if (_obj) {
-      rewardEventTrackClick(_obj.url)
+      getIntegral(_obj.url, userStore)
     }
     return config
   },
@@ -106,6 +109,7 @@ service.interceptors.request.use(
 // response 拦截器
 service.interceptors.response.use(
   async (response) => {
+    const userStore = useUserStore()
     if (response.config.url.includes(RETURNED_API)) {
       if (!response.data.data || !response.data.data.length) return
       showNextAction(response.data.data)
@@ -204,7 +208,7 @@ service.interceptors.response.use(
       return response.config.url.includes(_e.url)
     })
     if (_list.length) {
-      rewardEventTrackClick(_list.pop().url)
+      getIntegral(_list.pop().url, userStore)
     }
     return data
   },
@@ -243,4 +247,12 @@ const handleAuthorized = () => {
   }
   return Promise.reject(t('sys.api.timeoutMessage'))
 }
+
+// 触发获取积分
+const getIntegral = (url, store) => {
+  rewardEventTrackClick(url).then(() => {
+    if (loginType && loginType === 'enterprise') store.getEnterpriseUserAccountInfo()
+    else store.getUserAccountInfo()
+  })
+}
 export { service }

+ 0 - 1
src/router/modules/remaining.js

@@ -51,6 +51,5 @@ const routeArray = [
   ...recruit,
   ...common
 ]
-console.log('recruit', recruit)
 
 export default routeArray

+ 5 - 5
src/utils/prefixUrl.js

@@ -18,17 +18,17 @@ export const getSuffixAfterPrefix = (str) => {
 
 
 // 展示积分
-export function showNextAction(actions, currentIndex = 0) {
-  if (currentIndex < actions.length) {
-    const action = actions[currentIndex]
+export function showNextAction (list, currentIndex = 0) {
+  if (currentIndex < list.length) {
+    const action = list[currentIndex]
     if (action.match) {
       Snackbar.success(`恭喜您${action.title}获得${action.point}积分`)
       setTimeout(() => {
-        showNextAction(actions, currentIndex + 1)
+        showNextAction(list, currentIndex + 1)
       }, 3000)
     } else {
       setTimeout(() => {
-        showNextAction(actions, currentIndex + 1)
+        showNextAction(list, currentIndex + 1)
       }, 0)
     }
   }

+ 1 - 1
src/views/recruit/enterprise/positionManagement/components/item.vue

@@ -57,7 +57,7 @@
               <span class="lines"></span>
             </div>
             <span class="cursor-pointer" @click="handleToStatistics">{{ $t('position.recruitmentStatistics') }}</span>
-            <div v-if="tab !== 3">
+            <div v-if="[3, 4].indexOf(tab) === -1">
               <span class="lines"></span>
               <span class="cursor-pointer" @click="handleEdit(val)">{{ $t('common.edit') }}</span>
             </div>