You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
import request from "@/utils/request";
|
|
|
|
/**
|
|
* 后端 AI 助学/助评的前置校验消息是英文(该文案要落库,不能直接改中文),
|
|
* 前端按场景转成中文引导;未识别的消息回退到调用方给定的兜底文案。
|
|
*/
|
|
export function friendlyAiEvaluationMessage(error, fallback) {
|
|
const raw = String(error?.response?.data?.msg || error?.message || "");
|
|
if (raw.includes("at least one training step")) {
|
|
return "请先在实训页填写并保存至少一个步骤的内容,再使用 AI 助学/助评。";
|
|
}
|
|
return fallback;
|
|
}
|
|
|
|
export function getAiTrainingEvaluation(taskKey) {
|
|
return request({
|
|
url: `/api/student/training-tasks/${taskKey}/ai-evaluation`,
|
|
method: "get",
|
|
});
|
|
}
|
|
|
|
export function requestAiTrainingHelp(taskKey, question, stepContext = "") {
|
|
return request({
|
|
url: `/api/student/training-tasks/${taskKey}/ai-evaluation/help`,
|
|
method: "post",
|
|
data: { question, stepContext },
|
|
headers: { repeatSubmit: false },
|
|
// 后端对这类前置校验返回英文原文(还要落库,不能直接改中文),
|
|
// 屏蔽全局错误弹窗,由侧边栏按场景给出中文提示
|
|
skipErrorMessage: true,
|
|
});
|
|
}
|
|
|
|
export function requestAiTrainingAssessment(taskKey) {
|
|
return request({
|
|
url: `/api/student/training-tasks/${taskKey}/ai-evaluation/assessment`,
|
|
method: "post",
|
|
headers: { repeatSubmit: false },
|
|
skipErrorMessage: true,
|
|
});
|
|
}
|