From 1f33c401da7a7a7b67222af7400dba66d65b6a9a Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期四, 20 六月 2024 10:44:08 +0800 Subject: [PATCH] feat:音频题解析 --- src/store/modules/exam.js | 340 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 333 insertions(+), 7 deletions(-) diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js index 96a55e9..fa3292a 100644 --- a/src/store/modules/exam.js +++ b/src/store/modules/exam.js @@ -1,11 +1,337 @@ -import { ref } from 'vue'; +import { ref, computed } from 'vue'; import { defineStore } from 'pinia'; -const useExamStore = defineStore('exam', () => { - const examInfo = ref(null); +export const useExamStore = defineStore('exam', () => { + const examInfo = ref({ + examId: 1, + examName: '鑰冭瘯鍚嶇О', + examType: '鑰冭瘯绫诲瀷', + examStatus: '鑰冭瘯鐘舵��', + examStartTime: '2021-01-01', + examEndTime: '2021-01-01', + examTime: 5, + }); + + const examType = ref({ + 1: '鍗曢�夐', + 2: '澶氶�夐', + 3: '闊抽棰�' + }); + + const currentType = ref(1); + const currentIndex = ref(0); + + const answerProgress = ref(0); + + const examDetail = ref([ + { + questionType: 1, + questionList: [ + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "1+1=锛�123", + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "3", + "difficult": 5 + }, + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "1+1=锛�", + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "3", + "difficult": 5 + } + ] + }, + { + questionType: 2, + questionList: [ + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "1+1=锛�", + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "5", + "difficult": 5 + }, + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "1+1=锛�", + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "5", + "difficult": 5 + }, + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "1+1=锛�", + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "5", + "difficult": 5 + }, + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "1+1=锛�", + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "5", + "difficult": 5 + } + ] + }, + { + questionType: 3, + questionList: [ + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "娴嬭瘯闊抽1", + "audioFile": '/test.mp3', + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "3", + "difficult": 5 + }, + { + "id": null, + "questionType": 1, + "gradeLevel": null, + "subjectId": 2, + "title": "娴嬭瘯闊抽2", + "audioFile": '/test.mp3', + "items": [ + { + "prefix": "A", + "content": "1" + }, + { + "prefix": "B", + "content": "2" + }, + { + "prefix": "C", + "content": "3" + }, + { + "prefix": "D", + "content": "4" + } + ], + "analyze": "闂皬鏈嬪弸", + "correct": "", + "score": "3", + "difficult": 5 + } + ] + }, + ]); + + const getActiveQuestion = computed(() => { + const temp = examDetail.value.find(item => item.questionType === currentType.value); + if (temp) { + return temp.questionList[currentIndex.value]; + } + }); + + const getAnswerInfo = computed(() => { + let total = 0; + let grade = 0; + examDetail.value.forEach(item => { + total += item.questionList.length; + item.questionList.forEach(question => { + grade += Number(question.score); + }); + }); + return { + total, + grade, + }; + }); + + + const setExamInfo = (info) => { + examInfo.value = info; + }; + + const setExamDetail = (detail) => { + examDetail.value = detail; + }; + + const setQuestionAnswer = (type, index, answer) => { + const temp = examDetail.value.find(item => item.questionType === type); + if (temp) { + temp.questionList[index].correct = answer; + } + }; + + const setProgress = (progress) => { + answerProgress.value = progress; + }; + return { - examInfo - } -}); + examInfo, + examDetail, + examType, -export default useExamStore; \ No newline at end of file + currentType, + currentIndex, + answerProgress, + + getActiveQuestion, + getAnswerInfo, + + setExamInfo, + setExamDetail, + setQuestionAnswer, + setProgress + }; +}); -- Gitblit v1.8.0