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.
dianshang-qianduan/src/api/aiTrainingEvaluation.js

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,
});
}