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