Просмотр исходного кода

📝 docs(epic-007): 统一选择器组件架构和区域选择器分层

- 统一使用文件选择器替代头像选择器和图片选择器
- 文件选择器已覆盖头像和图片选择器的所有功能
- 添加区域选择器分层说明:3层和4层区域选择器
- 更新所有相关故事的选择器组件依赖关系
- 添加选择器组件架构统一章节

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 месяц назад
Родитель
Сommit
5daaa05157
1 измененных файлов с 54 добавлено и 3 удалено
  1. 54 3
      docs/prd/epic-007-multi-tenant-package-replication.md

+ 54 - 3
docs/prd/epic-007-multi-tenant-package-replication.md

@@ -323,12 +323,13 @@ packages/
     - 提供workspace包依赖复用机制
     - 支持独立测试和部署
     - 验证现有功能无回归
-    - **新增任务**: 集成用户选择组件
+    - **新增任务**: 集成选择组件
       - 创建用户选择器组件 `packages/user-management-ui/src/components/UserSelector.tsx`
       - 实现用户搜索和选择功能,支持按用户名、邮箱搜索
+      - **使用文件管理界面包** `@d8d/file-management-ui` 中的文件选择器组件替代头像选择器
       - 确保组件与现有的用户管理功能无缝集成
-      - 添加用户选择器的单元测试和集成测试
-      - 验证用户选择器在不同使用场景下的功能完整性
+      - 添加选择器组件的单元测试和集成测试
+      - 验证选择器组件在不同使用场景下的功能完整性
 
 18. **Story 18:** 多租户用户管理界面独立包实现
     - **复制策略**: 直接复制单租户用户管理界面包 `packages/user-management-ui/` 为 `packages/user-management-ui-mt/`
@@ -348,9 +349,15 @@ packages/
     - 基于React + TypeScript + TanStack Query + React Hook Form技术栈
     - 依赖共享UI组件包 `@d8d/shared-ui-components`
     - 依赖广告模块包 `@d8d/advertisements-module`
+    - **依赖广告分类管理界面包** `@d8d/advertisement-type-management-ui` 中的广告分类选择器组件
+    - **依赖文件管理界面包** `@d8d/file-management-ui` 中的文件选择器组件
     - 提供workspace包依赖复用机制
     - 支持独立测试和部署
     - 验证现有功能无回归
+    - **集成任务**: 集成选择器组件
+      - 在广告表单中集成广告分类选择器
+      - 在广告表单中集成文件选择器
+      - 确保选择器组件与广告管理功能无缝集成
 
 20. **Story 20:** 多租户广告管理界面独立包实现
     - **复制策略**: 直接复制单租户广告管理界面包 `packages/advertisement-management-ui/` 为 `packages/advertisement-management-ui-mt/`
@@ -414,9 +421,19 @@ packages/
     - 基于React + TypeScript + TanStack Query + React Hook Form技术栈
     - 依赖共享UI组件包 `@d8d/shared-ui-components`
     - 依赖商品模块包 `@d8d/goods-module`
+    - **依赖商品分类管理界面包** `@d8d/goods-category-management-ui` 中的商品分类选择器组件
+    - **依赖商户管理界面包** `@d8d/merchant-management-ui` 中的商户选择器组件
+    - **依赖供应商管理界面包** `@d8d/supplier-management-ui` 中的供应商选择器组件
+    - **依赖文件管理界面包** `@d8d/file-management-ui` 中的文件选择器组件
     - 提供workspace包依赖复用机制
     - 支持独立测试和部署
     - 验证现有功能无回归
+    - **集成任务**: 集成选择器组件
+      - 在商品表单中集成商品分类选择器(级联和普通)
+      - 在商品表单中集成商户选择器
+      - 在商品表单中集成供应商选择器
+      - 在商品表单中集成文件选择器
+      - 确保选择器组件与商品管理功能无缝集成
 
 26. **Story 26:** 多租户商品管理界面独立包实现
     - **复制策略**: 直接复制单租户商品管理界面包 `packages/goods-management-ui/` 为 `packages/goods-management-ui-mt/`
