taro-bluetooth-print 2.2.1 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +57 -165
  2. package/README.md +142 -285
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.es.js +1 -81644
  5. package/dist/index.umd.js +1 -1
  6. package/dist/types/adapters/AdapterFactory.d.ts +0 -1
  7. package/dist/types/adapters/AlipayAdapter.d.ts +0 -1
  8. package/dist/types/adapters/BaiduAdapter.d.ts +0 -1
  9. package/dist/types/adapters/BaseAdapter.d.ts +0 -1
  10. package/dist/types/adapters/ByteDanceAdapter.d.ts +0 -1
  11. package/dist/types/adapters/TaroAdapter.d.ts +0 -1
  12. package/dist/types/adapters/WebBluetoothAdapter.d.ts +0 -1
  13. package/dist/types/config/PrinterConfig.d.ts +0 -1
  14. package/dist/types/core/BluetoothPrinter.d.ts +1 -2
  15. package/dist/types/core/EventEmitter.d.ts +6 -26
  16. package/dist/types/core/index.d.ts +6 -0
  17. package/dist/types/drivers/CpclDriver.d.ts +304 -0
  18. package/dist/types/drivers/EscPos.d.ts +0 -1
  19. package/dist/types/drivers/GPrinterDriver.d.ts +63 -0
  20. package/dist/types/drivers/TsplDriver.d.ts +251 -0
  21. package/dist/types/drivers/ZplDriver.d.ts +325 -0
  22. package/dist/types/drivers/index.d.ts +9 -0
  23. package/dist/types/encoding/gbk-lite.d.ts +8 -0
  24. package/dist/types/encoding/gbk-table.d.ts +8 -30
  25. package/dist/types/index.d.ts +10 -5
  26. package/dist/types/plugins/PluginManager.d.ts +87 -0
  27. package/dist/types/plugins/builtin/LoggingPlugin.d.ts +14 -0
  28. package/dist/types/plugins/builtin/RetryPlugin.d.ts +18 -0
  29. package/dist/types/plugins/index.d.ts +7 -0
  30. package/dist/types/plugins/types.d.ts +97 -0
  31. package/dist/types/services/CommandBuilder.d.ts +0 -1
  32. package/dist/types/services/ConnectionManager.d.ts +1 -2
  33. package/dist/types/services/PrintJobManager.d.ts +0 -1
  34. package/dist/types/services/index.d.ts +8 -0
  35. package/dist/types/services/interfaces/index.d.ts +0 -1
  36. package/dist/types/template/TemplateEngine.d.ts +0 -1
  37. package/package.json +36 -20
  38. package/src/adapters/BaseAdapter.ts +6 -8
  39. package/src/core/BluetoothPrinter.ts +15 -15
  40. package/src/core/EventEmitter.ts +15 -15
  41. package/src/core/index.ts +7 -0
  42. package/src/drivers/CpclDriver.ts +549 -0
  43. package/src/drivers/GPrinterDriver.ts +115 -0
  44. package/src/drivers/TsplDriver.ts +405 -0
  45. package/src/drivers/ZplDriver.ts +543 -0
  46. package/src/drivers/index.ts +37 -0
  47. package/src/encoding/gbk-lite.ts +108 -0
  48. package/src/encoding/gbk-table.ts +80 -58
  49. package/src/index.ts +27 -23
  50. package/src/plugins/PluginManager.ts +195 -0
  51. package/src/plugins/builtin/LoggingPlugin.ts +99 -0
  52. package/src/plugins/builtin/RetryPlugin.ts +103 -0
  53. package/src/plugins/index.ts +10 -0
  54. package/src/plugins/types.ts +119 -0
  55. package/src/services/ConnectionManager.ts +22 -22
  56. package/src/services/index.ts +16 -0
package/CHANGELOG.md CHANGED
@@ -1,200 +1,92 @@
1
- # Changelog
1
+ # 更新日志 / Changelog
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [2.2.0] - 2026-01-04
8
+ ## [2.3.1] - 2026-03-21
9
9
 
10
- ### Added
10
+ ### 优化
11
11
 
12
- - **设备管理器 (DeviceManager)** - 蓝牙设备扫描和管理功能
13
- - 支持设备过滤(名称、服务UUID)
14
- - 设备发现事件监听
15
- - 已配对设备管理
12
+ - **打包**: 优化打包体积 -87%,编码数据懒加载
13
+ - **CI/CD**: 更新 GitHub Actions workflows,替换已弃用的 actions
16
14
 
17
- - **打印队列 (PrintQueue)** - 打印任务队列管理
18
- - 优先级排序(LOW/NORMAL/HIGH/URGENT)
19
- - FIFO 处理机制
20
- - 失败自动重试
21
- - 队列暂停/恢复/清空
15
+ ### 修复
22
16
 
