Forráskód Böngészése

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

lifanagju_citu 10 hónapja
szülő
commit
fb0196fb93

+ 29 - 0
src/api/sign.js

@@ -0,0 +1,29 @@
+import request from '@/config/axios'
+
+// 签到
+export const createRewardSignInRecord = async () => {
+  return await request.post({
+    url: '/app-api/menduner/reward/sign-in/record/create'
+  })
+}
+
+// 获得个人签到统计
+export const getRewardSignInRecordSummary = async () => {
+  return await request.get({
+    url: '/app-api/menduner/reward/sign-in/record/get-summary'
+  })
+}
+
+// 获得签到记录分页
+export const getRewardSignInRecordPage = async (pageNo, pageSize) => {
+  return await request.get({
+    url: `/app-api/menduner/reward/sign-in/record/page?pageSize=${pageSize}&pageNo=${pageNo}`
+  })
+}
+
+// 获取签到规则列表
+export const getRewardSignInConfigList = async () => {
+  return await request.get({
+    url: '/app-api/menduner/reward/sign-in/config/list'
+  })
+}

+ 3 - 5
src/config/axios/service.js

@@ -3,7 +3,7 @@ import Snackbar from '@/plugins/snackbar'
 import Confirm from '@/plugins/confirm'
 import qs from 'qs'
 import { config } from '@/config/axios/config'
-import { getSuffixAfterPrefix } from '@/utils/prefixUrl'
+import { getSuffixAfterPrefix, showNextAction } from '@/utils/prefixUrl'
 import { getCurrentLocaleLang } from '@/utils/lang'
 import { enterpriseRefreshToken, userRefreshToken } from '@/api/common'
 import { getToken, getRefreshToken, removeToken, setToken, setRefreshToken } from '@/utils/auth'
