45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
// app/services/answer_service.ts - OCS AI 答题服务相关 API
|
|
import type {
|
|
IApiResponse,
|
|
IClearCacheResponse,
|
|
IRecordsRequest,
|
|
IRecordsResponse,
|
|
ISearchRequest,
|
|
ISearchResponse
|
|
} 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
|
|
);
|
|
}
|
|
|
|
/** 读取最近问答记录,供 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`
|
|
);
|
|
}
|
|
}
|