更新日志
v1.0.0 (2024-01-01)
✨ 新功能
API 封装
StrawPlus 装饰器模式: 基于装饰器的 API 封装方案
@ConnectStrawPlus- 类级装饰器,配置基础请求参数@Get、@Post、@Put、@Delete- 方法级装饰器,定义 HTTP 请求方法@Debounce- 防抖装饰器,控制请求频率Res- 响应数据处理装饰器- 支持小程序环境适配
StrawApi 函数式模式: 基于函数式的 API 封装方案
- 链式调用支持
- 灵活的请求配置
- 拦截器支持
- 小程序环境适配
工具函数
数据处理工具
encryption- 简单的字符串加密函数decrypt- 对应的字符串解密函数
数组操作工具
splitArray- 数组分割函数,支持大数据分批处理arrayFoldFront- 数组重排函数,适用于表格数据处理
对象操作工具
deepClone- 深拷贝函数,支持嵌套对象和数组copyValueOfTheSameKey- 复制相同键值函数deleteSameKeyOfTheSameValue- 删除相同键值函数
时间处理工具
splitTime- 时间差计算函数,支持倒计时等功能
🚀 优化
- TypeScript 支持: 完整的 TypeScript 类型定义
- 模块化设计: 支持按需导入,减少打包体积
- 错误处理: 完善的错误处理机制
- 性能优化: 防抖、缓存等性能优化措施
📖 文档
- 完整文档站点: 使用 VitePress 构建的文档站点
- API 参考: 详细的 API 文档和使用示例
- 使用指南: 从安装到高级使用的完整指南
- 工具函数文档: 每个工具函数的详细说明和使用场景
🎯 特性亮点
- 多种封装方式: 提供装饰器和函数式两种 API 封装方案,满足不同开发习惯
- 小程序支持: 内置小程序环境适配,支持微信、支付宝等小程序平台
- 丰富的工具函数: 涵盖数据处理、数组操作、对象操作、时间处理等常用功能
- TypeScript 友好: 完整的类型定义,提供优秀的开发体验
- 轻量级: 按需导入,无额外依赖(除 axios 外)
- 易于扩展: 模块化的设计,便于扩展和定制
🛠️ 技术栈
- 核心依赖: axios(HTTP 请求)
- 开发语言: TypeScript
- 构建工具: Rollup
- 测试框架: Jest
- 文档工具: VitePress
📦 安装使用
bash
# npm
npm install strap-trousers
# yarn
yarn add strap-trousers
# pnpm
pnpm add strap-trousers🔧 基本用法
typescript
// StrawPlus 装饰器模式
import { ConnectStrawPlus, Get } from 'strap-trousers'
@ConnectStrawPlus({ baseURL: 'https://api.example.com' })
class UserAPI {
@Get('/users')
getUsers() {}
}
// StrawApi 函数式模式
import { StrawApi } from 'strap-trousers'
const api = StrawApi({ baseURL: 'https://api.example.com' })
const users = await api.get('/users')
// 工具函数
import { encryption, splitArray, deepClone } from 'strap-trousers'
const encrypted = encryption('data')
const chunks = splitArray([1,2,3,4,5], 2)
const cloned = deepClone({ name: 'test' })🎉 里程碑
- ✅ 核心功能开发完成
- ✅ TypeScript 类型定义完善
- ✅ 文档站点上线
- ✅ 单元测试覆盖
- ✅ 小程序环境测试
- ✅ npm 包发布
🙏 致谢
感谢所有贡献者的努力,让 Strap-Trousers 成为一个功能完善、易于使用的 JavaScript 库。
🔗 相关链接
版本说明
我们遵循 语义化版本 规范:
- 主版本号 (MAJOR): 不兼容的 API 修改
- 次版本号 (MINOR): 向下兼容的功能性新增
- 修订号 (PATCH): 向下兼容的问题修正
更新频率
- 主版本: 每年 1-2 次重大更新
- 次版本: 每月功能更新
- 修订版本: 每周问题修复
最后更新:2024年1月1日