Files
OCS_service/app/services/answer_service.ts
T
2026-05-23 13:45:58 +08:00

61 lines
1.7 KiB
TypeScript

// app/services/answer_service.ts - OCS AI 答题服务相关 API
import type {
IApiResponse,
IClearCacheResponse,
IHealthResponse,
IRecordsRequest,
IRecordsResponse,
ISearchRequest,
ISearchResponse,
IStatsResponse
} from "@/interfaces";
import BaseClientService from "@/services/base_service";
/** 当前 Nuxt 站点内 API 的基础路径,部署到子路径时由 Nuxt 自己处理 */
const BaseUrl = "";
/** OCS AI 答题服务请求集合 */
export class AnswerService {
public static basePath = `${BaseUrl}/api`;
/** 调用答题接口;前端统一走 JSON POST,服务端仍兼容 OCS 的 GET 调用 */
public static search(request: ISearchRequest) {
return BaseClientService.post<ISearchResponse, ISearchRequest>(
`${AnswerService.basePath}/search`,
request
);
}
/** 读取健康状态;无需 token */
public static getHealth() {
return BaseClientService.get<IApiResponse<IHealthResponse>>(
`${AnswerService.basePath}/health`
);
}
/** 读取运行统计(需登录) */
public static getStats() {
return BaseClientService.get<IApiResponse<IStatsResponse>>(
`${AnswerService.basePath}/stats`
);
}
/** 读取最近问答记录,供 Dashboard 表格展示 */
public static getRecords(request: IRecordsRequest) {
return BaseClientService.get<IRecordsResponse>(
`${AnswerService.basePath}/records`,
{
page: request.page,
size: request.size
}
);
}
/** 清空当前进程内的答题缓存 */
public static clearCache() {
return BaseClientService.post<IClearCacheResponse>(
`${AnswerService.basePath}/cache/clear`
);
}
}