23
- - **离线缓存 (OfflineCache)** - 断网时自动缓存打印任务
24
- - 本地存储持久化
25
- - 任务过期清理
26
- - 重连后自动同步
17
+ - 修复 EventEmitter lint 警告
18
+ - 修复 lint 错误和 CI 问题
27
19
 
28
- - **模板引擎 (TemplateEngine)** - 收据和标签模板渲染
29
- - 内置收据模板(店铺信息、商品列表、支付信息)
30
- - 内置标签模板(商品名称、价格、条码)
31
- - 变量替换和条件渲染
32
- - 模板验证功能
20
+ ### 新增
33
21
 
34
- - **条码生成器 (BarcodeGenerator)** - 多格式条码支持
35
- - Code128、Code39、EAN-13、EAN-8、UPC-A 格式
36
- - 条码内容验证
37
- - 可配置高度、宽度、文字位置
22
+ - **驱动**: 添加 GPrinterDriver 佳博驱动
23
+ - **测试**: 添加驱动单元测试
38
24
 
39
- - **文本格式化器 (TextFormatter)** - ESC/POS 文本格式化
40
- - 对齐方式(左/中/右)
41
- - 字体缩放(1-8倍)
42
- - 粗体、下划线、反白样式
25
+ ---
43
26
 
44
- - **预览渲染器 (PreviewRenderer)** - 打印预览功能
45
- - ESC/POS 命令解析
46
- - 渲染为 Base64 图像
47
- - 支持文本、条码、二维码预览
27
+ ## [2.3.0] - 2024-03-18
48
28
 
49
- - **Web Bluetooth 适配器 (WebBluetoothAdapter)** - H5 环境支持
50
- - 浏览器兼容性检测
51
- - 设备请求和选择
52
- - 完整的连接/断开/写入功能
29
+ ### 新增
53
30
 
54
- - **连接稳定性增强**
55
- - 心跳检测机制
56
- - 自动重连(可配置重试次数和间隔)
57
- - 自适应传输参数(动态调整分片大小和延迟)
31
+ - **驱动**: 新增 ZplDriver (斑马标签打印机)
32
+ - **驱动**: 新增 CpclDriver (CPCL 移动打印机)
33
+ - **适配器**: 新增 HarmonyOSAdapter (鸿蒙系统)
34
+ - **示例**: 新增微信小程序完整示例
35
+ - **示例**: 新增 H5 WebBluetooth 示例
36
+ - **示例**: 新增鸿蒙 HarmonyOS 示例
37
+ - **示例**: 新增 React Native 示例
38
+ - **文档**: 新增驱动使用指南
39
+ - **文档**: 新增平台适配器文档
40
+ - **文档**: 完善快速开始指南
41
+ - **文档**: 完善功能特性文档
42
+ - **文档**: 完善故障排除文档
58
43
 
59
- - **BluetoothPrinter 新方法**
60
- - `align(alignment)` - 设置文本对齐
61
- - `setSize(width, height)` - 设置字体大小
62
- - `setBold(enabled)` - 设置粗体
63
- - `setUnderline(enabled)` - 设置下划线
64
- - `resetStyle()` - 重置样式
65
- - `barcode(content, format, options)` - 打印条码
44
+ ### 优化
66
45
 
67
- - **编码服务 (EncodingService)** - 完整的中文编码支持
68
- - GBK、GB2312、Big5、UTF-8 编码
69
- - 编码自动检测
70
- - 不支持字符的替代处理
46
+ - **代码**: 添加 drivers/index.ts 模块导出
47
+ - **代码**: 添加 services/index.ts 服务层导出
48
+ - **代码**: 简化 src/index.ts 主入口
49
+ - **代码**: 修复 lint 格式问题
71
50
 
72
- ### Changed
51
+ ### 修复
73
52
 
74
- - 更新了 `src/index.ts`,导出所有新模块
75
- - 更新了 `AdapterFactory`,支持 Web Bluetooth 平台
76
- - 增强了 `ConnectionManager`,支持心跳和自动重连
77
- - 更新了 API 文档和 README,添加新功能说明
53
+ - 修复文档中的问题
54
+ - 优化代码结构
78
55
 
79
- ### Fixed
56
+ ---
80
57
 
81
- - 修复了格式化相关的 lint 错误
58
+ ## [2.2.0] - 2024-xx-xx
82
59
 
83
- ## [2.1.2] - 2025-12-16
60
+ ### 新增
84
61
 
85
- ### Added
62
+ - 模板引擎
63
+ - 打印预览
64
+ - 插件系统
65
+ - 文本格式化
86
66
 
