fix(frontend): play review audio in calibration page

This commit is contained in:
2026-07-09 16:13:29 +08:00
parent bba1e00425
commit f1a975b5f6
2 changed files with 81 additions and 4 deletions
+13 -2
View File
@@ -1,4 +1,5 @@
import request from '@/utils/request';
import axios from 'axios';
import request, { globalHeaders } from '@/utils/request';
type ApiResult<T> = {
code: number;
@@ -24,7 +25,7 @@ export type ReviewDetail = ReviewRecord & {
reviewAdvice: string;
incentivePoint: number;
scoreItems: Array<{ label: string; value: number | string; note: string }>;
dialogue: Array<{ role: string; label: string; text: string; audioUrl?: string }>;
dialogue: Array<{ role: string; label: string; text: string; audioUrl?: string; audioOssId?: number | string }>;
annotations: Array<{ turnIndex: number; sourceText: string; issue: string; rewrite: string; sopPoint: string }>;
};
@@ -175,6 +176,16 @@ export function getPracticeReview(id: number): Promise<ApiResult<ReviewDetail>>
});
}
export async function getPracticeAudioBlobUrl(ossId: number | string): Promise<string> {
const response = await axios({
method: 'get',
url: `${import.meta.env.VITE_APP_BASE_API}/api/aihr/mobile/oss/${ossId}`,
responseType: 'blob',
headers: globalHeaders()
});
return URL.createObjectURL(response.data);
}
export function markPracticeReviewed(id: number, data: ReviewAdviceRequest): Promise<ApiResult<null>> {
return request({
url: `/api/aihr/mobile/practice/reviews/${id}/reviewed`,