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

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