Skip to content

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文件操作
UseApiAPI 请求

🎯 特性

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')

🔧 开发指南

添加新工具

  1. packages/utils/src/ 下创建新文件
  2. 实现工具函数并导出
  3. packages/utils/index.ts 中导出
  4. 添加 TypeScript 类型定义
  5. 编写单元测试
  6. 更新文档

测试

bash
# 运行工具函数测试
pnpm test:utils

# 运行特定测试
pnpm test:utils -- --grep "ArgoLog"

🤝 贡献

欢迎贡献新的工具函数!请查看 开发指南 了解详细信息。

📄 许可证

MIT License

Released under the MIT License.