Преглед на файлове

助农课堂 正确答案要解密后才能读取

任一存 преди 1 година
родител
ревизия
c3521b8e6b
променени са 2 файла, в които са добавени 30 реда и са изтрити 3 реда
  1. 16 2
      game/src/views/ExamPaper2.vue
  2. 14 1
      game/src/views/ExamPaper3.vue

+ 16 - 2
game/src/views/ExamPaper2.vue

@@ -140,10 +140,10 @@ import { ref, computed, watch, onMounted, onBeforeUnmount, nextTick } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import dayjs from 'dayjs'
-import { shuffle } from 'lodash'
 import { addScore, getScore, getExamQuestionList, notifyQuit } from '@/api.js'
 import GameRule from '@/components/GameRule.vue'
 import NotifyComp from '@/components/NotifyComp.vue'
+import { Base64 } from "js-base64"
 
 const route = useRoute()
 const router = useRouter()
@@ -157,10 +157,24 @@ const {
 const isShowRule = ref(false)
 
 const isShowLoading = ref(true)
+
 getExamQuestionList().then((res) => {
   questionList.value = res.map((questionItem) => {
     const optionsAndAnswer = JSON.parse(questionItem.answer)
-    console.log(optionsAndAnswer)
+
+    // 对正确答案解密
+    const decodeStr = (str) => {
+      const NUM = 2
+      const str1 = str.substring(8)
+      const str2 = str1.substring(0, str1.length - 8)
+      const front = str2.slice(-NUM)
+      const end = str2.substring(0, str2.length - 8 - NUM)
+      return front + end
+    }
+    optionsAndAnswer.correct = Base64.decode(decodeStr(optionsAndAnswer.correct))
+
+    // console.log(optionsAndAnswer)
+
     const ret = {
       question: questionItem.question,
       answerOptions: optionsAndAnswer.answer.map((answerItem) => {

+ 14 - 1
game/src/views/ExamPaper3.vue

@@ -12,7 +12,10 @@
         class="return-home"
         @click="onClickReturnHome"
       />
-      <button class="game-rule" />
+      <button
+        class="game-rule"
+        @click="isShowRule = true"
+      />
     </div>
     <img
       class="star"
@@ -41,6 +44,13 @@
         返回首页
       </button>
     </div>
+
+    <GameRule
+      v-show="isShowRule"
+      game-title="一起来助农"
+      :rich-text="store.state.gameRuleList[1].rtf"
+      @close="isShowRule=false"
+    />
   </div>
 </template>
 
@@ -49,11 +59,14 @@ import { ref, computed, watch, onMounted } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import { notifyQuit } from '@/api.js'
+import GameRule from '@/components/GameRule.vue'
 
 const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
+const isShowRule = ref(false)
+
 const {
   windowSizeInCssForRef,
   windowSizeWhenDesignForRef,