Appearance
utils
QXS-BNS 提供了丰富的工具函数库,本指南将帮助你快速上手使用这些工具。
📦 安装
bash
# 安装工具库
pnpm add @qxs-bns/utils
🚀 使用方式
按需导入(推荐)
typescript
import { ArgoLog, Storage, DateTransfer } from '@qxs-bns/utils'
// 使用日志工具
ArgoLog.info('这是一条日志')
// 使用存储工具
const storage = new Storage('myApp_')
storage.set('user', { name: 'John' })
// 使用日期转换
const formatted = DateTransfer.format(new Date(), 'YYYY-MM-DD')
完整导入
typescript
import * as QxsUtils from '@qxs-bns/utils'
QxsUtils.ArgoLog.info('使用完整导入')
🚀 常用示例
日志记录
typescript
import { ArgoLog } from '@qxs-bns/utils'
// 基础日志
ArgoLog.info('用户登录成功', { userId: 123 })
ArgoLog.error('请求失败', { error: 'Network Error' })
// 带标签的日志
ArgoLog.tag('API').info('请求开始', { url: '/api/users' })
本地存储
typescript
import { Storage } from '@qxs-bns/utils'
// 创建存储实例
const storage = new Storage('myApp_')
// 存储数据
storage.set('userInfo', { name: 'John', age: 25 })
storage.set('token', 'abc123', 7 * 24 * 60 * 60 * 1000) // 7天过期
// 读取数据
const userInfo = storage.get('userInfo')
const token = storage.get('token')
设备检测
typescript
import { Device } from '@qxs-bns/utils'
// 检测设备类型
if (Device.isMobile()) {
console.log('移动端设备')
}
// 获取设备信息
const info = Device.getDeviceInfo()
📋 可用工具
工具名 | 说明 | 文档 |
---|---|---|
ArgoLog | 日志工具 | ✅ |
Storage | 存储工具 | ✅ |
DateTransfer | 日期工具 | ✅ |
Device | 设备检测 | ✅ |
FileOperations | 文件操作 | ✅ |
UseApi | API 请求 | ✅ |
🎯 特性
TypeScript 支持
所有工具函数都提供完整的 TypeScript 类型定义:
typescript
import type { LogLevel, StorageOptions, DateFormat } from '@qxs-bns/utils'
轻量级设计
- 支持 Tree Shaking
- 按需加载,减少打包体积
- 无外部依赖(除必要的工具库)
浏览器兼容
- 支持现代浏览器
- 移动端友好
- 提供 Polyfill 支持
📖 快速开始
1. 日志记录
typescript
import { ArgoLog } from '@qxs-bns/utils'
// 设置日志级别
ArgoLog.setLevel('debug')
// 记录不同级别的日志
ArgoLog.debug('调试信息')
ArgoLog.info('普通信息')
ArgoLog.warn('警告信息')
ArgoLog.error('错误信息')
2. 本地存储
typescript
import { Storage } from '@qxs-bns/utils'
const storage = new Storage('myApp_')
// 存储数据
storage.set('userInfo', { name: 'John', age: 30 })
// 读取数据
const userInfo = storage.get('userInfo')
// 删除数据
storage.remove('userInfo')
3. 日期处理
typescript
import { DateTransfer } from '@qxs-bns/utils'
// 格式化日期
const formatted = DateTransfer.format(new Date(), 'YYYY-MM-DD HH:mm:ss')
// 相对时间
const relative = DateTransfer.fromNow(new Date('2023-01-01'))
// 日期计算
const nextWeek = DateTransfer.add(new Date(), 7, 'days')
🔧 开发指南
添加新工具
- 在
packages/utils/src/
下创建新文件 - 实现工具函数并导出
- 在
packages/utils/index.ts
中导出 - 添加 TypeScript 类型定义
- 编写单元测试
- 更新文档
测试
bash
# 运行工具函数测试
pnpm test:utils
# 运行特定测试
pnpm test:utils -- --grep "ArgoLog"
🤝 贡献
欢迎贡献新的工具函数!请查看 开发指南 了解详细信息。