From dcdf94bfb544daeb6ada5c3b1ce6cb62f4c35863 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 16 十二月 2024 14:49:41 +0800
Subject: [PATCH] 教学互动测试版完成

---
 packageBookService/pages/bookServices/examination/examination.js |  478 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 419 insertions(+), 59 deletions(-)

diff --git a/packageBookService/pages/bookServices/examination/examination.js b/packageBookService/pages/bookServices/examination/examination.js
index 070b53f..e07f0c9 100644
--- a/packageBookService/pages/bookServices/examination/examination.js
+++ b/packageBookService/pages/bookServices/examination/examination.js
@@ -1,6 +1,9 @@
 import {
   getPublicImage
 } from "../../../../assets/js/middleGround/tool";
+import {
+  loginInfo
+} from '../../../../assets/js/login';
 const app = getApp();
 Page({
   /**
@@ -14,6 +17,8 @@
     countdownInterval: null, // 璁℃椂鍣�
     isCountdownRunning: true, // 鏄惁鍊掕鏃�
     countdownTime: 0, // 鍊掕鏃舵椂闂�
+    storeInfo: '',
+    jslx: '',
     bookId: "",
     productLinkPath: "",
     rootCmsItemId: "",
@@ -47,7 +52,12 @@
     sliderValue: 0, // 瀛椾綋婊戝潡
     startTime: "", //杩涘叆椤甸潰褰撳墠鏃堕棿
     pauseTime: 0, //鏆傚仠鏃堕棿
-
+    showDialog: false, // 鏈彁浜ら��鍑烘嫤鎴脊绐�
+    showId: '',
+    isShowDialog: false, // 娴嬭瘯鎶ュ憡寮圭獥鏄惁鏄剧ず
+    joinGroup: false, // 鏄惁鍔犲叆鐝骇
+    visible: false, // 鍔犲叆鐝骇寮圭獥鏄惁鎵撳紑
+    classList: [] // 鐝骇鍒楄〃
   },
 
   /**
@@ -67,15 +77,33 @@
       rootCmsItemId: options.rootCmsItemId,
       idPathList: options.idPathList ? JSON.parse(options.idPathList) : [],
       answerType: options.answerType,
+      storeInfo: options.storeInfo,
+      jslx: options.jslx,
     });
+    wx.setNavigationBarTitle({
+      title: options.answerTitle,
+    })
     if (this.data.answerType == "mock") {
       this.setData({
         uuid: options.uuid,
         mockid: options.mockid,
       });
     }
-    this.init();
-    console.log("浼犲弬", options);
+
+    const token = wx.getStorageSync(app.config.tokenKey)
+
+    if (!token) {
+      loginInfo(app, (data) => {
+        if (data) {
+          this.init();
+        } else {
+          this.init();
+        }
+      })
+    } else {
+      this.init()
+    }
+
   },
 
   /**
@@ -178,6 +206,7 @@
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
   onShareAppMessage() {},
+  onShareTimeline() {},
 
   // 鐩戝惉watch
   watch(context, variableName, callback) {
@@ -196,21 +225,34 @@
       },
     });
   },
-
+  // 淇敼nav棰滆壊
+  changeNavBarColor(e) {
+    if (type == 'night') {
+      wx.setNavigationBarColor({
+        backgroundColor: '#000000',
+        frontColor: '#ffffff',
+      })
+    } else {
+      wx.setNavigationBarColor({
+        backgroundColor: '#ffffff',
+        frontColor: '#000000',
+      })
+    }
+  },
   // 姝e垯鎵惧嚭鍚姏src
   extractSourceSrc(htmlString) {
     // 姝e垯琛ㄨ揪寮忓尮閰�<source>鏍囩涓殑src灞炴�у��  
     var srcRegex = /<source\s+src="([^"]+)"/i;
     var srcTwo = /<audio\s+src="([^"]+)"/i;
-    
+
     // 鎵ц姝e垯鍖归厤  
     var match = srcRegex.exec(htmlString);
     const local = srcTwo.exec(htmlString)
     // 濡傛灉鍖归厤鎴愬姛锛岃繑鍥炵涓�涓崟鑾风粍鐨勫唴瀹癸紙src灞炴�х殑鍊硷級  
     if (match && match[1]) {
-      return match[1].replace( '../file', app.config.requestCtx + '/file');
+      return match[1].replace('../file', app.config.requestCtx + '/file');
     } else if (local && local[1]) {
-      return local[1].replace( '../file', app.config.requestCtx + '/file')
+      return local[1].replace('../file', app.config.requestCtx + '/file')
     } else {
       // 濡傛灉娌℃湁鍖归厤鍒帮紝杩斿洖null  
       return null;
@@ -233,38 +275,55 @@
   },
   // 杩斿洖鎷︽埅
   beforeleave() {
-    wx.showModal({
-      title: "鎻愮ず",
-      content: "鏈彁浜わ紝鏄惁閫�鍑虹瓟棰�",
-      confirmColor: "#ff6c00",
-      cancelColor: "#949494",
-      complete: (res) => {
-        if (res.cancel) {}
-        if (res.confirm) {
-          this.setData({
-            submitStatus: true,
-          });
-          wx.navigateBack();
-        }
-      },
-    });
+    if ((this.data.answerType == 'option' || this.data.answerType == 'mock') && !this.data.submitStatus) {
+      wx.showModal({
+        title: "鎻愮ず",
+        content: "鏈彁浜わ紝鏄惁閫�鍑虹瓟棰�",
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        complete: (res) => {
+          if (res.cancel) {
+            this.setData({
+              showDialog: true
+            })
+          }
+          if (res.confirm) {
+            this.setData({
+              submitStatus: true,
+              showDialog: false
+            });
+            wx.navigateBack();
+          }
+        },
+      });
+    }
   },
   onChangeSlider(e) {
     this.setData({
       sliderValue: e.detail.value,
     });
-    console.log(e.detail.value);
   },
   // 杩斿洖
   goBack() {
-    console.log(this.data.submitStatus);
     wx.navigateBack();
   },
   //璁剧疆鑳屾櫙鑹�
   changeBGColor(e) {
+    const flag = e.detail.value
     this.setData({
-      isNight: e.detail.value,
+      isNight: flag,
     });
+    if (flag) {
+      wx.setNavigationBarColor({
+        backgroundColor: '#000000',
+        frontColor: '#ffffff',
+      })
+    } else {
+      wx.setNavigationBarColor({
+        backgroundColor: '#ffffff',
+        frontColor: '#000000',
+      })
+    }
   },
   // 鑾峰彇淇濆瓨鐨勫�掕鏃舵椂闂�
   getSavedTime() {
@@ -322,11 +381,13 @@
   },
   // 鍒囨崲棰樼洰
   changeSwiper(e) {
-    this.setData({
-      currentIndex: e.detail.index,
-    });
     let index = e.detail.index - 1 >= 0 ? e.detail.index - 1 : 0;
     const item = this.data.questionDataList[index];
+    const lastItem = this.data.questionDataList[index + 1];
+    this.setData({
+      currentIndex: e.detail.index,
+      showId: lastItem.id
+    });
     if (
       (this.data.answerType == "collectQuestion" ||
         this.data.answerType == "errorQuestion") &&
@@ -425,7 +486,6 @@
     const inputData = e.detail.value.detail.value;
     const id = e.detail.value.currentTarget.dataset.id;
     const index = Number(e.detail.value.currentTarget.dataset.index);
-    console.log(index);
     const questionList = this.data.questionDataList;
     questionList.forEach((item) => {
       if (item.id == id) {
@@ -492,11 +552,13 @@
       submitStatus: true,
       loading: true,
     });
-    const child = this.selectComponent("#question-options");
+    const child = this.selectComponent('#question-options');
+
     if (
       this.data.answerType == "option" ||
       this.data.answerType == "errorQuestion" ||
-      this.data.answerType == "mock"
+      this.data.answerType == "mock" ||
+      this.data.answerType == 'interaction'
     ) {
       // 鍏堥亶鍘嗘墍鏈夐鐩紝灏嗘湭鎵规敼鐨勯鐩壒鏀�
       const qustionList = this.data.questionDataList;
@@ -508,7 +570,11 @@
     if (this.data.answerType == "option") {
       this.toggleCountdown();
       this.recordAnswerData();
-      child.openTestReportDialog();
+      // this.selectComponent 鎷夸笉鍒� 缁勪欢浜嗭紝 鏀逛负鐩戝惉缁勪欢浼犲�� 鎵撳紑寮圭獥
+      // child.openTestReportDialog();
+      this.setData({
+        isShowDialog: true
+      })
     } else if (
       this.data.answerType == "collectQuestion" ||
       this.data.answerType == "errorQuestion"
@@ -551,10 +617,17 @@
           }),
         }, ],
       });
-      child.openTestReportDialog();
+      // child.openTestReportDialog();
+      this.setData({
+        isShowDialog: true
+      })
+    } else if (this.data.answerType == 'interaction') {
+      this.toggleCountdown();
+      this.handleClassQuestion()
     }
     this.setData({
       loading: false,
+      showDialog: false,
     });
   },
   // 鍒濆鍖栧嚱鏁�
@@ -567,13 +640,19 @@
     });
     if (this.data.answerType == "option") {
       if (this.data)
-        // this.startCountdown()
         this.setData({
           countdownTime: 2 * 60 * 60 * 1000,
         });
       // 娴嬭瘯绛旈
       await this.getCollectIdList(); // 鑾峰彇鏀惰棌id鍒楄〃
       await this.getErrorList(); // 鑾峰彇閿欓id鍒楄〃
+    } else if (this.data.answerType == "interaction") {
+      this.setData({
+        countdownTime: 2 * 60 * 60 * 1000,
+      });
+      this.getCurrentClassList()
+      this.getinteractionInfo()
+      // 鏁欏浜掑姩
     } else if (this.data.answerType == "collectQuestion") {
       this.setData({
         submitStatus: true,
@@ -631,6 +710,9 @@
             oldMockData.state == "2"
           ) {
             this.startCountdown();
+            this.setData({
+              showDialog: true
+            })
           }
           if (oldMockData.state == "3") {
             this.setData({
@@ -652,6 +734,7 @@
       subjectiveNum: 0,
       currentIndex: 0,
       submitStatus: false,
+      showDialog: true
     });
     if (this.data.answerType == "option") {
       this.setData({
@@ -730,6 +813,9 @@
               await this.getQuestionList(value.dataList);
             } else {
               await this.getQuestionList(); // 鑾峰彇棰樺簱棰樼洰
+              this.setData({
+                showDialog: true
+              })
             }
           });
         }
@@ -793,10 +879,10 @@
           size: 999,
         },
       };
+      if (this.data.storeInfo) {
+        query.storeInfo = this.data.storeInfo
+      }
       await app.MG.store.getProductDetail(query).then((res) => {
-        if (!res.datas.cmsDatas[0].datas.length) return this.setData({
-          noData: true
-        })
         this.setData({
           total: res.datas.cmsDatas[0].datas.length,
         });
@@ -807,11 +893,21 @@
           oldList = oldData.find(
             (item) => item.path == pathitem.productLinkPath
           ).infoList;
-          this.setData({
-            submitStatus: true,
-          });
         }
         res.datas.cmsDatas[0].datas.forEach((item, index) => {
+          if (this.data.storeInfo || this.data.jslx) {
+            if (item.Embedded_QuestionBank_QuestionType == 'singleChoice') {
+              pathitem.name = "鍗曢�夐"
+            } else if (item.Embedded_QuestionBank_QuestionType == 'shortAnswer') {
+              pathitem.name = "绠�绛旈"
+            } else if (item.Embedded_QuestionBank_QuestionType == "completion") {
+              pathitem.name = "濉┖棰�";
+            } else if (item.Embedded_QuestionBank_QuestionType == "multipleChoice") {
+              pathitem.name = "澶氶�夐";
+            } else if (item.Embedded_QuestionBank_QuestionType == "judge") {
+              pathitem.name = "鍒ゆ柇棰�";
+            }
+          }
           let oldObj = "";
           if (oldList)
             oldObj = oldList.find((oldItem) => oldItem.id == item.id);
@@ -847,7 +943,8 @@
             questionObj.questionType == "multipleChoice"
           ) {
             try {
-              questionObj.answer = JSON.parse(questionObj.answer).toString();
+              // questionObj.answer = JSON.parse(questionObj.answer).toString();
+              questionObj.answer = JSON.parse(questionObj.answer)
             } catch (error) {
               questionObj.answer = item.Embedded_QuestionBank_Answer;
             }
@@ -875,7 +972,7 @@
                 /\<img/gi,
                 '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" '
               )
-              .replace(/\<p/gi, '<p class="stem-rich-p"');
+              .replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
           }
           // 閫夐」瀵屾枃鏈鐞�
           if (
@@ -888,7 +985,7 @@
               if (item.txt)
                 item.txt = item.txt
                 .replace(/\<img/gi, '<img class="option-rich-img"')
-                .replace(/\<p/gi, '<p class="stem-rich-p"');
+                .replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
             });
           }
           // 瑙f瀽瀵屾枃鏈鐞�
@@ -983,14 +1080,25 @@
             questionDataList: questionList,
             cardList: cardUpdatedList,
           });
+          console.log(
+            '棰樼洰', this.data.questionDataList
+          );
         });
       });
     }
     // 鏈夐鐩啀寮�濮嬪�掕鏃�
-    if (this.data.questionDataList.length) this.startCountdown();
-    this.setData({
-      loading: false,
-    });
+    if (this.data.questionDataList.length) {
+      this.startCountdown();
+      this.setData({
+        loading: false,
+        showId: this.data.questionDataList[0].id
+      })
+    } else {
+      this.setData({
+        noData: true,
+        loading: false,
+      })
+    }
   },
   // 鎵规敼棰樼洰 锛堢粌涔狅紝鎴戠殑閿欓锛屾垜鐨勬敹钘�,锛岀粍鍗凤級
   handleQuestion(index) {
@@ -1023,7 +1131,7 @@
       // 绠�绛� 缈昏瘧
       questionList[index].isRight = null;
     } else if (item.questionType == "completion") {
-      if (item.answer == "string") {
+      if (typeof item.answer == "string") {
         item.isRight = item.answer == item.userAnswer[0];
       } else {
         if (item.answer.length != item.userAnswer.length) {
@@ -1181,7 +1289,6 @@
         }
       }
     }
-
     this.setAnswerInfo(setInfoData);
   },
   // 鎻愪氦绛旈鏁版嵁
@@ -1309,6 +1416,9 @@
           Embedded_QuestionBank_Difficulty: [],
         },
       };
+      if (this.data.storeInfo) {
+        query.storeInfo = this.data.storeInfo
+      }
       await app.MG.store.getProductDetail(query).then((res) => {
         let questionArr = [];
         res.datas.cmsDatas[0].datas.forEach((item, index) => {
@@ -1340,6 +1450,7 @@
             questionObj.questionType == "completion" ||
             questionObj.questionType == "multipleChoice"
           ) {
+            console.log(questionObj.answer, "111")
             try {
               questionObj.answer = JSON.parse(questionObj.answer).toString();
             } catch (error) {
@@ -1388,7 +1499,7 @@
                 /\<img/gi,
                 '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" '
               )
-              .replace(/\<p/gi, '<p class="stem-rich-p"');
+              .replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
           }
           // 閫夐」瀵屾枃鏈鐞�
           if (
@@ -1401,7 +1512,7 @@
               if (item.txt)
                 item.txt = item.txt
                 .replace(/\<img/gi, '<img class="option-rich-img"')
-                .replace(/\<p/gi, '<p class="stem-rich-p"');
+                .replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
             });
           }
           // 瑙f瀽瀵屾枃鏈鐞�
@@ -1463,6 +1574,7 @@
     }
     this.setData({
       questionDataList: questionArr,
+      showId: questionArr[0].id,
       cardList: cardList,
       loading: false,
     });
@@ -1555,6 +1667,9 @@
         Embedded_QuestionBank_Difficulty: [],
       },
     };
+    if (this.data.storeInfo) {
+      query.storeInfo = this.data.storeInfo
+    }
     await app.MG.store.getProductDetail(query).then((res) => {
       let questionArr = [];
       res.datas.cmsDatas[0].datas.forEach((item, index) => {
@@ -1636,7 +1751,7 @@
               /\<img/gi,
               '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" '
             )
-            .replace(/\<p/gi, '<p class="stem-rich-p"');
+            .replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
         }
         // 閫夐」瀵屾枃鏈鐞�
         if (
@@ -1649,7 +1764,7 @@
             if (item.txt)
               item.txt = item.txt
               .replace(/\<img/gi, '<img class="option-rich-img"')
-              .replace(/\<p/gi, '<p class="stem-rich-p"');
+              .replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
           });
         }
         // 瑙f瀽瀵屾枃鏈鐞�
@@ -1711,11 +1826,12 @@
       }
       this.setData({
         questionDataList: questionArr,
+        showId: questionArr[0].id,
         cardList: cardList,
         loading: false,
       });
+      console.log(this.data.questionDataList, "questionDataList");
     });
-    // loadings.value = false
   },
   // 鑾峰彇缁勫嵎缁撴灉
   async getEduQuizConfig() {
@@ -1840,6 +1956,9 @@
           Embedded_QuestionBank_Difficulty: [],
         },
       };
+      if (this.data.storeInfo) {
+        query.storeInfo = this.data.storeInfo
+      }
       await app.MG.store.getProductDetail(query).then((res) => {
         res.datas.cmsDatas[0].datas.forEach((item, index) => {
           // 寰幆questionList,缁欐瘡棰樿祴鍊煎垎鏁�
@@ -1906,7 +2025,7 @@
             questionObj.stem.stemTxt = questionObj.stem.stemTxt.replace(
               /\<img/gi,
               '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img"'
-            );
+            ).replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
           }
           // 閫夐」瀵屾枃鏈鐞�
           if (
@@ -1920,7 +2039,7 @@
                 item.txt = item.txt.replace(
                   /\<img/gi,
                   '<img class="option-rich-img"'
-                );
+                ).replace(/\<p/gi, '<p class="stem-rich-p"').replace('../file', app.config.requestCtx + '/file');
             });
           }
           // 鍚姏棰樹慨鏀�
@@ -1994,6 +2113,7 @@
     }
     this.setData({
       loading: false,
+      showId: this.data.questionDataList[0].id
     });
   },
   // 鑾峰彇缁勫嵎鏁版嵁
@@ -2054,11 +2174,12 @@
       })
       .then((res) => {
         if (res[0]) {
+          // 杩欓噷鐨� countdownTime 璧嬪�硷細濡傛灉鏄椂闂村埌浜嗘彁浜わ紝璁板綍鐨勫墿浣欐椂闂村氨鏄�0锛屾墍浠ワ細濡傛灉鏄�0鐨勮瘽璧嬪��1绉掞紝闃叉鐩戝惉鍒版椂闂翠负0鍐嶆鎻愪氦
           this.setData({
             currentIndex: JSON.parse(res[0].value).currentIndex,
             "mockData.time": JSON.parse(res[0].value).time,
-            countdownTime: JSON.parse(res[0].value).time ?
-              JSON.parse(res[0].value).time : this.data.mockData.sumTime,
+            countdownTime: JSON.parse(res[0].value).time > 0 ?
+              JSON.parse(res[0].value).time : 1000,
             "mockData.answer": JSON.parse(res[0].value).answerData,
           });
           console.log(JSON.parse(res[0].value));
@@ -2122,7 +2243,6 @@
 
   // 瀵屾枃鏈鐞�
   formatRichText(html) {
-    console.log(html);
     let newContent = html.replace(/<img[^>]*>/gi, function (match, capture) {
       match = match
         .replace(/style="[^"]+"/gi, "")
@@ -2156,4 +2276,244 @@
     );
     return newContent;
   },
+  // 鏁欏浜掑姩妯″紡鐩稿叧
+  // 鑾峰彇鐝骇鍒楄〃
+  getCurrentClassList() {
+    const query = {
+      start: 0,
+      size: 999,
+      filterList: [],
+    }
+    app.MG.identity.joinedGroupByList(query).then((res) => {
+      console.log('鐝骇淇℃伅', res);
+      res.datas.forEach(async item => {
+        item.topicId = null
+        const data = await this.getTopicInfo(item.id)
+        if (data) {
+          item.topicId = data.id
+        }
+      })
+
+      if (res.datas.length) {
+        this.setData({
+          classList: res.datas
+        })
+        // 鍒ゆ柇鐝骇 鏄惁鎵�灞炰簬璇ヤ功
+        const flag = res.datas.some(item => item.linkProductDto.product.id == this.data.bookId)
+        if (!flag) {
+          this.setData({
+            visible: true,
+          })
+        } else {
+          this.setData({
+            visible: false,
+            joinGroup: true
+          })
+        }
+      } else {
+        this.setData({
+          visible: true,
+        })
+      }
+
+      // if (res.datas.length) {
+      //   this.setData({
+      //     classList: res.datas,
+      //     visible: true
+      //   })
+      // } else {
+      //   // 鏈姞鍏ョ彮绾э紝鍞よ捣鍔犲叆鐝骇寮圭獥
+      //   this.setData({
+      //     joinGroup: false,
+      //     visible: true
+      //   })
+      // }
+    })
+  },
+  // 鍔犲叆鐝骇
+  joinClass(e) {
+    const data = {
+      refCode: e.detail.value
+    }
+    app.MG.identity.joinGroupByRefCode(data).then((res) => {
+      if (res == '缁勪笉瀛樺湪') {
+        wx.showToast({
+          icon: 'error',
+          title: '鏃犳晥鐨勭彮绾�',
+        })
+      } else if (res == '缁勬垚鍛樻暟閲忓凡鏈�澶�,涓嶈兘鍔犲叆') {
+        wx.showToast({
+          icon: 'error',
+          title: '鐝骇鎴愬憳鏁伴噺宸叉渶澶э紝涓嶈兘鍔犲叆',
+        })
+      } else if (res == '宸茬粡鐢宠杩囧姞鍏ユ缁�') {
+        wx.showToast({
+          icon: 'error',
+          title: '宸茬粡鐢宠杩囧姞鍏ユ鐝骇',
+        })
+      } else {
+        wx.showToast({
+          icon: "success",
+          title: '宸叉垚鍔燂紝绛夊緟瀹℃牳涓�...',
+        })
+        this.setData({
+          visible: false
+        })
+        this.getCurrentClassList()
+      }
+    })
+  },
+  // 鑾峰彇鐝骇topic
+  async getTopicInfo(classId) {
+    let query = {
+      classId,
+      refCodes: ["TeachInteraction"]
+    }
+    const res = await app.MG.edu.getClassTopic(query)
+    return res[0] ?? null
+  },
+  // 鑾峰彇鏃ф暀瀛︿簰鍔ㄧ瓟棰樻暟鎹�
+  getinteractionInfo() {
+    app.MG.identity
+      .getUserKey({
+        domain: "interactionData",
+        keys: [this.data.productLinkPath],
+      })
+      .then((res) => {
+        if (res.length) {
+          let value = JSON.parse(res[0].value);
+          const scoreData = value.dataList.find(item => item.name == "瀹㈣棰樺緱鍒�" && item.path == this.data.productLinkPath)
+          this.setData({
+            submitStatus: value.submitStatus,
+            currentIndex: value.currentIndex,
+            subjectiveNum: scoreData ? scoreData.score : 0
+          });
+          // 鎼哄甫绛旈璁板綍 鑾峰彇棰樼洰
+          this.getQuestionList(value.dataList);
+        } else {
+          this.getQuestionList(); // 鑾峰彇棰樺簱棰樼洰
+          this.setData({
+            showDialog: true
+          })
+        }
+      });
+  },
+  // 鎻愪氦鏁欏浜掑姩绛旈鏁版嵁
+  setinteractionInfo(submitStatus) {
+    const list = []
+    this.data.cardList.forEach(item => {
+      list.push({
+        catalogName: item.catalogName,
+        path: item.path,
+        infoList: item.infoList.map((citem) => ({
+          id: citem.id,
+          userAnswer: citem.userAnswer
+        }))
+      })
+    })
+    list.push({
+      name: "瀹㈣棰樺緱鍒�",
+      score: this.data.subjectiveNum,
+      path: this.data.productLinkPath,
+    })
+    console.log('鎻愪氦鏁版嵁', list);
+    app.MG.identity
+      .setUserKey({
+        setKeyRequests: [{
+          domain: "interactionData",
+          key: this.data.productLinkPath,
+          value: JSON.stringify({
+            submitStatus,
+            currentIndex: this.data.currentIndex,
+            dataList: list
+          }),
+        }, ],
+      })
+      .then((res) => {});
+  },
+  // 澶勭悊鏁欏浜掑姩绛旈 
+  handleClassQuestion() {
+    console.log(1, this.data.questionDataList);
+    const flag = this.data.questionDataList.some(item => !item.userAnswer)
+    if (flag) {
+      // 娌″仛瀹岋紝淇濆瓨鍗冲彲
+      const isAnswer = this.data.questionDataList.some(item => item.userAnswer)
+      if (isAnswer) this.setinteractionInfo(false)
+    } else {
+      // 鍋氬畬浜嗕笖鍔犲叆浜嗙彮绾э紝鎻愪氦鍒癿essage
+      if (this.data.classList.length && this.data.joinGroup) {
+        this.data.classList.forEach(item => {
+          if (item.linkProductDto.product.id == this.data.bookId)
+            this.newTopicMessage(item.topicId)
+        })
+        this.setinteractionInfo(true)
+      } else {
+        // 鍋氬畬浜嗭紝娌″姞鍏ョ彮绾�
+        this.setinteractionInfo(false)
+      }
+      this.setData({
+        isShowDialog: true
+      })
+    }
+    this.setData({
+      submitStatus: true
+    })
+  },
+
+  // 鏂板缓topicMessage
+  newTopicMessage(topicId) {
+    let content = []
+    for (let cindex = 0; cindex < this.data.questionDataList.length; cindex++) {
+      const citem = this.data.questionDataList[cindex];
+      content.push({
+        cmsItemId: citem.id,
+        answer: citem.userAnswer,
+        state: citem.questionType == 'shortAnswer' ? 'none' : citem.isRight,
+        type: citem.questionType
+      })
+    }
+    const data = {
+      description: '',
+      icon: '',
+      state: 'Normal',
+      topicIdOrRefCode: String(topicId),
+      name: this.data.answerTitle,
+      content: JSON.stringify({
+        bookId: this.data.bookId,
+        userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name,
+        path: this.data.productLinkPath,
+        content
+      }),
+      type: 'Normal',
+      cmsTypeRefCode: '',
+      newDataListRequest: []
+    }
+    app.MG.ugc.newTopicMessage(data).then((res) => {
+      if (res) {
+        this.setData({
+          isShowDialog: true
+        })
+      }
+    })
+  },
+  // 鏂板缓瀛恡opicMessage
+  // newTopicSubMessage(parentId,topicId) {
+  //   const data = {
+  //     description: '',
+  //     icon: '',
+  //     parentId,
+  //     state: 'Normal',
+  //     topicIdOrRefCode: String(topicId),
+  //     name: this.data.answerTitle,
+  //     content: '',
+  //     type: 'Normal',
+  //     cmsTypeRefCode: '',
+  //     newDataListRequest: []
+  //   }
+  //   MG.ugc.newTopicMessage(data).then((res) => {
+  //     if (res) {
+
+  //     }
+  //   })
+  // },
 });
\ No newline at end of file

--
Gitblit v1.9.1