Files
knowai/README.md
tobegold574 382e3aff21 feat(reset): 以构造器模式重构
- 加了大文件传输自定义分片协议

BREAKING CHANGES: 0.1.0(latest)
2025-11-30 20:27:53 +08:00

79 lines
2.3 KiB
Markdown
Raw Permalink 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.

# KnowAI Core
KnowAI Core 是前端核心库提供完整的API服务、HTTP客户端、装饰器系统和类型定义专注于后端通信和数据处理。
## 核心功能
### API 服务
- **装饰器驱动**基于TS5+装饰器实现的声明式API调用
- **模块化设计**按功能域划分API服务用户、帖子、聊天、模型、上传
- **统一错误处理**:标准化的错误响应和类型定义
- **路径参数支持**:内置支持`:param`格式的动态路径参数
### 客户端实现
- **基于Axios**高性能HTTP客户端封装
- **统一请求配置**:标准化的请求/响应接口
- **错误转换**自动将Axios错误转换为应用错误类型
- **类型安全**完整的TypeScript泛型支持
### 装饰器系统
- **HTTP方法装饰器**支持GET、POST、PUT、DELETE、PATCH
- **请求执行装饰器**自动处理API调用逻辑
- **客户端注入装饰器**自动注入HTTP客户端实例
- **TS5+ Stage 3**:遵循最新的装饰器规范
### 类型系统
- **完整类型定义**覆盖所有API请求/响应类型
- **业务实体类型**:用户、帖子、聊天、模型等核心实体类型
- **模块化组织**:按功能域分类管理类型定义
## 目录结构
```
knowai-core/
├── api/ # API服务模块
├── client/ # HTTP客户端实现
├── decorators/ # 装饰器系统
├── types/ # TypeScript类型定义
├── utils/ # 工具函数
├── index.ts # 主入口文件
├── package.json # 项目配置
└── tsconfig.json # TypeScript配置
```
## 使用方式
### 安装
```bash
# 使用 npm
npm install @knowai/core
# 使用 pnpm
pnpm add @knowai/core
```
### 导入API服务
```typescript
import { api } from '@knowai/core';
// 调用API方法
const posts = await api.post.getPosts({ page: 1, pageSize: 10 });
```
## 设计原则
- **声明式API**使用装饰器提供简洁的API定义方式
- **类型安全**全面利用TypeScript确保代码质量
- **模块化**:高内聚低耦合的模块化设计
- **可扩展性**易于添加新的API服务和功能
- **错误统一**:标准化的错误处理机制
## 更新日志
### 2025-11-30
- 用装饰器全部重构了一遍迭代版本为0.1.0
- 减少了百分之六十到八十的代码量
- 先发布0.1.0版本