@@ -436,9 +453,15 @@ packages/
     - 基于React + TypeScript + TanStack Query + React Hook Form技术栈
     - 依赖共享UI组件包 `@d8d/shared-ui-components`
     - 依赖商品模块包 `@d8d/goods-module`
+    - **依赖文件管理界面包** `@d8d/file-management-ui` 中的文件选择器组件
     - 提供workspace包依赖复用机制
     - 支持独立测试和部署
     - 验证现有功能无回归
+    - **集成任务**: 集成选择器组件
+      - 创建商品分类选择器组件 `packages/goods-category-management-ui/src/components/GoodsCategorySelector.tsx`
+      - 创建商品分类级联选择器组件 `packages/goods-category-management-ui/src/components/GoodsCategoryCascadeSelector.tsx`
+      - 在商品分类表单中集成文件选择器
+      - 确保选择器组件与商品分类管理功能无缝集成
 
 28. **Story 28:** 多租户商品分类管理界面独立包实现
     - **复制策略**: 直接复制单租户商品分类管理界面包 `packages/goods-category-management-ui/` 为 `packages/goods-category-management-ui-mt/`
@@ -505,6 +528,11 @@ packages/
     - 提供workspace包依赖复用机制
     - 支持独立测试和部署
     - 验证现有功能无回归
+    - **集成任务**: 创建选择器组件
+      - 创建文件选择器组件 `packages/file-management-ui/src/components/FileSelector.tsx`
+      - **统一使用文件选择器组件,替代头像选择器和图片选择器功能**
+      - 确保选择器组件提供完整的文件上传和选择功能,支持头像和图片选择
+      - 添加选择器组件的单元测试和集成测试
 
 34. **Story 34:** 多租户文件管理界面独立包实现
     - **复制策略**: 直接复制单租户文件管理界面包 `packages/file-management-ui/` 为 `packages/file-management-ui-mt/`
@@ -561,6 +589,11 @@ packages/
     - 提供workspace包依赖复用机制
     - 支持独立测试和部署
     - 验证现有功能无回归
+    - **集成任务**: 创建区域选择器组件
+      - 创建3层区域选择器组件 `packages/area-management-ui/src/components/AreaSelect.tsx`
+      - 创建4层区域选择器组件 `packages/area-management-ui/src/components/AreaSelect4Level.tsx`
+      - 确保区域选择器支持省份、城市、区县、乡镇的级联选择
+      - 添加区域选择器组件的单元测试和集成测试
 
 38. **Story 38:** 多租户区域管理界面独立包实现
     - 复制前端区域管理界面 `web/src/client/admin/pages/AreasTreePage.tsx` 为多租户区域管理界面包
@@ -582,6 +615,24 @@ packages/
     - 完整的多租户系统测试
     - 性能基准测试和优化
 
+## 选择器组件架构统一
+
+### 文件选择器统一架构
+- **统一使用文件选择器**: 所有需要头像、图片选择的场景统一使用 `@d8d/file-management-ui` 中的 `FileSelector` 组件
+- **功能覆盖**: 文件选择器已覆盖头像选择器和图片选择器的所有功能,支持:
+  - 头像上传和选择
+  - 图片上传和选择
+  - 多文件选择
+  - 文件类型过滤
+  - 预览功能
+- **优势**: 避免组件重复,减少维护成本,统一用户体验
+
+### 区域选择器分层架构
+- **3层区域选择器** (`AreaSelect`): 省份 → 城市 → 区县
+- **4层区域选择器** (`AreaSelect4Level`): 省份 → 城市 → 区县 → 乡镇
+- **小程序区域选择器** (`CitySelector`): 省份 → 城市 → 区县 → 街道
+- **使用场景**: 根据业务需求选择合适层级的区域选择器
+
 ## Compatibility Requirements
 
 - [x] 现有单租户系统API保持完全兼容