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.
Files changed (96) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +270 -246
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.es.js +1 -1
  5. package/dist/index.umd.js +1 -1
  6. package/dist/types/adapters/AlipayAdapter.d.ts +0 -14
  7. package/dist/types/adapters/BaiduAdapter.d.ts +0 -14
  8. package/dist/types/adapters/BaseAdapter.d.ts +9 -3
  9. package/dist/types/adapters/ByteDanceAdapter.d.ts +0 -14
  10. package/dist/types/adapters/QQAdapter.d.ts +0 -18
  11. package/dist/types/adapters/TaroAdapter.d.ts +0 -14
  12. package/dist/types/core/BluetoothPrinter.d.ts +43 -287
  13. package/dist/types/drivers/{escPosDriver.d.ts → EscPosDriver.d.ts} +6 -0
  14. package/dist/types/drivers/GPrinterDriver.d.ts +1 -1
  15. package/dist/types/drivers/SprtDriver.d.ts +1 -1
  16. package/dist/types/drivers/XprinterDriver.d.ts +1 -1
  17. package/dist/types/drivers/index.d.ts +1 -1
  18. package/dist/types/encoding/index.d.ts +2 -2
  19. package/dist/types/errors/{baseError.d.ts → BaseError.d.ts} +6 -0
  20. package/dist/types/errors/CommandBuildError.d.ts +3 -17
  21. package/dist/types/errors/ConnectionError.d.ts +3 -20
  22. package/dist/types/errors/PrintJobError.d.ts +2 -18
  23. package/dist/types/errors/index.d.ts +1 -1
  24. package/dist/types/index.d.ts +3 -2
  25. package/dist/types/plugins/PluginManager.d.ts +2 -2
  26. package/dist/types/plugins/{types.d.ts → PluginTypes.d.ts} +1 -1
  27. package/dist/types/plugins/builtin/LoggingPlugin.d.ts +1 -1
  28. package/dist/types/plugins/builtin/RetryPlugin.d.ts +2 -2
  29. package/dist/types/plugins/index.d.ts +1 -1
  30. package/dist/types/services/CommandBuilder.d.ts +8 -151
  31. package/dist/types/services/ConnectionManager.d.ts +6 -1
  32. package/dist/types/services/PrintHistory.d.ts +14 -27
  33. package/dist/types/services/PrintJobManager.d.ts +24 -140
  34. package/dist/types/utils/BoundedOrderedMap.d.ts +47 -0
  35. package/package.json +4 -2
  36. package/src/adapters/AdapterFactory.ts +1 -1
  37. package/src/adapters/AlipayAdapter.ts +3 -21
  38. package/src/adapters/BaiduAdapter.ts +3 -21
  39. package/src/adapters/BaseAdapter.ts +27 -18
  40. package/src/adapters/ByteDanceAdapter.ts +3 -21
  41. package/src/adapters/ChunkWriteStrategy.ts +1 -1
  42. package/src/adapters/QQAdapter.ts +3 -25
  43. package/src/adapters/ReactNativeAdapter.ts +7 -5
  44. package/src/adapters/TaroAdapter.ts +5 -20
  45. package/src/adapters/WebBluetoothAdapter.ts +1 -1
  46. package/src/config/PrinterConfigManager.ts +1 -1
  47. package/src/core/BluetoothPrinter.ts +114 -421
  48. package/src/device/DeviceManager.ts +1 -1
  49. package/src/device/MultiPrinterManager.ts +1 -1
  50. package/src/drivers/CpclDriver.ts +1 -1
  51. package/src/drivers/{escPosDriver.ts → EscPosDriver.ts} +14 -15
  52. package/src/drivers/GPrinterDriver.ts +1 -1
  53. package/src/drivers/SprtDriver.ts +1 -1
  54. package/src/drivers/XprinterDriver.ts +1 -1
  55. package/src/drivers/ZplDriver.ts +1 -1
  56. package/src/drivers/index.ts +1 -1
  57. package/src/encoding/EncodingService.ts +2 -2
  58. package/src/encoding/{gbk-table.ts → GbkTable.ts} +2 -2
  59. package/src/encoding/index.ts +2 -2
  60. package/src/errors/{baseError.ts → BaseError.ts} +9 -0
  61. package/src/errors/CommandBuildError.ts +19 -30
  62. package/src/errors/ConnectionError.ts +9 -37
  63. package/src/errors/PrintJobError.ts +10 -32
  64. package/src/errors/index.ts +1 -1
  65. package/src/factory/PrinterFactory.ts +1 -1
  66. package/src/index.ts +3 -2
  67. package/src/plugins/PluginManager.ts +7 -5
  68. package/src/plugins/{types.ts → PluginTypes.ts} +1 -1
  69. package/src/plugins/builtin/LoggingPlugin.ts +1 -1
  70. package/src/plugins/builtin/RetryPlugin.ts +2 -2
  71. package/src/plugins/index.ts +1 -1
  72. package/src/preview/PreviewRenderer.ts +1 -1
  73. package/src/queue/PrintQueue.ts +1 -1
  74. package/src/services/BatchPrintManager.ts +1 -1
  75. package/src/services/CloudPrintManager.ts +1 -1
  76. package/src/services/CommandBuilder.ts +35 -193
  77. package/src/services/ConnectionManager.ts +28 -21
  78. package/src/services/PrintHistory.ts +43 -120
  79. package/src/services/PrintJobManager.ts +148 -331
  80. package/src/services/PrintScheduler.ts +1 -1
  81. package/src/template/engines/TemplateRenderer.ts +1 -1
  82. package/src/utils/BoundedOrderedMap.ts +120 -0
  83. package/src/utils/image.ts +1 -1
  84. package/dist/types/utils/errorHandler.d.ts +0 -78
  85. package/dist/types/utils/validation.d.ts +0 -8
  86. package/src/utils/errorHandler.ts +0 -196
  87. package/src/utils/validation.ts +0 -9
  88. /package/dist/types/drivers/{barcode-helpers.d.ts → BarcodeHelpers.d.ts} +0 -0
  89. /package/dist/types/encoding/{gbk-data.d.ts → GbkData.d.ts} +0 -0
  90. /package/dist/types/encoding/{gbk-lite.d.ts → GbkLite.d.ts} +0 -0
  91. /package/dist/types/encoding/{gbk-table.d.ts → GbkTable.d.ts} +0 -0
  92. /package/dist/types/encoding/{korean-japanese.d.ts → KoreanJapanese.d.ts} +0 -0
  93. /package/src/drivers/{barcode-helpers.ts → BarcodeHelpers.ts} +0 -0
  94. /package/src/encoding/{gbk-data.ts → GbkData.ts} +0 -0
  95. /package/src/encoding/{gbk-lite.ts → GbkLite.ts} +0 -0
  96. /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