API 模块
概述
API 模块提供统一的HTTP客户端和API请求处理功能,支持模块化的API端点管理。
核心组件
-
API 客户端 (client.ts)
- 基于Axios的HTTP客户端
- 提供统一的请求和响应处理
- 支持请求拦截器和响应拦截器
-
API 工厂 (factory.ts)
- 创建API客户端实例
- 配置默认请求选项
- 提供单例模式确保全局一致性
-
API 模块 (modules/)
- 按功能模块组织API端点
- 提供类型安全的API方法
- 包含用户、聊天等业务模块
-
类型定义 (types.d.ts)
- 定义API相关的接口和类型
- 包含请求配置和响应格式
-
错误处理 (errors.ts)
- 定义API相关的错误类
- 提供错误处理和转换功能
使用方法
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端点