@@ -107,10 +107,8 @@ service.interceptors.request.use(
 service.interceptors.response.use(
   async (response) => {
     if (response.config.url.includes(RETURNED_API)) {
-      console.log(response.data.data, '积分获取data')
-      if (!response.data.data) return
-      const { match, title, point } = response.data.data
-      if (match) Snackbar.success(`恭喜您${title}获得${point}积分`)
+      if (!response.data.data || !response.data.data.length) return
+      showNextAction(response.data.data)
       return
     }
     const { t } = useI18n()

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

@@ -38,8 +38,8 @@
           <!-- 头像用户名 -->
           <div class="d-flex align-center" v-if="getToken()">
             <a target="_blank" href="/purchasePackage" class="cursor-pointer mr-5" style="color: #FB8C00;">{{ $t('vipPackage.purchasePackage') }}</a>
-            <span class="cursor-pointer">{{ $t('sys.news') }}</span>
-            <span class="cursor-pointer ml-5" @click="router.push({ path: '/personalTaskCenter' })">{{ $t('sys.signIn') }}</span>
+            <span class="cursor-pointer" @click="router.push({ path: '/personalTaskCenter' })">{{ $t('sys.signIn') }}</span>
+            <span class="cursor-pointer ml-5">{{ $t('sys.news') }}</span>
             <v-menu open-on-hover>
               <template v-slot:activator="{ props }">
                 <div class="d-flex ml-5 pl-2 align-center cursor-pointer" v-bind="props" @click="handleToPersonalCenter">

+ 5 - 0
src/locales/en.js

@@ -233,6 +233,11 @@ export default {
     taskCenter: 'Task Center',
     suggestTask: 'Recommended tasks',
     dailyTask: 'Daily tasks',
+    signInSuccess: 'Sign in successfully',
+    signInDays: 'Sign In Days',
+    points: 'points',
+    createTime: 'CreateTime',
+    signInRecord: 'Sign In Record'
   },
   // 众聘
   publicRecruitment: {

+ 5 - 0
src/locales/zh-CN.js

@@ -233,6 +233,11 @@ export default {
     taskCenter: '任务中心',
     suggestTask: '推荐任务',
     dailyTask: '每日任务',
+    signInSuccess: '签到成功',
+    signInDays: '签到天数',
+    points: '获得积分数',
+    createTime: '获得时间',
+    signInRecord: '签到记录'
   },
   // 众聘
   publicRecruitment: {

+ 21 - 1
src/utils/prefixUrl.js

@@ -1,5 +1,6 @@
-const prefixList = ['/app-api', '/admin-api']
+import Snackbar from '@/plugins/snackbar'
 
+const prefixList = ['/app-api', '/admin-api']
 export const getSuffixAfterPrefix = (str) => {
   const matchingPrefix = prefixList.find(prefix => str.startsWith(prefix))
   if (matchingPrefix) {
@@ -12,4 +13,23 @@ export const getSuffixAfterPrefix = (str) => {
     else return matchUrl
   }
   return undefined
+}
+
+
+
+// 展示积分
+export function showNextAction(actions, currentIndex = 0) {
+  if (currentIndex < actions.length) {
+    const action = actions[currentIndex]
+    if (action.match) {
+      Snackbar.success(`恭喜您${action.title}获得${action.point}积分`)
+      setTimeout(() => {
+        showNextAction(actions, currentIndex + 1)
+      }, 3000)
+    } else {
+      setTimeout(() => {
+        showNextAction(actions, currentIndex + 1)
+      }, 0)
+    }
+  }
 }

+ 6 - 1
src/views/personal/components/integralShow.vue

@@ -11,7 +11,7 @@
         <!-- 积分商城 -->
         <template v-if="props.showMall">
           <span>积分土豪的都喜欢来这里,</span>
-          <span style="color: #10897be8; cursor: pointer;" @click="router.push({ path: '/pointsManagement'})">{{ $t('points.handpickMall') }}</span>
+          <span style="color: #10897be8; cursor: pointer;" @click="handleClickMall">{{ $t('points.handpickMall') }}</span>
         </template>
         <!-- 任务中心 -->
         <template v-if="props.taskCenter">
@@ -46,6 +46,11 @@ const integral = '135'
 const integralRulesClick = () => {
   window.open('/personalIntegralRules')
 }
+
+// 跳转臻选商城
+const handleClickMall = () => {
+  window.open('/pointsManagement')
+}
 </script>
 <style lang="scss" scoped>
 .statisticsBox {

+ 6 - 6
src/views/personal/taskCenter/components/daily.vue

@@ -24,12 +24,12 @@
 <script setup>
 defineOptions({name: 'personal-taskCenter-daily'})
 const list = [
-  { title: '收藏5个职位', 奖励积分数: '5', 状态: 0 },
-  { title: '收藏5个公司', 奖励积分数: '5', 状态: 1 },
-  { title: '投递简历10次', 奖励积分数: '10', 状态: 0 },
-  { title: '主动沟通10次', 奖励积分数: '10', 状态: 0 },
-  { title: '分享职位5次', 奖励积分数: '5', 状态: 1 },
-  { title: '推荐入职成功', 奖励积分数: '50', 状态: 0 },
+  { title: '收藏5个职位', 奖励积分数: '5', 状态: false },
+  { title: '收藏5个公司', 奖励积分数: '5', 状态: true },
+  { title: '投递简历10次', 奖励积分数: '10', 状态: false },
+  { title: '主动沟通10次', 奖励积分数: '10', 状态: false },
+  { title: '分享职位5次', 奖励积分数: '5', 状态: true },
+  { title: '推荐入职成功', 奖励积分数: '50', 状态: false },
 ]
 </script>
 <style lang="scss" scoped>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 6 - 2
src/views/personal/taskCenter/components/signIn.vue


+ 6 - 6
src/views/personal/taskCenter/components/suggest.vue

@@ -24,12 +24,12 @@
 <script setup>
 defineOptions({name: 'personal-taskCenter-suggest'})
 const list = [
-  { title: '首次登录奖励', 奖励积分数: '5', 状态: 1 },
-  { title: '上传个人头像', 奖励积分数: '10', 状态: 0 },
-  { title: '完成工作经历', 奖励积分数: '5', 状态: 1 },
-  { title: '首次投递简历并主动沟通', 奖励积分数: '5', 状态: 1 },
-  { title: '个人简历被企业接收并回复', 奖励积分数: '20', 状态: 0 },
-  { title: '购买会员服务费', 奖励积分数: '20', 状态: 0 },
+  { title: '首次登录奖励', 奖励积分数: '5', 状态: true },
+  { title: '上传个人头像', 奖励积分数: '10', 状态: false },
+  { title: '完成工作经历', 奖励积分数: '5', 状态: true },
+  { title: '首次投递简历并主动沟通', 奖励积分数: '5', 状态: true },
+  { title: '个人简历被企业接收并回复', 奖励积分数: '20', 状态: false },
+  { title: '购买会员服务费', 奖励积分数: '20', 状态: false },
 ]
 </script>
 <style lang="scss" scoped>

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott