feat: 添加得分占比计算功能;优化时间格式化工具函数;更新考试记录和用户任务页面以显示得分占比;新增得分占比测试用例;修复时间解析逻辑

This commit is contained in:
2025-12-30 15:26:53 +08:00
parent 8cd6950631
commit 1822d8b4da
18 changed files with 347 additions and 68 deletions

View File

@@ -86,6 +86,7 @@ export class QuizController {
}
const processedAnswers = [];
let totalPossibleScore = 0;
for (const answer of answers) {
const question = await QuestionModel.findById(answer.questionId);
if (!question) {
@@ -93,6 +94,8 @@ export class QuizController {
continue;
}
totalPossibleScore += Number(question.score) || 0;
if (question.type === 'multiple') {
const optionCount = question.options ? question.options.length : 0;
const unitScore = optionCount > 0 ? question.score / optionCount : 0;
@@ -160,7 +163,7 @@ export class QuizController {
processedAnswers.push(answer);
}
const result = await QuizModel.submitQuiz({ userId, answers: processedAnswers });
const result = await QuizModel.submitQuiz({ userId, answers: processedAnswers, totalPossibleScore });
if (subjectId || taskId) {
let finalSubjectId: string | null = subjectId || null;