|
@@ -168,10 +168,7 @@ const useSubjectList = () => {
|
|
|
};
|
|
|
};
|
|
|
|
|
|
-const useSubjectCheck = (
|
|
|
- currentSubject: ComputedRef<any>,
|
|
|
- nextSubject: () => Promise<void>
|
|
|
-) => {
|
|
|
+const useSubjectCheck = (nextSubject: () => Promise<void>) => {
|
|
|
const trueNum = ref(0); //正确数量
|
|
|
const falseNum = ref(0); //错误数量
|
|
|
const isJumpNext = ref(false); //答对跳转下一题
|
|
@@ -179,37 +176,41 @@ const useSubjectCheck = (
|
|
|
/**
|
|
|
* 选择答案后进行校验
|
|
|
*/
|
|
|
- const userAnswerChange = () => {
|
|
|
- currentSubject.value.optsBack = currentSubject.value.opts.map(
|
|
|
- (val: String) => {
|
|
|
+ const userAnswerChange = (currentSubject: any) => {
|
|
|
+ try {
|
|
|
+ if (!currentSubject.userAnswer) return;
|
|
|
+
|
|
|
+ currentSubject.optsBack = currentSubject.opts.map((val: String) => {
|
|
|
let status;
|
|
|
- if (currentSubject.value.answer.includes(val)) {
|
|
|
+ if (currentSubject.answer.includes(val)) {
|
|
|
status = 1;
|
|
|
} else {
|
|
|
status = 0;
|
|
|
}
|
|
|
- if (currentSubject.value.userAnswer.includes(val)) {
|
|
|
+ if (currentSubject.userAnswer.includes(val)) {
|
|
|
status += 2;
|
|
|
}
|
|
|
return { opt: val, status };
|
|
|
+ });
|
|
|
+ if (
|
|
|
+ JSON.stringify(currentSubject.answer) ==
|
|
|
+ JSON.stringify(currentSubject.userAnswer)
|
|
|
+ ) {
|
|
|
+ console.log("答案正确");
|
|
|
+ currentSubject.isTrue = true;
|
|
|
+ trueNum.value++;
|
|
|
+ if (isJumpNext.value) {
|
|
|
+ nextTick(() => {
|
|
|
+ nextSubject();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.log("错误");
|
|
|
+ currentSubject.isTrue = false;
|
|
|
+ falseNum.value++;
|
|
|
}
|
|
|
- );
|
|
|
- if (
|
|
|
- JSON.stringify(currentSubject.value.answer) ==
|
|
|
- JSON.stringify(currentSubject.value.userAnswer)
|
|
|
- ) {
|
|
|
- console.log("答案正确");
|
|
|
- currentSubject.value.isTrue = true;
|
|
|
- trueNum.value++;
|
|
|
- if (isJumpNext.value) {
|
|
|
- nextTick(() => {
|
|
|
- nextSubject();
|
|
|
- });
|
|
|
- }
|
|
|
- } else {
|
|
|
- console.log("错误");
|
|
|
- currentSubject.value.isTrue = false;
|
|
|
- falseNum.value++;
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -231,7 +232,7 @@ export const useSubjectShowLogic = () => {
|
|
|
} = useSubjectList(); //获取题目列表
|
|
|
|
|
|
const nextBtnState = ref(true); //下一题数据请求锁
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 展示下一题
|
|
|
*/
|
|
@@ -249,10 +250,8 @@ export const useSubjectShowLogic = () => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- const { trueNum, falseNum, isJumpNext, userAnswerChange } = useSubjectCheck(
|
|
|
- currentSubject,
|
|
|
- nextSubject
|
|
|
- );
|
|
|
+ const { trueNum, falseNum, isJumpNext, userAnswerChange } =
|
|
|
+ useSubjectCheck(nextSubject);
|
|
|
|
|
|
return {
|
|
|
currentSubject,
|
|
@@ -263,6 +262,7 @@ export const useSubjectShowLogic = () => {
|
|
|
trueNum,
|
|
|
falseNum,
|
|
|
isJumpNext,
|
|
|
+ subjectList,
|
|
|
userAnswerChange,
|
|
|
};
|
|
|
};
|