Browse Source

修改获取积分逻辑

aaa 3 years ago
parent
commit
8280c7c9b0
3 changed files with 60 additions and 25 deletions
  1. 10 0
      src/utils/date.js
  2. 23 12
      src/views/home/learn/page-learn-child.vue
  3. 27 13
      src/views/home/person/user-manual.vue

+ 10 - 0
src/utils/date.js

@@ -34,6 +34,16 @@ export function isToday(date) {
   return date.toDateString() === new Date().toDateString();
 }
 
+export function getTodayStr() {
+  const date = new Date();
+  const year = date.getFullYear();
+  const curMonth = date.getMonth() + 1;
+  const month = curMonth >= 10 ? "" + curMonth : "0" + curMonth;
+  const day = date.getDate() >= 10 ? "" + date.getDate() : "0" + date.getDate();
+  const todayStr = year + month + day;
+  return todayStr;
+}
+
 /**
  * 个位数,加0前缀
  * @param {*} number

+ 23 - 12
src/views/home/learn/page-learn-child.vue

@@ -1,6 +1,11 @@
 <template>
   <div class="contentBody" v-if="learnChildList.length > 0">
-    <van-tabs :active="active" type="line" line-height="0px" @click="childChange">
+    <van-tabs
+      :active="active"
+      type="line"
+      line-height="0px"
+      @click="childChange"
+    >
       <!-- 子目录 -->
       <van-tab
         v-for="(tabItem, tabIndex) in learnChildList"
@@ -8,7 +13,12 @@
         :title="tabItem.name"
         :title-style="titleStyle"
       >
-        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
+        <van-list
+          v-model="loading"
+          :finished="finished"
+          finished-text="没有更多了"
+          @load="onLoad"
+        >
           <van-cell
             v-for="(contentItem, contentIndex) in contentList"
             :key="contentIndex"
@@ -17,18 +27,23 @@
             <div slot="default" class="contentItemDiv">
               <div class="contentItemTitleTitleRow">
                 <div class="contentItemTitle">{{ contentItem.name }}</div>
-                <div v-if="contentItem.isNeedStudyToday" class="contentItemstates">今日必学</div>
+                <div
+                  v-if="contentItem.isNeedStudyToday"
+                  class="contentItemstates"
+                >
+                  今日必学
+                </div>
               </div>
               <div class="contentItemDescription">
                 <div class="contentItemDescriptionTime">
                   {{
-                  formateDatesFun(contentItem.createdTime) ||
-                  contentItem.createdTime
+                    formateDatesFun(contentItem.createdTime) ||
+                    contentItem.createdTime
                   }}
                 </div>
                 <div class="contentItemDescriptionStudyNeedTime">
                   所需学习时间:{{
-                  getTimeHoursMinuteSecondsFun(contentItem.readTimeInSec)
+                    getTimeHoursMinuteSecondsFun(contentItem.readTimeInSec)
                   }}
                 </div>
               </div>
@@ -41,6 +56,7 @@
 </template>
 
 <script>
+import { getTodayStr } from "@/utils/date";
 export default {
   name: "page-learn-child",
   components: {},
@@ -109,12 +125,7 @@ export default {
     },
     // 判断是否今日必学
     formatNeedStudyTodayFun(datas) {
-      let date = new Date();
-      let year = date.getFullYear();
-      let month = date.getMonth() + 1;
-      month = month >= 10 ? "" + month : "0" + month;
-      let day = date.getDate();
-      let todayStr = year + month + day;
+      let todayStr = getTodayStr();
       datas.forEach(item => {
         item.tags.forEach(itemChild => {
           if (itemChild === todayStr) {

+ 27 - 13
src/views/home/person/user-manual.vue

@@ -54,6 +54,7 @@
 
 <script>
 import { mapState } from "vuex";
+import { getTodayStr } from "@/utils/date";
 export default {
   name: "user-manual",
   components: {},
@@ -63,15 +64,17 @@ export default {
       eventList: [
         {
           name: "今日必答",
+          type: "DAILY_QUESTIONS",
           rule: "2分/每次进入应用",
           isFinish: false,
-          getPoints: 2,
+          getPoints: 0,
           totaPonits: 6,
           rightButton: "去答题",
           router: ""
         },
         {
           name: "今日必读",
+          type: "LEARNING_COMPLETE",
           rule: "2分/每有效观看一个视频",
           isFinish: false,
           getPoints: 0,
@@ -79,18 +82,17 @@ export default {
           rightButton: "去看看",
           router: ""
         }
-        // ,
-        // {
-        //   name: "每周必答",
-        //   rule: "2分/每发表一个有效观点",
-        //   isFinish: false,
-        //   getPoints: 0,
-        //   totaPonits: 6,
-        //   rightButton: "去答题"
-        // }
       ],
       userTotalPonits: 0, // 用户的总积分
-      todayEarnPoints: 0 // 今日已累计的积分
+      todayEarnPoints: 0, // 今日已累计的积分
+      sumPointsObj: {
+        LOGIN: 0, // 登录
+        DAILY_QUESTIONS: 0, // 每日答题
+        WEEKLY_QUESTIONS: 0, // 每周考试
+        READ_5_MINS: 0, // 阅读时长
+        READ_2_HOURS: 0, // 阅读时长
+        LEARNING_COMPLETE: 0 // 阅读完成
+      }
     };
   },
   mounted() {
@@ -106,17 +108,29 @@ export default {
     getEvents() {
       let path = {
         userName: this.user.userInfo.userName,
-        date: "20210506"
+        date: getTodayStr()
       };
       this.$_http
         .get(this.$pathParams(this.$_API.JTXT_GET_EVENTS_USERNAME_DATE, path))
         .then(res => {
-          console.log("--event--" + JSON.stringify(res));
+          if (res.data.length !== 0) {
+            res.data.forEach(element => {
+              this.sumPointsObj[element.event] += element.delta;
+            });
+            this.updateGetPoints();
+          }
         })
         .catch(() => {
           this.$store.commit("toggleLoading", false);
         });
     },
+    // 修改获得积分
+    updateGetPoints() {
+      this.eventList.forEach(element => {
+        element.getPoints = this.sumPointsObj[element.type];
+      });
+      console.log("-this.eventList--" + JSON.stringify(this.eventList));
+    },
     //   获取今日分数
     getDailyPoints() {
       let path = {