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