状态: Ready for Review 史诗: 007 - 多租户包复制策略 故事类型: 前端/UI
作为 系统管理员, 我想要 有一个独立的多租户商户管理界面包, 以便 可以在多租户系统中独立管理商户账户,同时保持与单租户系统的功能一致性。
@d8d/merchant-management-ui-mt,包含正确的包配置和依赖管理packages/merchant-management-ui/ 为多租户版本 packages/merchant-management-ui-mt/@d8d/merchant-module-mt/api/admin/merchants [Source: docs/prd/epic-007-multi-tenant-package-replication.md#商户管理界面包]packages/merchant-management-ui-mt/ [Source: architecture/source-tree.md#包结构]packages/merchant-management-ui-mt/src/components/ [Source: architecture/source-tree.md#前端包结构]packages/merchant-management-ui-mt/src/api/ [Source: architecture/source-tree.md#前端包结构]packages/merchant-management-ui-mt/tests/ [Source: 单租户包实际结构]tests/integration/,单元测试在 tests/unit/ [Source: 单租户包实际结构]pnpm install 命令以确保依赖正确安装-mt 后缀标识(Multi-Tenant)基于源码树文档检查,项目结构完全对齐:
[ ] 任务 1 (AC: 1, 2): 创建多租户商户管理界面包结构
packages/merchant-management-ui-mt/cp -r packages/merchant-management-ui/* packages/merchant-management-ui-mt/@d8d/merchant-management-ui-mt[ ] 任务 2 (AC: 1, 3): 配置包依赖和构建
packages/merchant-management-ui-mt/package.json:"name": "@d8d/merchant-management-ui-mt""@d8d/merchant-module-mt": "workspace:*"@d8d/merchant-modulepackages/merchant-management-ui-mt/tsconfig.json:"@d8d/merchant-module-mt/*"packages/merchant-management-ui-mt/vitest.config.ts:packages/merchant-management-ui-mt/tests/setup.ts:packages/merchant-management-ui-mt/eslint.config.js:cd packages/merchant-management-ui-mt && pnpm install[ ] 任务 3 (AC: 4, 5): 实现RPC客户端架构和类型定义
packages/merchant-management-ui-mt/src/api/merchantClient.ts:import { adminMerchantsRoutes } from '@d8d/merchant-module-mt'adminMerchantsRoutes 从多租户商户模块包导入packages/merchant-management-ui-mt/src/api/index.ts:packages/merchant-management-ui-mt/src/types/merchant.ts:[ ] 任务 4 (AC: 2, 5): 复制并调整商户管理界面组件
packages/merchant-management-ui-mt/src/components/MerchantManagement.tsx:import { merchantClientManager } from '../api/merchantClient'@d8d/shared-ui-components/components/ui/button,避免从根导入packages/merchant-management-ui-mt/src/components/MerchantSelector.tsxpackages/merchant-management-ui-mt/src/components/index.ts:
[ ] 任务 5 (AC: 5, 6): 实现完整的商户管理功能
packages/merchant-management-ui-mt/src/hooks/useMerchants.ts:packages/merchant-management-ui-mt/src/hooks/index.ts:[ ] 任务 6 (AC: 6, 7): 创建测试套件
packages/merchant-management-ui-mt/tests/integration/merchant-management.integration.test.tsx:packages/merchant-management-ui-mt/tests/setup.ts:packages/merchant-management-ui-mt/tests/integration/merchant-management.integration.test.tsxpackages/merchant-management-ui-mt/tests/integration/merchant-selector.integration.test.tsxpackages/merchant-management-ui-mt/tests/basic.test.tsx[ ] 任务 7 (AC: 1, 7): 配置包导出接口
packages/merchant-management-ui-mt/src/index.ts:[ ] 任务 8 (AC: 6, 8): 验证功能无回归
cd packages/merchant-management-ui-mt && pnpm buildcd packages/merchant-management-ui-mt && pnpm test| 日期 | 版本 | 描述 | 作者 |
|---|---|---|---|
| 2025-11-17 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
@d8d/merchant-management-ui-mt@d8d/merchant-module-mtpackages/merchant-management-ui-mt/package.json - 包配置packages/merchant-management-ui-mt/src/api/merchantClient.ts - RPC客户端packages/merchant-management-ui-mt/src/components/MerchantManagement.tsx - 主组件packages/merchant-management-ui-mt/src/components/MerchantSelector.tsx - 商户选择器此部分将在质量保证审查过程中由QA代理填充