fix(答案处理): 改进多答案字符串的分割逻辑
处理类似"同创造,共分享,齐飞扬"格式的答案字符串,统一使用逗号分割并去除空格
This commit is contained in:
@@ -116,9 +116,16 @@ export class QuizController {
|
||||
userAnsList = answer.userAnswer;
|
||||
} else if (typeof answer.userAnswer === 'string') {
|
||||
try {
|
||||
userAnsList = JSON.parse(answer.userAnswer);
|
||||
const parsed = JSON.parse(answer.userAnswer);
|
||||
if (Array.isArray(parsed)) {
|
||||
userAnsList = parsed;
|
||||
} else {
|
||||
// 尝试按逗号分割(处理如"同创造,共分享,齐飞扬"格式)
|
||||
userAnsList = answer.userAnswer.split(',').map(item => item.trim());
|
||||
}
|
||||
} catch (e) {
|
||||
userAnsList = [answer.userAnswer];
|
||||
// JSON解析失败,尝试按逗号分割
|
||||
userAnsList = answer.userAnswer.split(',').map(item => item.trim());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,10 +135,15 @@ export class QuizController {
|
||||
} else if (typeof question.answer === 'string') {
|
||||
try {
|
||||
const parsed = JSON.parse(question.answer);
|
||||
if (Array.isArray(parsed)) correctAnsList = parsed;
|
||||
else correctAnsList = [question.answer];
|
||||
if (Array.isArray(parsed)) {
|
||||
correctAnsList = parsed;
|
||||
} else {
|
||||
// 尝试按逗号分割(处理如"同创造,共分享,齐飞扬"格式)
|
||||
correctAnsList = question.answer.split(',').map(item => item.trim());
|
||||
}
|
||||
} catch {
|
||||
correctAnsList = [question.answer];
|
||||
// JSON解析失败,尝试按逗号分割
|
||||
correctAnsList = question.answer.split(',').map(item => item.trim());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user