diff --git a/src/assets/font/DouyinSansBold.ttf b/src/assets/font/DouyinSansBold.ttf index 2b1045e..8cb1bbb 100644 Binary files a/src/assets/font/DouyinSansBold.ttf and b/src/assets/font/DouyinSansBold.ttf differ diff --git a/src/assets/font/HarmonyOS_Sans_SC_Regular.ttf b/src/assets/font/HarmonyOS_Sans_SC_Regular.ttf index c17f497..0f488b9 100644 Binary files a/src/assets/font/HarmonyOS_Sans_SC_Regular.ttf and b/src/assets/font/HarmonyOS_Sans_SC_Regular.ttf differ diff --git a/src/assets/images/qa/bg.jpg b/src/assets/images/qa/bg.jpg index da679c0..581e26e 100644 Binary files a/src/assets/images/qa/bg.jpg and b/src/assets/images/qa/bg.jpg differ diff --git a/src/assets/images/qa/bottom-bg.png b/src/assets/images/qa/bottom-bg.png index 6300e01..c089c49 100644 Binary files a/src/assets/images/qa/bottom-bg.png and b/src/assets/images/qa/bottom-bg.png differ diff --git a/src/assets/images/qa/correct.png b/src/assets/images/qa/correct.png new file mode 100644 index 0000000..1eb36a1 Binary files /dev/null and b/src/assets/images/qa/correct.png differ diff --git a/src/assets/images/qa/create-btn.png b/src/assets/images/qa/create-btn.png new file mode 100644 index 0000000..13e46a6 Binary files /dev/null and b/src/assets/images/qa/create-btn.png differ diff --git a/src/assets/images/qa/gold-icon-2.png b/src/assets/images/qa/gold-icon-2.png index c3a896b..0336a36 100644 Binary files a/src/assets/images/qa/gold-icon-2.png and b/src/assets/images/qa/gold-icon-2.png differ diff --git a/src/assets/images/qa/gold-icon.png b/src/assets/images/qa/gold-icon.png index 89d695d..1ba5b45 100644 Binary files a/src/assets/images/qa/gold-icon.png and b/src/assets/images/qa/gold-icon.png differ diff --git a/src/assets/images/qa/incorrect.png b/src/assets/images/qa/incorrect.png new file mode 100644 index 0000000..ef46c8e Binary files /dev/null and b/src/assets/images/qa/incorrect.png differ diff --git a/src/assets/images/qa/lantern-icon.png b/src/assets/images/qa/lantern-icon.png index a62df4e..f5c13d3 100644 Binary files a/src/assets/images/qa/lantern-icon.png and b/src/assets/images/qa/lantern-icon.png differ diff --git a/src/assets/images/qa/next-btn.png b/src/assets/images/qa/next-btn.png new file mode 100644 index 0000000..218bd4d Binary files /dev/null and b/src/assets/images/qa/next-btn.png differ diff --git a/src/assets/images/qa/question-box.png b/src/assets/images/qa/question-box.png index 81ee241..6a28b45 100644 Binary files a/src/assets/images/qa/question-box.png and b/src/assets/images/qa/question-box.png differ diff --git a/src/components/Question.vue b/src/components/Question.vue index 5e4c1fc..df93345 100644 --- a/src/components/Question.vue +++ b/src/components/Question.vue @@ -16,6 +16,8 @@ const questionList = ref(data); //随机打乱题库 const answerList = ref([]); // 答案库统计 const activeId = ref(""); // 当前题目所选答案选项 const showResultBtn = ref(false); +const isChecked = ref(false) + // 答题事件 const answerFn = (item, event) => { let e = event.target.parentElement; @@ -37,39 +39,49 @@ const answerFn = (item, event) => { } // 判断是否为最后一题 - if (currentId.value < questionList.value.length - 1) { - currentId.value++ - activeId.value = '' + gsap.set('.option-tips,.analysis', { autoAlpha: 1 }) + gsap.set('.question-box', { pointerEvents: 'none' }) + isChecked.value = true + }) - } else { - // 随机生成海报id - userStore.updatePosterId(getRandomNumber([1, 2, 3])) - gsap.set('.question-box', { pointerEvents: 'none' }) - Toast('答题结束') - Toast.loading({ - message: '结果生成中', - duration: 0, - forbidClick: true, - }) +} - if (import.meta.env.VITE_MODE != "dev") { - // 提交完成记录 - subAnswer({}, userStore.token).then((res) => { - console.log("key:", res); - if (res.code == 0) { - userStore.updateDrawKey(res.data); - } - setTimeout(() => { - Toast.clear() - gsap.to('.QuestionPage', { - duration: 0.5, autoAlpha: 0, onComplete: () => { - emit("QuestionPage", { action: "showResult" }); - } - }) - }, 1000) - }); - } else { +// 下一题 +const nextQuestion = (event) => { + let e = event.target; + debounceTap(e, () => { + isChecked.value = false + gsap.set('.option-tips,.analysis', { autoAlpha: 0 }) + currentId.value++ + activeId.value = '' + gsap.set('.question-box', { pointerEvents: 'initial' }) + }) + +} + +// 查看结果事件 +const viewResult = (event) => { + let e = event.target; + debounceTap(e, () => { + // 随机生成海报id + userStore.updatePosterId(getRandomNumber([1, 2, 3])) + gsap.set('.question-box', { pointerEvents: 'none' }) + Toast('答题结束') + Toast.loading({ + message: '结果生成中', + duration: 0, + forbidClick: true, + }) + + if (import.meta.env.VITE_MODE != "dev") { + // 提交完成记录 + subAnswer({}, userStore.token).then((res) => { + console.log("key:", res); + if (res.code == 0) { + userStore.updateDrawKey(res.data); + } + setTimeout(() => { Toast.clear() gsap.to('.QuestionPage', { @@ -78,13 +90,19 @@ const answerFn = (item, event) => { } }) }, 1000) - } - + }); + } else { + setTimeout(() => { + Toast.clear() + gsap.to('.QuestionPage', { + duration: 0.5, autoAlpha: 0, onComplete: () => { + emit("QuestionPage", { action: "showResult" }); + } + }) + }, 1000) } - console.log("答案库", answerList.value); - }); -}; - + }) +} // 从数组中随机生成一个数字 const getRandomNumber = (arr) => { @@ -92,8 +110,7 @@ const getRandomNumber = (arr) => { return arr[randomIndex]; } -// 查看结果事件及动画 -// const resultBtnAni = gsap.timeline({ paused: true }); + onMounted(() => { gsap.from('.question-bg', { duration: 0.5, autoAlpha: 0, }) gsap.from('.question-box', { duration: 0.5, scale: 0.4, autoAlpha: 0, }) @@ -123,21 +140,28 @@ onMounted(() => {