Some checks reported errors
continuous-integration/drone/push Build was killed
- 搭建 api、auth、utils 等逻辑模块 - 通过 tsc、eslint、vitest 测试验证 BREAKING CHANGE: 新镜像分支
57 lines
1.3 KiB
Markdown
57 lines
1.3 KiB
Markdown
# 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端点 |