taro-bluetooth-print 2.13.0 → 2.15.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.
- package/CHANGELOG.md +75 -0
- package/README.md +270 -246
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/types/adapters/AlipayAdapter.d.ts +0 -14
- package/dist/types/adapters/BaiduAdapter.d.ts +0 -14
- package/dist/types/adapters/BaseAdapter.d.ts +9 -3
- package/dist/types/adapters/ByteDanceAdapter.d.ts +0 -14
- package/dist/types/adapters/QQAdapter.d.ts +0 -18
- package/dist/types/adapters/TaroAdapter.d.ts +0 -14
- package/dist/types/core/BluetoothPrinter.d.ts +43 -287
- package/dist/types/drivers/{escPosDriver.d.ts → EscPosDriver.d.ts} +6 -0
- package/dist/types/drivers/GPrinterDriver.d.ts +1 -1
- package/dist/types/drivers/SprtDriver.d.ts +1 -1
- package/dist/types/drivers/XprinterDriver.d.ts +1 -1
- package/dist/types/drivers/index.d.ts +1 -1
- package/dist/types/encoding/index.d.ts +2 -2
- package/dist/types/errors/{baseError.d.ts → BaseError.d.ts} +6 -0
- package/dist/types/errors/CommandBuildError.d.ts +3 -17
- package/dist/types/errors/ConnectionError.d.ts +3 -20
- package/dist/types/errors/PrintJobError.d.ts +2 -18
- package/dist/types/errors/index.d.ts +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/plugins/PluginManager.d.ts +2 -2
- package/dist/types/plugins/{types.d.ts → PluginTypes.d.ts} +1 -1
- package/dist/types/plugins/builtin/LoggingPlugin.d.ts +1 -1
- package/dist/types/plugins/builtin/RetryPlugin.d.ts +2 -2
- package/dist/types/plugins/index.d.ts +1 -1
- package/dist/types/services/CommandBuilder.d.ts +8 -151
- package/dist/types/services/ConnectionManager.d.ts +6 -1
- package/dist/types/services/PrintHistory.d.ts +14 -27
- package/dist/types/services/PrintJobManager.d.ts +24 -140
- package/dist/types/utils/BoundedOrderedMap.d.ts +47 -0
- package/package.json +4 -2
- package/src/adapters/AdapterFactory.ts +1 -1
- package/src/adapters/AlipayAdapter.ts +3 -21
- package/src/adapters/BaiduAdapter.ts +3 -21
- package/src/adapters/BaseAdapter.ts +27 -18
- package/src/adapters/ByteDanceAdapter.ts +3 -21
- package/src/adapters/ChunkWriteStrategy.ts +1 -1
- package/src/adapters/QQAdapter.ts +3 -25
- package/src/adapters/ReactNativeAdapter.ts +7 -5
- package/src/adapters/TaroAdapter.ts +5 -20
- package/src/adapters/WebBluetoothAdapter.ts +1 -1
- package/src/config/PrinterConfigManager.ts +1 -1
- package/src/core/BluetoothPrinter.ts +114 -421
- package/src/device/DeviceManager.ts +1 -1
- package/src/device/MultiPrinterManager.ts +1 -1
- package/src/drivers/CpclDriver.ts +1 -1
- package/src/drivers/{escPosDriver.ts → EscPosDriver.ts} +14 -15
- package/src/drivers/GPrinterDriver.ts +1 -1
- package/src/drivers/SprtDriver.ts +1 -1
- package/src/drivers/XprinterDriver.ts +1 -1
- package/src/drivers/ZplDriver.ts +1 -1
- package/src/drivers/index.ts +1 -1
- package/src/encoding/EncodingService.ts +2 -2
- package/src/encoding/{gbk-table.ts → GbkTable.ts} +2 -2
- package/src/encoding/index.ts +2 -2
- package/src/errors/{baseError.ts → BaseError.ts} +9 -0
- package/src/errors/CommandBuildError.ts +19 -30
- package/src/errors/ConnectionError.ts +9 -37
- package/src/errors/PrintJobError.ts +10 -32
- package/src/errors/index.ts +1 -1
- package/src/factory/PrinterFactory.ts +1 -1
- package/src/index.ts +3 -2
- package/src/plugins/PluginManager.ts +7 -5
- package/src/plugins/{types.ts → PluginTypes.ts} +1 -1
- package/src/plugins/builtin/LoggingPlugin.ts +1 -1
- package/src/plugins/builtin/RetryPlugin.ts +2 -2
- package/src/plugins/index.ts +1 -1
- package/src/preview/PreviewRenderer.ts +1 -1
- package/src/queue/PrintQueue.ts +1 -1
- package/src/services/BatchPrintManager.ts +1 -1
- package/src/services/CloudPrintManager.ts +1 -1
- package/src/services/CommandBuilder.ts +35 -193
- package/src/services/ConnectionManager.ts +28 -21
- package/src/services/PrintHistory.ts +43 -120
- package/src/services/PrintJobManager.ts +148 -331
- package/src/services/PrintScheduler.ts +1 -1
- package/src/template/engines/TemplateRenderer.ts +1 -1
- package/src/utils/BoundedOrderedMap.ts +120 -0
- package/src/utils/image.ts +1 -1
- package/dist/types/utils/errorHandler.d.ts +0 -78
- package/dist/types/utils/validation.d.ts +0 -8
- package/src/utils/errorHandler.ts +0 -196
- package/src/utils/validation.ts +0 -9
- /package/dist/types/drivers/{barcode-helpers.d.ts → BarcodeHelpers.d.ts} +0 -0
- /package/dist/types/encoding/{gbk-data.d.ts → GbkData.d.ts} +0 -0
- /package/dist/types/encoding/{gbk-lite.d.ts → GbkLite.d.ts} +0 -0
- /package/dist/types/encoding/{gbk-table.d.ts → GbkTable.d.ts} +0 -0
- /package/dist/types/encoding/{korean-japanese.d.ts → KoreanJapanese.d.ts} +0 -0
- /package/src/drivers/{barcode-helpers.ts → BarcodeHelpers.ts} +0 -0
- /package/src/encoding/{gbk-data.ts → GbkData.ts} +0 -0
- /package/src/encoding/{gbk-lite.ts → GbkLite.ts} +0 -0
- /package/src/encoding/{korean-japanese.ts → KoreanJapanese.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,80 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.15.1] - 2026-07-07
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **README logo 修复** — npm 注册表 README 中 logo 使用相对路径 `docs/public/logo.svg`,在 npmjs.com 上无法访问。已改为绝对 URL:`https://agions.github.io/taro-bluetooth-print/logo.svg`(GitHub Pages 托管,全球 CDN 可用)
|
|
8
|
+
- **examples 文档补全** — 为 `examples/weapp` / `examples/h5` / `examples/harmonyos` / `examples/react-native` 各添加专业 README.md,包含前置条件、快速开始、核心代码说明、平台差异、常见问题
|
|
9
|
+
- **examples/README.md 重写** — 新增平台对比表、4 大示例场景(小票 / 标签 / 队列 / 断点续传)带完整代码示例、平台功能矩阵、常见问题汇总
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- **README.md** — 示例项目章节从简单表格升级为带场景代码块的专业文档(+119 行)
|
|
14
|
+
- **examples/README.md** — 从 159 行重写为 187 行专业文档,新增 4 个平台 README(各 ~120-180 行)
|
|
15
|
+
- **Brand Consistency** — 所有示例文档统一使用品牌渐变色(indigo → cyan)和文档结构模板
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## [2.14.0] - 2026-07-07
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **核心引擎解耦**: `BluetoothPrinter` 抽出 `handleError()` 与 `resolveConnectionManager()` helper,消除 4 处 try/catch 模板
|
|
24
|
+
- **命令构建器精简**: `CommandBuilder` 抽出 `pushCommands()` helper,消除 7 处 `buffer.push + invalidateCache` 重复
|
|
25
|
+
- **适配器分层**: 5 个 mini-program adapter(Taro / Alipay / Baidu / ByteDance / QQ)精简为薄壳类(-69% 平均)
|
|
26
|
+
- **服务层去重**: `ConnectionManager.classifyConnectError()`、`PrintJobManager.wrapError()` 抽离,消除嵌套三元
|
|
27
|
+
- **错误类去重**: `ConnectionError` / `PrintJobError` 移除冗余 mapping 表(基于字符串值与 `ErrorCode` 完全一致);`CommandBuildError` 仅保留 DRIVER_ERROR 单条映射
|
|
28
|
+
- **类型黑洞修复**: `PluginManager.executeHook()` 移除 `@ts-expect-error`,改用显式类型守卫
|
|
29
|
+
- **命名规范统一**: 冻结 PascalCase(类文件)/ camelCase(工具文件)/ `I`-prefix(接口)/ 0 下划线前缀 4 条规则
|
|
30
|
+
- **API 表面补完**: `src/index.ts` 新增 `QQAdapter` 导出
|
|
31
|
+
|
|
32
|
+
### Removed
|
|
33
|
+
|
|
34
|
+
- `src/utils/validation.ts` — deprecated 空 stub,无任何引用
|
|
35
|
+
|
|
36
|
+
### Renamed
|
|
37
|
+
|
|
38
|
+
- `drivers/escPosDriver.ts` → `drivers/EscPosDriver.ts`
|
|
39
|
+
- `drivers/barcode-helpers.ts` → `drivers/BarcodeHelpers.ts`
|
|
40
|
+
- `errors/baseError.ts` → `errors/BaseError.ts`
|
|
41
|
+
- `plugins/types.ts` → `plugins/PluginTypes.ts`
|
|
42
|
+
- `encoding/gbk-{table,lite,data}.ts` → `encoding/Gbk{Table,Lite,Data}.ts`
|
|
43
|
+
- `encoding/korean-japanese.ts` → `encoding/KoreanJapanese.ts`
|
|
44
|
+
|
|
45
|
+
### Refactoring Metrics
|
|
46
|
+
|
|
47
|
+
| 指标 | Before | After | Δ |
|
|
48
|
+
|---|---:|---:|---:|
|
|
49
|
+
| `BluetoothPrinter.ts` | 433 行 | 277 行 | **-36%** |
|
|
50
|
+
| `CommandBuilder.ts` | 315 行 | 158 行 | **-50%** |
|
|
51
|
+
| `PrintJobManager.ts` | 539 行 | 386 行 | **-28%** |
|
|
52
|
+
| 5 mini-program adapters | ~200 行 | ~62 行 | **-69%** |
|
|
53
|
+
| 3 error classes | 225 行 | 142 行 | **-37%** |
|
|
54
|
+
| **Total** | **23,355 行** | **22,567 行** | **-788 / -3.4%** |
|
|
55
|
+
|
|
56
|
+
### Testing
|
|
57
|
+
|
|
58
|
+
- 1,102 tests passed, 38 skipped, 0 regressions
|
|
59
|
+
- type-check: 0 errors (strict + noUncheckedIndexedAccess 全开)
|
|
60
|
+
- eslint: 0 errors / 0 warnings
|
|
61
|
+
- vite build: 22.84s · 230.91 KB gzip(基线 22.25s · 230.58 KB gzip)
|
|
62
|
+
- GitHub Actions CI: ✅ success (Run #28835694715)
|
|
63
|
+
|
|
64
|
+
### Commits
|
|
65
|
+
|
|
66
|
+
7 个 conventional commits 落地 (`be2fbdc..06f5ede`):
|
|
67
|
+
|
|
68
|
+
1. `refactor(core): simplify BluetoothPrinter & CommandBuilder`
|
|
69
|
+
2. `refactor(services): dedup ConnectionManager + PrintJobManager`
|
|
70
|
+
3. `refactor(adapters): deduplicate mini-program adapters and BaseAdapter imports`
|
|
71
|
+
4. `refactor: enforce PascalCase file naming for class-bearing modules`
|
|
72
|
+
5. `refactor: remove @ts-expect-error and dead code`
|
|
73
|
+
6. `refactor(errors): deduplicate error-code mapping tables`
|
|
74
|
+
7. `chore: update import paths after PascalCase file renames`
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
3
78
|
## [2.13.0] - 2026-05-27
|
|
4
79
|
|
|
5
80
|
### Changed
|