|
|
@@ -3,6 +3,7 @@
|
|
|
## 版本信息
|
|
|
| 版本 | 日期 | 描述 | 作者 |
|
|
|
|------|------|------|------|
|
|
|
+| 4.0 | 2025-11-17 | 添加多租户包架构,包含10个多租户模块包和10个多租户管理界面包 | Claude |
|
|
|
| 3.5 | 2025-11-12 | 添加订单管理模块包 (@d8d/orders-module) | James |
|
|
|
| 3.4 | 2025-11-12 | 添加商品管理模块包 (@d8d/goods-module) | James |
|
|
|
| 3.3 | 2025-11-12 | 补充新添加的业务模块包(广告、商户、供应商) | Winston |
|
|
|
@@ -342,6 +343,44 @@ d8d-mini-starter/
|
|
|
│ │ └── utils/
|
|
|
│ │ └── test-data-factory.ts # 测试数据工厂
|
|
|
│ └── package.json
|
|
|
+│ └── shared-ui-components/ # 共享UI组件包 (@d8d/shared-ui-components)
|
|
|
+│ ├── src/
|
|
|
+│ │ ├── components/ # UI组件库
|
|
|
+│ │ │ ├── ui/ # shadcn/ui组件
|
|
|
+│ │ │ │ ├── accordion.tsx # 手风琴组件
|
|
|
+│ │ │ │ ├── alert-dialog.tsx # 警告对话框
|
|
|
+│ │ │ │ ├── alert.tsx # 警告组件
|
|
|
+│ │ │ │ └── ... # 其他46+组件
|
|
|
+│ │ │ └── index.ts # 组件导出
|
|
|
+│ │ └── index.ts # 包入口
|
|
|
+│ ├── tests/
|
|
|
+│ └── package.json
|
|
|
+│ └── 多租户包架构 (Epic-007 多租户包复制方案)
|
|
|
+│ ├── 多租户模块包 (10个)
|
|
|
+│ │ ├── tenant-module-mt/ # 租户基础包 (@d8d/tenant-module-mt)
|
|
|
+│ │ ├── user-module-mt/ # 多租户用户管理模块 (@d8d/user-module-mt)
|
|
|
+│ │ ├── auth-module-mt/ # 多租户认证管理模块 (@d8d/auth-module-mt)
|
|
|
+│ │ ├── file-module-mt/ # 多租户文件管理模块 (@d8d/file-module-mt)
|
|
|
+│ │ ├── geo-areas-mt/ # 多租户地区模块 (@d8d/geo-areas-mt)
|
|
|
+│ │ ├── delivery-address-module-mt/ # 多租户地址管理模块 (@d8d/delivery-address-module-mt)
|
|
|
+│ │ ├── merchant-module-mt/ # 多租户商户管理模块 (@d8d/merchant-module-mt)
|
|
|
+│ │ ├── supplier-module-mt/ # 多租户供应商管理模块 (@d8d/supplier-module-mt)
|
|
|
+│ │ ├── goods-module-mt/ # 多租户商品管理模块 (@d8d/goods-module-mt)
|
|
|
+│ │ ├── orders-module-mt/ # 多租户订单管理模块 (@d8d/orders-module-mt)
|
|
|
+│ │ └── advertisements-module-mt/ # 多租户广告管理模块 (@d8d/advertisements-module-mt)
|
|
|
+│ └── 多租户管理界面包 (10个)
|
|
|
+│ ├── auth-management-ui-mt/ # 多租户认证管理界面 (@d8d/auth-management-ui-mt)
|
|
|
+│ ├── user-management-ui-mt/ # 多租户用户管理界面 (@d8d/user-management-ui-mt)
|
|
|
+│ ├── advertisement-management-ui-mt/ # 多租户广告管理界面 (@d8d/advertisement-management-ui-mt)
|
|
|
+│ ├── advertisement-type-management-ui-mt/ # 多租户广告分类管理界面 (@d8d/advertisement-type-management-ui-mt)
|
|
|
+│ ├── order-management-ui-mt/ # 多租户订单管理界面 (@d8d/order-management-ui-mt)
|
|
|
+│ ├── goods-management-ui-mt/ # 多租户商品管理界面 (@d8d/goods-management-ui-mt)
|
|
|
+│ ├── goods-category-management-ui-mt/ # 多租户商品分类管理界面 (@d8d/goods-category-management-ui-mt)
|
|
|
+│ ├── supplier-management-ui-mt/ # 多租户供应商管理界面 (@d8d/supplier-management-ui-mt)
|
|
|
+│ ├── merchant-management-ui-mt/ # 多租户商户管理界面 (@d8d/merchant-management-ui-mt)
|
|
|
+│ ├── file-management-ui-mt/ # 多租户文件管理界面 (@d8d/file-management-ui-mt)
|
|
|
+│ ├── delivery-address-management-ui-mt/ # 多租户地址管理界面 (@d8d/delivery-address-management-ui-mt)
|
|
|
+│ └── area-management-ui-mt/ # 多租户区域管理界面 (@d8d/area-management-ui-mt)
|
|
|
├── web/ # Web应用 (Hono + React SSR)
|
|
|
│ ├── src/
|
|
|
│ │ ├── client/ # 客户端代码
|
|
|
@@ -414,10 +453,19 @@ d8d-mini-starter/
|
|
|
- **基础设施层**: shared-types → shared-utils → shared-crud
|
|
|
- **测试基础设施**: shared-test-util
|
|
|
- **业务模块层**: user-module → auth-module → file-module → delivery-address-module → advertisements-module → merchant-module → supplier-module → goods-module → geo-areas → orders-module
|
|
|
+ - **多租户模块层**: 10个多租户模块包(-mt后缀),支持租户数据隔离
|
|
|
+ - **前端界面层**: 共享UI组件包 + 单租户管理界面包 + 多租户管理界面包
|
|
|
- **应用层**: server (重构后)
|
|
|
+- **多租户架构**:
|
|
|
+ - **包复制策略**: 基于Epic-007方案,通过复制单租户包创建多租户版本
|
|
|
+ - **租户隔离**: 通过租户ID实现数据隔离,支持多租户部署
|
|
|
+ - **前端包**: 10个多租户管理界面包,支持租户上下文管理
|
|
|
+ - **后端包**: 10个多租户模块包,支持租户数据隔离
|
|
|
+ - **共享组件**: `@d8d/shared-ui-components` 提供46+基础UI组件
|
|
|
- **测试结构**:
|
|
|
- **基础设施包**: 每个包独立的单元测试和集成测试
|
|
|
- **业务模块包**: 每个模块包含完整的测试套件
|
|
|
+ - **多租户包**: 独立的测试套件,验证租户数据隔离
|
|
|
- **server包**: 集成测试验证模块间协作
|
|
|
- **web应用**: 组件测试、集成测试和E2E测试
|
|
|
- **开发环境**: 多八多云端开发容器,包含Node.js 20.19.2、PostgreSQL 17、Redis 7、MinIO
|
|
|
@@ -426,6 +474,8 @@ d8d-mini-starter/
|
|
|
- 清晰的模块边界和职责分离
|
|
|
- 支持按需安装,减少包体积
|
|
|
- 基础设施和业务逻辑分离
|
|
|
+ - 多租户支持,支持租户数据隔离
|
|
|
- 统一的测试模式和工具
|
|
|
- 更好的代码复用和维护性
|
|
|
- 独立的包版本管理
|
|
|
+ - 支持单租户和多租户部署模式
|