Files
knowai/api
tobegold574 a0c907beed feat(api): 添加热门卡片与榜单接口及实现
- 新增热门帖子、热门作者、榜单接口及实现
- 新增api-documentation,更好的ai协作
- 修复types没有导出的问题

BREAKING CHANGES: 1.0.0->1.1.0(latest)
2025-11-18 22:29:40 +08:00
..

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相关的错误类
    • 提供错误处理和转换功能

使用方法

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端点