chore: initialize wygj monorepo

This commit is contained in:
2026-07-03 01:25:10 +08:00
commit 62ffcb6e99
1248 changed files with 137340 additions and 0 deletions
+98
View File
@@ -0,0 +1,98 @@
import request from '@/utils/request';
type ApiResult<T> = {
code: number;
msg: string;
data: T;
};
export type PracticeStartRequest = {
extPartyId: string;
scenarioId: string;
mode: string;
};
export type PracticeStartResponse = {
sessionId: string;
scenarioId: string;
scenarioName: string;
trainee: string;
customerText: string;
emotion: number;
trust: number;
customerAudioUrl: string;
persona: {
customer: string;
project: string;
strategy: string;
goal: string;
};
};
export type PracticeTurnRequest = {
sessionId: string;
roundIndex: number;
traineeText: string;
traineeAudioUrl?: string;
};
export type PracticeTurnResponse = {
customerText: string;
customerAudioUrl: string;
emotion: number;
trust: number;
coachHint: string;
roundIndex: number;
finished: boolean;
};
export type PracticeFinishRequest = {
sessionId: string;
};
export type PracticeFinishResponse = {
totalScore: number;
score: Array<{
label: string;
value: number | string;
note: string;
}>;
mentorRewrite: string;
aiComment: string;
trustCurve: number[];
records: Array<{
time: string;
trainee: string;
scene: string;
score: number;
status: string;
summary: string;
}>;
};
export function startPracticeSession(data: PracticeStartRequest): Promise<ApiResult<PracticeStartResponse>> {
return request({
url: '/api/train/practice/start',
method: 'post',
data,
headers: { repeatSubmit: false }
});
}
export function submitPracticeTurn(data: PracticeTurnRequest): Promise<ApiResult<PracticeTurnResponse>> {
return request({
url: '/api/train/practice/turn',
method: 'post',
data,
headers: { repeatSubmit: false }
});
}
export function finishPracticeSession(data: PracticeFinishRequest): Promise<ApiResult<PracticeFinishResponse>> {
return request({
url: '/api/train/practice/finish',
method: 'post',
data,
headers: { repeatSubmit: false }
});
}