Files
knowai/api/factory.ts
tobegold574 6a81b7bb13
Some checks reported errors
continuous-integration/drone/push Build was killed
feat(image): 新建 knowai-core:1.0.0 镜像并完成推送
- 搭建 api、auth、utils 等逻辑模块
- 通过 tsc、eslint、vitest 测试验证

BREAKING CHANGE: 新镜像分支
2025-11-10 20:20:25 +08:00

41 lines
1.1 KiB
TypeScript

import { apiClient, createApiClient } from './client';
import type { AxiosRequestConfig } from 'axios';
import { postApi } from './modules/post';
import { userApi } from './modules/user';
import { chatApi } from './modules/chat';
import { modelApi } from './modules/model';
/**
* API 工厂函数,用于创建和管理 API 实例
* 提供统一的 API 访问入口和配置管理
*/
export const createApi = (config?: Partial<AxiosRequestConfig>) => {
const client = config ? createApiClient(config) : apiClient;
return {
// 核心客户端
client,
// API 模块 - 使用提供的客户端或默认客户端
modules: {
post: postApi(client),
user: userApi(client),
chat: chatApi(client),
model: modelApi(client)
},
// 便捷访问
post: postApi(client),
user: userApi(client),
chat: chatApi(client),
model: modelApi(client)
};
};
// 导出默认 API 实例
export const api = createApi();
// 向后兼容的导出
export { apiClient } from './client';
export { postApi, userApi, chatApi, modelApi } from './modules';