87
- - 增强了弱网适配功能,支持动态分片大小调整
88
- - 实现了指数退避重试策略和智能超时处理
89
- - 添加了断点续传功能,支持作业ID生成与管理
90
- - 实现了作业状态保存与加载机制
91
- - 增强了图片处理功能,支持多种抖动算法(Floyd-Steinberg、Atkinson)
92
- - 添加了图片对比度和亮度调整功能
67
+ ---
93
68
 
94
- ### Changed
69
+ ## [2.1.0] - 2024-xx-xx
95
70
 
96
- - 优化了灰度转换和缩放算法,提高图片处理性能
97
- - 更新了TypeScript配置,移除无效设置
98
- - 更新了npm依赖到最新兼容版本
99
- - 优化了代码结构,提高了代码质量
71
+ ### 新增
100
72
 
101
- ### Fixed
73
+ - TSPL 驱动
74
+ - 离线缓存
75
+ - 打印队列
102
76
 
103
- - 修复了测试中缺少reflect-metadata的问题
104
- - 修复了TypeScript编译错误
105
- - 确保了所有异步操作都有正确的清理机制
77
+ ---
106
78
 
107
- ## [2.1.1] - 2025-12-02
79
+ ## [2.0.0] - 2024-xx-xx
108
80
 
109
- ### Added
81
+ ### 新增
110
82
 
111
- - Encoding类添加了配置选项,支持禁用GBK编码警告
112
- - Logger类添加了自定义日志处理选项
113
- - EventEmitter类添加了prepend和prependOnce方法
114
- - EventEmitter类添加了emitAsync方法,支持异步事件处理
115
- - EventEmitter类添加了getListeners和eventNames方法
83
+ - 完整的 ESC/POS 支持
84
+ - 微信/支付宝/百度/字节小程序适配器
85
+ - WebBluetooth 适配器
86
+ - 完整的 TypeScript 支持
116
87
 
117
- ### Changed
88
+ ---
118
89
 
119
- - 优化了Encoding类的警告机制,只在第一次使用时显示警告
120
- - 改进了Logger类的日志格式,保持与测试期望一致
121
- - 增强了EventEmitter类的API灵活性
122
- - 提高了代码质量,减少了any类型的使用
90
+ ## [1.x] - 早期版本
123
91
 
124
- ### Fixed
125
-
126
- - 修复了Jest未正常退出问题,添加了定时器清理逻辑
127
- - 修复了TypeScript编译错误
128
- - 修复了变量赋值前使用的问题
129
- - 修复了重复标识符问题
130
- - 确保了所有异步操作都有正确的清理机制
131
-
132
- ## [2.1.0] - 2025-11-25
133
-
134
- ### Added
135
-
136
- - 支持支付宝小程序平台
137
- - 支持百度小程序平台
138
- - 支持字节跳动小程序平台
139
- - 实现了平台自动检测机制
140
- - 新增了AdapterFactory用于自动选择适配器
141
- - 新增了BaseAdapter基类,提供通用功能
142
- - 完善了平台检测工具
143
-
144
- ### Changed
145
-
146
- - 优化了BluetoothPrinter类,使其使用AdapterFactory自动选择适配器
147
- - 更新了README.md,添加了跨平台支持信息
148
- - 优化了构建配置,提高了构建效率
149
-
150
- ### Fixed
151
-
152
- - 修复了TypeScript错误
153
- - 修复了测试用例中的问题
154
- - 优化了代码结构,提高了代码可读性
155
-
156
- ## [2.0.3] - 2025-11-22
157
-
158
- ### Changed
159
-
160
- - 优化了构建配置
161
- - 完善了文档
162
-
163
- ## [2.0.2] - 2025-11-21
164
-
165
- ### Fixed
166
-
167
- - 修复了部分TypeScript错误
168
-
169
- ## [2.0.1] - 2025-11-21
170
-
171
- ### Changed
172
-
173
- - 优化了代码结构
174
- - 完善了文档
175
-
176
- ## [2.0.0] - 2025-10-25
177
-
178
- ### Added
179
-
180
- - 全新的架构设计
181
- - 支持断点续传
182
- - 支持弱网适配
183
- - 支持图片打印
184
- - 支持二维码打印
185
- - 完善的事件系统
186
- - 详细的文档
187
-
188
- ### Changed
189
-
190
- - 重写了核心代码
191
- - 优化了API设计
192
- - 提高了性能和可靠性
193
-
194
- ## [1.0.0] - 2025-03-01
195
-
196
- ### Added
197
-
198
- - 初始版本
199
- - 基本的蓝牙打印功能
200
- - 支持微信小程序
92
+ 初始版本,仅支持基础打印功能。