Completed
作为 系统管理员, 我想要 有一个独立的单租户商品分类管理界面包, 以便 可以在单租户系统中独立管理商品分类树形结构,而不影响现有的多租户系统。
@d8d/goods-category-management-ui,包含正确的包配置和依赖管理web/src/client/admin/pages/CategoriesTreePage.tsx 为单租户商品分类管理界面包web/src/client/admin/components/GoodsCategorySelector.tsx 和 GoodsCategoryCascadeSelector.tsx@d8d/shared-ui-components@d8d/categories-module[ ] 任务 1 (AC: 1, 7): 创建单租户商品分类管理界面包结构
packages/goods-category-management-ui/src/、tests/、package.json[ ] 任务 2 (AC: 1): 配置包依赖和构建
packages/goods-category-management-ui/package.json 包配置 [参考: packages/user-management-ui/package.json]@d8d/shared-ui-components、@d8d/categories-module、@d8d/file-management-uipackages/goods-category-management-ui/tsconfig.json TypeScript配置 [参考: packages/user-management-ui/tsconfig.json]packages/goods-category-management-ui/vitest.config.ts 测试配置 [参考: packages/user-management-ui/vitest.config.ts]packages/goods-category-management-ui/tests/setup.ts 测试设置文件 [参考: packages/user-management-ui/tests/setup.ts]packages/goods-category-management-ui/eslint.config.js ESLint配置文件 [参考: packages/user-management-ui/eslint.config.js]cd packages/goods-category-management-ui && pnpm install[ ] 任务 3 (AC: 3, 6): 创建RPC客户端架构和类型定义
packages/goods-category-management-ui/src/types/category.ts 类型定义[ ] 任务 4 (AC: 2, 3): 复制并调整商品分类管理界面组件
web/src/client/admin/pages/CategoriesTreePage.tsx 为 packages/goods-category-management-ui/src/components/GoodsCategoryManagement.tsxweb/src/client/admin/components/GoodsCategorySelector.tsx 为 packages/goods-category-management-ui/src/components/GoodsCategorySelector.tsxweb/src/client/admin/components/GoodsCategoryCascadeSelector.tsx 为 packages/goods-category-management-ui/src/components/GoodsCategoryCascadeSelector.tsx@d8d/shared-ui-components/components/ui/button,避免从根导入@d8d/file-management-ui 中的 FileSelector 组件替换原有的图片上传逻辑[ ] 任务 5 (AC: 3, 4): 实现完整的商品分类管理功能
FileSelector 组件实现分类图片上传和预览功能[ ] 任务 6 (AC: 8): 创建测试套件
packages/goods-category-management-ui/tests/integration/goods-category-management.integration.test.tsx [参考: packages/user-management-ui/tests/integration/userManagement.integration.test.tsx]packages/goods-category-management-ui/tests/setup.ts [参考: packages/user-management-ui/tests/setup.ts][ ] 任务 7 (AC: 1, 7): 配置包导出接口
packages/goods-category-management-ui/src/index.ts 包导出主入口[ ] 任务 8 (AC: 10): 验证功能无回归
pnpm buildpnpm testpackages/goods-category-management-ui/ [Source: architecture/source-tree.md#实际项目结构]src/components/ - React组件GoodsCategoryManagement.tsx - 商品分类管理主界面GoodsCategorySelector.tsx - 商品分类选择器组件GoodsCategoryCascadeSelector.tsx - 商品分类级联选择器组件src/hooks/ - 自定义React hookssrc/api/ - API客户端src/types/ - TypeScript类型定义tests/unit/ - 单元测试tests/integration/ - 集成测试@d8d/shared-ui-components - 提供基础UI组件 [Source: architecture/source-tree.md#实际项目结构]@d8d/categories-module - 提供商品分类管理API [Source: docs/prd/epic-007-multi-tenant-package-replication.md#商品分类管理界面包]@d8d/file-management-ui - 提供文件选择器组件,用于商品分类图片上传和选择功能packages/category-management-ui/tests/unit/ 和 packages/category-management-ui/tests/integration/ [Source: architecture/testing-strategy.md#单元测试]pnpm test 运行所有测试 [Source: architecture/testing-strategy.md#本地开发测试]GoodsCategorySelector: 单个商品分类选择器,支持按层级筛选GoodsCategoryCascadeSelector: 级联商品分类选择器,支持1-3级分类联动选择packages/goods-category-management-ui/tests/integration/**/*.test.tsx
[Source: architecture/testing-strategy.md#单元测试]FileSelector 组件的集成,包括图片选择和预览功能GoodsCategorySelector 和 GoodsCategoryCascadeSelector 组件的正确性cd packages/goods-category-management-ui && pnpm testcd packages/goods-category-management-ui && pnpm test:unitcd packages/goods-category-management-ui && pnpm test:integrationcd packages/goods-category-management-ui && pnpm test:coverage| 日期 | 版本 | 描述 | 作者 |
|---|---|---|---|
| 2025-11-16 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
此部分将在开发代理执行过程中填充
此部分将在质量保证审查过程中由QA代理填充