Files
knowai/api/README.md
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

57 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# API 模块
## 概述
API 模块提供统一的HTTP客户端和API请求处理功能支持模块化的API端点管理。
## 核心组件
1. **API 客户端 (client.ts)**
- 基于Axios的HTTP客户端
- 提供统一的请求和响应处理
- 支持请求拦截器和响应拦截器
2. **API 工厂 (factory.ts)**
- 创建API客户端实例
- 配置默认请求选项
- 提供单例模式确保全局一致性
3. **API 模块 (modules/)**
- 按功能模块组织API端点
- 提供类型安全的API方法
- 包含用户、聊天等业务模块
4. **类型定义 (types.d.ts)**
- 定义API相关的接口和类型
- 包含请求配置和响应格式
5. **错误处理 (errors.ts)**
- 定义API相关的错误类
- 提供错误处理和转换功能
## 使用方法
```typescript
import { createApiClient } from './api';
// 创建API客户端
const apiClient = createApiClient({
baseURL: 'https://api.example.com',
timeout: 10000,
});
// 使用API模块
import { userApi } from './api/modules/user';
// 获取用户信息
const user = await userApi.getUser('userId');
// 更新用户信息
await userApi.updateUser('userId', { name: 'New Name' });
```
## 设计模式
- **工厂模式**创建API客户端实例
- **单例模式**确保API客户端全局唯一
- **模块化模式**按功能组织API端点