@posx/core 5.5.395 → 5.5.396
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/CLAUDE.md +23 -23
- package/LICENSE +21 -21
- package/README.md +85 -85
- package/build/index.d.ts +3 -0
- package/build/index.js +1 -1
- package/dev/.stfolder/syncthing-folder-9a95b7.txt +5 -0
- package/dev/98894488.xlsx +0 -0
- package/dev/HappyThaiSembawang.csv +336 -0
- package/dev/KB/create-new-model.md +34 -0
- package/dev/KB/markdown-lint.md +14 -0
- package/dev/KB/readmefirst.md +6 -0
- package/dev/Merchants/HappyThaiSembawang.csv +400 -0
- package/dev/Merchants/HappyThaiSembawang.xlsx +0 -0
- package/dev/Product_Import_Template.xlsx +0 -0
- package/dev/XPOS Invoice Module.pdf +232 -0
- package/dev/escpos/receipt.bin +0 -0
- package/dev/escpos/receipt.hex +1 -0
- package/dev/escpos/receipt.json +1 -0
- package/dev/escpos-cli-usage.md +103 -0
- package/dev/harbor-harness-deployment.md +78 -0
- package/dev/nginx-harbor-harness.conf +84 -0
- package/dev/px-cli.md +99 -0
- package/dev/test-logs/2026-02.md +5 -0
- package/dev/tmp/xpos_product_import(1).csv +338 -0
- package/dev/tmp/xpos_product_import_fixed.csv +338 -0
- package/dev//344/272/247/345/223/201/345/257/274/345/205/245/346/250/241/346/235/277.xlsx +0 -0
- package/jest.config.cjs +36 -36
- package/jest.setup.cjs +80 -80
- package/package.json +1 -1
- package/package.publish.json +121 -121
- package/px/.env.example +3 -0
- package/px/commands/category.ts +47 -0
- package/px/commands/product.ts +51 -0
- package/px/http.ts +40 -0
- package/px/index.ts +35 -0
- package/tsdown.config.ts +21 -21
- package/vite.config.ts +86 -86
- package/memo/technical-docs/01_ARCHITECTURE.md +0 -147
- package/memo/technical-docs/02_CORE_BUSINESS.md +0 -292
- package/memo/technical-docs/03_UI_COMPONENTS.md +0 -59
- package/memo/technical-docs/04_VIEWS.md +0 -82
- package/memo/technical-docs/05_DATA_LAYER.md +0 -375
- package/memo/technical-docs/06_CROSS_PLATFORM.md +0 -246
- package/memo/technical-docs/07_SIMILARITY_INDEX.md +0 -195
- package/memo/technical-docs/CHECKPOINT.md +0 -46
- package/memo/technical-docs/PROJECT_OVERVIEW.md +0 -122
- package/memo/technical-docs/TECHNICAL_DOCS_PLAN.md +0 -77
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
# 07 - 相似性索引
|
|
2
|
-
|
|
3
|
-
> AI 上下文索引:功能对照、服务模式、代码复用、架构模式
|
|
4
|
-
|
|
5
|
-
## 服务层模式对照
|
|
6
|
-
|
|
7
|
-
### 基础服务模式
|
|
8
|
-
|
|
9
|
-
所有领域服务继承相同的基础架构:
|
|
10
|
-
|
|
11
|
-
| 模式 | 基类 | 特点 |
|
|
12
|
-
|------|------|------|
|
|
13
|
-
| 本地服务 | AppLocalService | 仅本地 CRUD,无远程调用 |
|
|
14
|
-
| 远程服务 | AppRemoteService | CRUD + API 同步 |
|
|
15
|
-
| 计算服务 | InvoiceBaseService | 复杂业务计算 |
|
|
16
|
-
|
|
17
|
-
### 服务对照表
|
|
18
|
-
|
|
19
|
-
| 服务 | 基类 | CRUD | API 同步 | 特殊功能 |
|
|
20
|
-
|------|------|------|---------|---------|
|
|
21
|
-
| ItemService | AppRemoteService | ✓ | ✓ | 条码搜索 |
|
|
22
|
-
| CategoryService | AppRemoteService | ✓ | ✓ | 序列排序 |
|
|
23
|
-
| SectionService | AppRemoteService | ✓ | ✓ | 序列排序 |
|
|
24
|
-
| SectionItemService | AppRemoteService | ✓ | ✓ | 桌位管理 |
|
|
25
|
-
| InvoiceService | 多层继承 | ✓ | ✓ | 计算引擎 |
|
|
26
|
-
| EmployeeService | AppRemoteService | ✓ | ✓ | 密码哈希 |
|
|
27
|
-
| ConfigService | AppRemoteService | ✓ | ✓ | 配置验证 |
|
|
28
|
-
| PrinterService | AppRemoteService | ✓ | ✓ | 网络发现 |
|
|
29
|
-
| PrintJobService | AppRemoteService | ✓ | ✓ | 队列管理 |
|
|
30
|
-
| ReportService | AppRemoteService | ✓ | ✓ | 聚合计算 |
|
|
31
|
-
|
|
32
|
-
## 数据模型模式
|
|
33
|
-
|
|
34
|
-
### 基础模型继承
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
IAppCoreModel
|
|
38
|
-
│
|
|
39
|
-
└── IAppBaseModel (+ name)
|
|
40
|
-
│
|
|
41
|
-
└── IAppExtraModel (+ description)
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 模型对照
|
|
45
|
-
|
|
46
|
-
| 模型 | 基类 | 额外字段 | 软删除 |
|
|
47
|
-
|------|------|---------|--------|
|
|
48
|
-
| Item | IAppExtraModel | barcode, codename, price | ✓ |
|
|
49
|
-
| Category | IAppBaseModel | sequence | ✓ |
|
|
50
|
-
| Section | IAppBaseModel | sequence | ✓ |
|
|
51
|
-
| Invoice | IAppCoreModel | status, type, lines | ✓ |
|
|
52
|
-
| Employee | IAppCoreModel | password, role_uid | ✓ |
|
|
53
|
-
| Printer | IAppBaseModel | ip_address, type | ✓ |
|
|
54
|
-
| PrintJob | IAppCoreModel | status, template | ✓ |
|
|
55
|
-
|
|
56
|
-
## 功能模式对照
|
|
57
|
-
|
|
58
|
-
### CRUD 操作模式
|
|
59
|
-
|
|
60
|
-
所有服务共享统一的 CRUD 模式:
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
// 创建
|
|
64
|
-
await service.saveOne(entity);
|
|
65
|
-
|
|
66
|
-
// 读取
|
|
67
|
-
await service.getOne(uid);
|
|
68
|
-
await service.getAll();
|
|
69
|
-
await service.getMany(params, options);
|
|
70
|
-
|
|
71
|
-
// 更新
|
|
72
|
-
await service.updateOne(id, changes);
|
|
73
|
-
|
|
74
|
-
// 删除
|
|
75
|
-
await service.deleteOne(entity); // 软删除
|
|
76
|
-
await service.hardDeleteOne(entity); // 硬删除
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### 序列排序模式
|
|
80
|
-
|
|
81
|
-
以下实体共享序列排序功能:
|
|
82
|
-
|
|
83
|
-
| 实体 | 索引字段 | 用途 |
|
|
84
|
-
|------|---------|------|
|
|
85
|
-
| Item | sequence | 商品排序 |
|
|
86
|
-
| Category | sequence | 分类排序 |
|
|
87
|
-
| Section | sequence | 区域排序 |
|
|
88
|
-
| SectionItem | sequence | 桌位排序 |
|
|
89
|
-
| PaymentMethod | sequence | 支付方式排序 |
|
|
90
|
-
|
|
91
|
-
### 状态管理模式
|
|
92
|
-
|
|
93
|
-
**发票状态:**
|
|
94
|
-
```
|
|
95
|
-
Open → OnHold → Paying → Paid/Void
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**班次状态:**
|
|
99
|
-
```
|
|
100
|
-
Open → Closed
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**打印任务状态:**
|
|
104
|
-
```
|
|
105
|
-
queued → printing → printed/failed/expired
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## 打印相关对照
|
|
109
|
-
|
|
110
|
-
### 打印机类型对照
|
|
111
|
-
|
|
112
|
-
| 类型 | 用途 | 模板 | 协议 |
|
|
113
|
-
|------|------|------|------|
|
|
114
|
-
| ReceiptPrinter | 收据 | 收据模板 | ESC/POS |
|
|
115
|
-
| KitchenPrinter | 厨房 | 厨房模板 | ESC/POS |
|
|
116
|
-
| LabelPrinter | 标签 | 标签模板 | TSPL |
|
|
117
|
-
| KioskPrinter | 自助 | 收据模板 | ESC/POS |
|
|
118
|
-
| OrderPrinter | 订单 | 订单模板 | ESC/POS |
|
|
119
|
-
|
|
120
|
-
### 连接类型对照
|
|
121
|
-
|
|
122
|
-
| 类型 | 平台 | 用途 |
|
|
123
|
-
|------|------|------|
|
|
124
|
-
| ETHERNET | 全平台 | 网络打印机 |
|
|
125
|
-
| USB | Electron | USB 打印机 |
|
|
126
|
-
| BLUETOOTH | Mobile | 蓝牙打印机 |
|
|
127
|
-
| WINDOWS_DRIVER | Windows | 系统驱动 |
|
|
128
|
-
|
|
129
|
-
## 计算模式对照
|
|
130
|
-
|
|
131
|
-
### 金额计算流程
|
|
132
|
-
|
|
133
|
-
| 阶段 | 方法 | 输入 | 输出 |
|
|
134
|
-
|------|------|------|------|
|
|
135
|
-
| 行计算 | calculateLines() | 行项 | 行小计 |
|
|
136
|
-
| 折扣 | calculateDiscount() | 小计 | 折扣后金额 |
|
|
137
|
-
| 服务费 | calculateServiceCharge() | 小计 | +服务费 |
|
|
138
|
-
| 税费 | calculateTax() | 金额 | +税费 |
|
|
139
|
-
| 舍入 | calculateRounding() | 总计 | 舍入后总计 |
|
|
140
|
-
|
|
141
|
-
### 折扣计算流程对照
|
|
142
|
-
|
|
143
|
-
| CalcFlow | 应用时机 | 用例 |
|
|
144
|
-
|----------|---------|------|
|
|
145
|
-
| AfterSubtotal | 小计后 | 一般折扣 |
|
|
146
|
-
| AfterServiceCharge | 服务费后 | 会员折扣 |
|
|
147
|
-
| AfterGrandTotal | 总计后 | 现金折扣 |
|
|
148
|
-
|
|
149
|
-
## 复用指南
|
|
150
|
-
|
|
151
|
-
### 添加新服务
|
|
152
|
-
|
|
153
|
-
1. 创建类型定义 `src/types/xxx.type.ts`
|
|
154
|
-
2. 继承 `AppRemoteService<T>`
|
|
155
|
-
3. 在 `serviceProvider` Map 注册
|
|
156
|
-
4. 在 `dbSchemas` 添加表结构
|
|
157
|
-
|
|
158
|
-
### 添加新模型
|
|
159
|
-
|
|
160
|
-
1. 继承 `IAppBaseModel` 或 `IAppCoreModel`
|
|
161
|
-
2. 定义 UID 前缀
|
|
162
|
-
3. 实现类继承 `AppBaseModel`
|
|
163
|
-
|
|
164
|
-
### 添加新打印模板
|
|
165
|
-
|
|
166
|
-
1. 在 `configs/` 添加 JSON 模板
|
|
167
|
-
2. 定义 Handlebars 模板内容
|
|
168
|
-
3. 注册到 PrintTemplateService
|
|
169
|
-
|
|
170
|
-
## 文件对照
|
|
171
|
-
|
|
172
|
-
### 服务文件
|
|
173
|
-
|
|
174
|
-
| 文件 | 服务数量 | 复杂度 |
|
|
175
|
-
|------|---------|--------|
|
|
176
|
-
| app.service.ts | 16 | 高 |
|
|
177
|
-
| invoice.service.ts | 3 (继承链) | 非常高 |
|
|
178
|
-
| printer.service.ts | 1 | 中 |
|
|
179
|
-
| ods.service.ts | 1 | 低 |
|
|
180
|
-
| abstract.service.ts | 3 (基类) | 中 |
|
|
181
|
-
|
|
182
|
-
### 类型文件
|
|
183
|
-
|
|
184
|
-
| 文件 | 接口数量 | 行数 |
|
|
185
|
-
|------|---------|------|
|
|
186
|
-
| invoice.type.ts | 15+ | ~540 |
|
|
187
|
-
| config.type.ts | 20+ | ~760 |
|
|
188
|
-
| product.type.ts | 10+ | ~600 |
|
|
189
|
-
| printer.type.ts | 8+ | ~350 |
|
|
190
|
-
|
|
191
|
-
## 相关文档
|
|
192
|
-
|
|
193
|
-
- [01_ARCHITECTURE.md](./01_ARCHITECTURE.md) - 整体架构
|
|
194
|
-
- [02_CORE_BUSINESS.md](./02_CORE_BUSINESS.md) - 核心业务
|
|
195
|
-
- [05_DATA_LAYER.md](./05_DATA_LAYER.md) - 数据层
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# 文档检查点
|
|
2
|
-
|
|
3
|
-
## 当前基准
|
|
4
|
-
|
|
5
|
-
| 项目 | 值 |
|
|
6
|
-
|------|---|
|
|
7
|
-
| 分支 | develop |
|
|
8
|
-
| Commit | `59212b4da4c2850861bf04bf35f2cf34246b3a2b` |
|
|
9
|
-
| 短 Hash | `59212b4` |
|
|
10
|
-
| 时间 | 2026-01-20 16:18:57 +0800 |
|
|
11
|
-
| 消息 | 5.5.388 |
|
|
12
|
-
|
|
13
|
-
## 文档完成状态
|
|
14
|
-
|
|
15
|
-
| 文档 | 状态 | 日期 |
|
|
16
|
-
|------|------|------|
|
|
17
|
-
| PROJECT_OVERVIEW.md | ✅ 完成 | 2026-01-22 |
|
|
18
|
-
| 01_ARCHITECTURE.md | ✅ 完成 | 2026-01-22 |
|
|
19
|
-
| 02_CORE_BUSINESS.md | ✅ 完成 | 2026-01-22 |
|
|
20
|
-
| 03_UI_COMPONENTS.md | ✅ 完成 | 2026-01-22 |
|
|
21
|
-
| 04_VIEWS.md | ✅ 完成 | 2026-01-22 |
|
|
22
|
-
| 05_DATA_LAYER.md | ✅ 完成 | 2026-01-22 |
|
|
23
|
-
| 06_CROSS_PLATFORM.md | ✅ 完成 | 2026-01-22 |
|
|
24
|
-
| 07_SIMILARITY_INDEX.md | ✅ 完成 | 2026-01-22 |
|
|
25
|
-
| TECHNICAL_DOCS_PLAN.md | ✅ 完成 | 2026-01-22 |
|
|
26
|
-
|
|
27
|
-
## 后续更新
|
|
28
|
-
|
|
29
|
-
当代码有重大变更时,可以从此 commit 对比差异,更新相关文档:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
git diff 59212b4..HEAD --stat
|
|
33
|
-
git diff 59212b4..HEAD --name-only
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### 变更分类指南
|
|
37
|
-
|
|
38
|
-
| 变更路径 | 影响文档 |
|
|
39
|
-
|---------|---------|
|
|
40
|
-
| `src/service.factory.ts` | 01_ARCHITECTURE.md, 05_DATA_LAYER.md |
|
|
41
|
-
| `src/services/*.ts` | 02_CORE_BUSINESS.md |
|
|
42
|
-
| `src/types/*.ts` | 05_DATA_LAYER.md, 07_SIMILARITY_INDEX.md |
|
|
43
|
-
| `src/libs/electron*.ts` | 06_CROSS_PLATFORM.md |
|
|
44
|
-
| `src/libs/escpos*.ts` | 06_CROSS_PLATFORM.md |
|
|
45
|
-
| `src/utils/*.ts` | 05_DATA_LAYER.md |
|
|
46
|
-
| `package.json` (依赖) | PROJECT_OVERVIEW.md |
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
# XPOS Core - 项目总览
|
|
2
|
-
|
|
3
|
-
> AI 上下文索引:POS系统、核心库、TypeScript、Dexie、服务工厂、发票计算、打印服务
|
|
4
|
-
|
|
5
|
-
## 项目定位
|
|
6
|
-
|
|
7
|
-
**名称:** `@posx/core`
|
|
8
|
-
**版本:** 5.5.388
|
|
9
|
-
**定位:** POSX 核心业务库 - 为 POS 系统提供核心功能的 TypeScript 库
|
|
10
|
-
|
|
11
|
-
## 技术栈
|
|
12
|
-
|
|
13
|
-
| 类型 | 技术 | 版本 |
|
|
14
|
-
|------|------|------|
|
|
15
|
-
| 语言 | TypeScript | 5.6.3 |
|
|
16
|
-
| 构建工具 | tsdown | 0.16.1 |
|
|
17
|
-
| 二次构建 | Vite | 5.4.11 |
|
|
18
|
-
| 代码混淆 | vite-plugin-bundle-obfuscator | 1.8.0 |
|
|
19
|
-
| 测试框架 | Jest + Vitest | 30.2.0 / 2.1.0 |
|
|
20
|
-
| 数据库 | Dexie (IndexedDB) | 3.2.4 |
|
|
21
|
-
| HTTP | Axios | 1.5.1 |
|
|
22
|
-
| 实时通信 | SignalR | 7.0.11 |
|
|
23
|
-
| 跨平台 | Capacitor + Cordova | 5.4.2 / 6.6.0 |
|
|
24
|
-
|
|
25
|
-
## 核心依赖
|
|
26
|
-
|
|
27
|
-
- **数据处理:** lodash, dayjs, uuid, nanoid
|
|
28
|
-
- **加密:** bcryptjs, crypto-js
|
|
29
|
-
- **验证:** zod, ajv
|
|
30
|
-
- **导出:** xlsx
|
|
31
|
-
- **打印:** esc-pos-encoder-ionic
|
|
32
|
-
- **模板:** handlebars
|
|
33
|
-
|
|
34
|
-
## 项目结构
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
xpos-core/
|
|
38
|
-
├── src/ # 源代码
|
|
39
|
-
│ ├── index.ts # 主入口 (barrel exports)
|
|
40
|
-
│ ├── service.factory.ts # 服务工厂 (依赖注入)
|
|
41
|
-
│ ├── services/ # 核心服务
|
|
42
|
-
│ │ ├── abstract.service.ts # 基础服务接口
|
|
43
|
-
│ │ ├── app.service.ts # 应用服务 (1800+ 行)
|
|
44
|
-
│ │ ├── invoice.service.ts # 发票服务 (2800+ 行)
|
|
45
|
-
│ │ ├── printer.service.ts # 打印服务
|
|
46
|
-
│ │ ├── ods.service.ts # 订单显示服务
|
|
47
|
-
│ │ └── misc.service.ts # 杂项工具
|
|
48
|
-
│ ├── types/ # 类型定义 (23 文件)
|
|
49
|
-
│ ├── utils/ # 工具函数 (6 文件)
|
|
50
|
-
│ ├── libs/ # 库抽象 (5 文件)
|
|
51
|
-
│ ├── helpers/ # 辅助函数 (3 文件)
|
|
52
|
-
│ └── test/ # 测试文件
|
|
53
|
-
├── configs/ # 打印模板 (31 JSON)
|
|
54
|
-
├── scripts/ # 构建脚本 (8 文件)
|
|
55
|
-
├── build/ # 编译输出
|
|
56
|
-
└── docs/ # TypeDoc 文档
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 服务架构
|
|
60
|
-
|
|
61
|
-
### 服务工厂
|
|
62
|
-
|
|
63
|
-
`ServiceFactory` 提供依赖注入,管理 18 个核心服务:
|
|
64
|
-
|
|
65
|
-
| 服务 | 职责 |
|
|
66
|
-
|------|------|
|
|
67
|
-
| ItemService | 商品管理 |
|
|
68
|
-
| CategoryService | 分类管理 |
|
|
69
|
-
| SectionService | 区域管理 |
|
|
70
|
-
| SectionItemService | 桌位管理 |
|
|
71
|
-
| InvoiceService | 发票计算与生命周期 |
|
|
72
|
-
| EmployeeService | 员工认证与管理 |
|
|
73
|
-
| PaymentMethodService | 支付方式 |
|
|
74
|
-
| ConfigService | 配置管理 |
|
|
75
|
-
| PrinterService | 打印机管理 |
|
|
76
|
-
| PrintJobService | 打印任务队列 |
|
|
77
|
-
| PrintTemplateService | 打印模板 |
|
|
78
|
-
| ShiftService | 班次管理 |
|
|
79
|
-
| TillService | 收银机管理 |
|
|
80
|
-
| ReportService | 报表服务 |
|
|
81
|
-
| EmployeeRoleService | 角色权限 |
|
|
82
|
-
| OrderDisplayService | 厨显系统 |
|
|
83
|
-
| StorageService | 通用存储 |
|
|
84
|
-
| MenuService | 菜单管理 |
|
|
85
|
-
|
|
86
|
-
## 数据管理
|
|
87
|
-
|
|
88
|
-
- **本地存储:** Dexie (IndexedDB) - 28 张表
|
|
89
|
-
- **远程同步:** REST API + SignalR
|
|
90
|
-
- **查询过滤:** 自定义 FindOptions (Include, In, Between, Not, Raw)
|
|
91
|
-
|
|
92
|
-
## 业务实体
|
|
93
|
-
|
|
94
|
-
核心管理 15+ 业务实体:
|
|
95
|
-
- 商品/产品/分类
|
|
96
|
-
- 客户/优惠券
|
|
97
|
-
- 员工/角色
|
|
98
|
-
- 发票/支付
|
|
99
|
-
- 打印机/打印任务
|
|
100
|
-
- 班次/收银机
|
|
101
|
-
- 报表/存储/菜单
|
|
102
|
-
|
|
103
|
-
## 构建流程
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
npm run build # tsdown 主构建
|
|
107
|
-
npm run build:dts # 类型声明
|
|
108
|
-
npm run build:demo # Vite 演示构建
|
|
109
|
-
npm run test # Jest 单元测试
|
|
110
|
-
npm run docs # TypeDoc 文档
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**输出:**
|
|
114
|
-
- ESM Bundle: `build/index.js` (混淆)
|
|
115
|
-
- 类型声明: `build/index.d.ts`
|
|
116
|
-
|
|
117
|
-
## 相关文档
|
|
118
|
-
|
|
119
|
-
- [01_ARCHITECTURE.md](./01_ARCHITECTURE.md) - 整体架构
|
|
120
|
-
- [02_CORE_BUSINESS.md](./02_CORE_BUSINESS.md) - 核心业务
|
|
121
|
-
- [05_DATA_LAYER.md](./05_DATA_LAYER.md) - 数据层
|
|
122
|
-
- [06_CROSS_PLATFORM.md](./06_CROSS_PLATFORM.md) - 跨平台
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# 技术文档计划
|
|
2
|
-
|
|
3
|
-
## 文档结构
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
memo/technical-docs/
|
|
7
|
-
├── PROJECT_OVERVIEW.md # 项目总览
|
|
8
|
-
├── 01_ARCHITECTURE.md # 整体架构
|
|
9
|
-
├── 02_CORE_BUSINESS.md # 核心业务逻辑
|
|
10
|
-
├── 03_UI_COMPONENTS.md # UI 组件 (本项目为库,无 UI)
|
|
11
|
-
├── 04_VIEWS.md # 页面实现 (本项目为库,无页面)
|
|
12
|
-
├── 05_DATA_LAYER.md # 数据层
|
|
13
|
-
├── 06_CROSS_PLATFORM.md # 跨平台能力
|
|
14
|
-
├── 07_SIMILARITY_INDEX.md # 相似性索引
|
|
15
|
-
├── CHECKPOINT.md # 检查点
|
|
16
|
-
└── TECHNICAL_DOCS_PLAN.md # 本文档
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## 文档用途
|
|
20
|
-
|
|
21
|
-
| 文档 | 目标读者 | 主要内容 |
|
|
22
|
-
|------|---------|---------|
|
|
23
|
-
| PROJECT_OVERVIEW | 新成员 | 项目定位、技术栈、结构概览 |
|
|
24
|
-
| 01_ARCHITECTURE | 架构师 | 服务工厂、数据库架构、事件驱动 |
|
|
25
|
-
| 02_CORE_BUSINESS | 开发者 | 发票计算、支付、打印、同步 |
|
|
26
|
-
| 03_UI_COMPONENTS | - | 说明本项目无 UI 组件 |
|
|
27
|
-
| 04_VIEWS | - | 说明本项目无页面 |
|
|
28
|
-
| 05_DATA_LAYER | 后端开发 | Dexie、API、类型系统 |
|
|
29
|
-
| 06_CROSS_PLATFORM | 移动开发 | Capacitor、Electron、打印机 |
|
|
30
|
-
| 07_SIMILARITY_INDEX | 全体 | 模式对照、复用指南 |
|
|
31
|
-
|
|
32
|
-
## 更新策略
|
|
33
|
-
|
|
34
|
-
### 触发条件
|
|
35
|
-
|
|
36
|
-
1. **版本发布时** - 检查 CHECKPOINT,对比差异
|
|
37
|
-
2. **重大变更后** - 影响架构的变更需更新文档
|
|
38
|
-
3. **定期审查** - 每月检查文档准确性
|
|
39
|
-
|
|
40
|
-
### 更新流程
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# 1. 检查变更范围
|
|
44
|
-
git diff <checkpoint_commit>..HEAD --name-only
|
|
45
|
-
|
|
46
|
-
# 2. 根据变更分类确定需更新的文档
|
|
47
|
-
# 参考 CHECKPOINT.md 中的变更分类指南
|
|
48
|
-
|
|
49
|
-
# 3. 更新相关文档
|
|
50
|
-
|
|
51
|
-
# 4. 更新 CHECKPOINT.md 中的 commit 信息
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## 编写规范
|
|
55
|
-
|
|
56
|
-
### 格式要求
|
|
57
|
-
|
|
58
|
-
1. **标题** - 使用 `#` 层次结构
|
|
59
|
-
2. **AI 索引** - 每篇开头添加关键词
|
|
60
|
-
3. **表格** - 优先使用表格展示结构化信息
|
|
61
|
-
4. **代码** - 仅在关键处展示代码片段
|
|
62
|
-
5. **路径** - 包含文件路径便于定位
|
|
63
|
-
6. **交叉引用** - 文档间使用相对链接
|
|
64
|
-
|
|
65
|
-
### 语言规范
|
|
66
|
-
|
|
67
|
-
- 技术术语使用英文
|
|
68
|
-
- 描述性文字使用中文
|
|
69
|
-
- 优化 AI 阅读理解
|
|
70
|
-
|
|
71
|
-
## 项目特点说明
|
|
72
|
-
|
|
73
|
-
本项目 `@posx/core` 是 TypeScript 核心库,不是前端应用:
|
|
74
|
-
|
|
75
|
-
- **无 UI 组件** - 03_UI_COMPONENTS.md 仅说明类型定义
|
|
76
|
-
- **无页面视图** - 04_VIEWS.md 仅说明服务架构
|
|
77
|
-
- **重点文档** - 01, 02, 05, 06 是核心文档
|