Browse Source

修改逻辑

lex 10 months ago
parent
commit
79ace94d50
1 changed files with 34 additions and 3 deletions
  1. 34 3
      src/subpages/colexiu/App.tsx

+ 34 - 3
src/subpages/colexiu/App.tsx

@@ -14,6 +14,8 @@ import { storeData } from './state'
 let startTime = Date.now()
 let timer = null as any
 const initBehaviorId = '' + Date.now()
+
+let expireTimeFlag = false
 /** 学生端记录在云教练里面的时长 */
 const recordTotalTime = () => {
   const client = useClientType()
@@ -23,13 +25,30 @@ const recordTotalTime = () => {
   const totalTime = (Date.now() - startTime) / 1000
   startTime = Date.now()
   // 如果累计时间是负数,就不记录
-  if (totalTime < 0){
+  if (totalTime < 0) {
     return
   }
 
   //课后训练
   if (search.lessonTrainingId) {
     const browserInfo = browser()
+
+    if (expireTimeFlag) {
+      request.post('/musicPracticeRecord/save', {
+        prefix: prefix,
+        requestType: 'json',
+        data: {
+          clientType: (client as string)?.toLocaleUpperCase(),
+          practiceSource: 'LESSON_TRAINING',
+          feature: 'PRACTICE',
+          deviceType: browserInfo.android ? 'ANDROID' : browserInfo.isApp ? 'IOS' : 'WEB',
+          behaviorId: initBehaviorId,
+          playTime: totalTime,
+          musicSheetId: search.id,
+        },
+      })
+      return
+    }
     request.post('/studentLessonTraining/lessonTrainingRecord', {
       prefix: prefix,
       requestType: 'json',
@@ -98,9 +117,21 @@ export default defineComponent({
       try {
         const res: any = await request.get(`/user/getUserInfo`)
         Object.assign(userInfo, res?.data || {})
-        if(res.data?.clientType){
+        if (res.data?.clientType) {
           storeData.platformType = res.data.clientType
         }
+
+        const search = useOriginSearch()
+        if (search.lessonTrainingId) {
+          try {
+            const { data } = await request.post(
+              `/studentLessonTraining/trainingRecord/${search.courseScheduleId}?userId=${userInfo.id}`
+            )
+            expireTimeFlag = data.expireTimeFlag || false
+          } catch (error) {
+            console.error(error)
+          }
+        }
       } catch (error) {
         console.log(error)
         renderError.value = true
@@ -123,7 +154,7 @@ export default defineComponent({
         content: {
           isOpenLight: true,
         },
-      })      
+      })
       getUserInfo()
       clearInterval(timer)
       timer = setInterval(() => {