Files
OCS_service/app/services/answer_service.ts
T
2026-05-22 16:27:35 +08:00

56 lines
1.5 KiB
TypeScript

// app/services/answer_service.ts - OCS AI 答题服务相关 API
import type {
IClearCacheResponse,
IHealthResponse,
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<IHealthResponse>(
`${AnswerService.basePath}/health`
);
}
/** 读取运行统计;配置 ACCESS_TOKEN 时由服务端校验 */
public static getStats() {
return BaseClientService.get<IStatsResponse>(
`${AnswerService.basePath}/stats`
);
}
/** 读取最近问答记录,供 Dashboard 表格展示 */
public static getRecords() {
return BaseClientService.get<IRecordsResponse>(
`${AnswerService.basePath}/records`
);
}
/** 清空当前进程内的答题缓存 */
public static clearCache() {
return BaseClientService.post<IClearCacheResponse>(
`${AnswerService.basePath}/cache/clear`
);
}
}