✅ Completed
作为 系统管理员, 我想要 有一个独立的单租户区域管理界面包, 以便 可以在单租户系统中独立管理省市区树形结构,而不影响现有的多租户系统。
@d8d/area-management-ui,包含正确的包配置和依赖管理web/src/client/admin/pages/AreasTreePage.tsx 为单租户区域管理界面包@d8d/shared-ui-components@d8d/geo-areas[x] 任务 1 (AC: 1, 7): 创建单租户区域管理界面包结构
packages/area-management-ui/src/、tests/、package.json[x] 任务 2 (AC: 1): 配置包依赖和构建
packages/area-management-ui/package.json 包配置 [参考: packages/user-management-ui/package.json]@d8d/shared-ui-components、@d8d/geo-areaspackages/area-management-ui/tsconfig.json TypeScript配置 [参考: packages/user-management-ui/tsconfig.json]packages/area-management-ui/vitest.config.ts 测试配置 [参考: packages/user-management-ui/vitest.config.ts]packages/area-management-ui/tests/setup.ts 测试设置文件 [参考: packages/user-management-ui/tests/setup.ts]packages/area-management-ui/eslint.config.js ESLint配置文件 [参考: packages/user-management-ui/eslint.config.js]cd packages/area-management-ui && pnpm install[x] 任务 3 (AC: 3, 6): 创建RPC客户端架构和类型定义
packages/area-management-ui/src/types/area.ts 类型定义[x] 任务 4 (AC: 2, 3): 复制并调整区域管理界面组件
web/src/client/admin/pages/AreasTreePage.tsx 为 packages/area-management-ui/src/components/AreaManagement.tsxweb/src/client/admin/components/AreaSelect.tsx 为 packages/area-management-ui/src/components/AreaSelect.tsx [参考: packages/user-management-ui/src/components/UserSelector.tsx]web/src/client/admin/components/AreaSelect4Level.tsx 为 packages/area-management-ui/src/components/AreaSelect4Level.tsx [参考: packages/user-management-ui/src/components/UserSelector.tsx]@d8d/shared-ui-components/components/ui/button,避免从根导入[x] 任务 5 (AC: 3, 4): 实现完整的区域管理功能
[x] 任务 6 (AC: 8): 创建测试套件
packages/area-management-ui/tests/integration/area-management.integration.test.tsxpackages/area-management-ui/tests/integration/area-select.integration.test.tsx [参考: packages/user-management-ui/tests/integration/user-selector.integration.test.tsx]packages/area-management-ui/tests/integration/area-select-4level.integration.test.tsx [参考: packages/user-management-ui/tests/integration/user-selector.integration.test.tsx]packages/area-management-ui/tests/setup.ts [参考: packages/user-management-ui/tests/setup.ts][x] 任务 7 (AC: 1, 7): 配置包导出接口
packages/area-management-ui/src/index.ts 包导出主入口[x] 任务 8 (AC: 9): 验证功能无回归
pnpm buildpnpm test[x] 任务 9 (新增任务): 安装和配置包依赖
pnpm install 安装新包依赖packages/area-management-ui/ [Source: architecture/source-tree.md#实际项目结构]src/components/ - React组件src/hooks/ - 自定义React hookssrc/api/ - API客户端src/types/ - TypeScript类型定义tests/unit/ - 单元测试tests/integration/ - 集成测试@d8d/shared-ui-components - 提供基础UI组件 [Source: architecture/source-tree.md#实际项目结构]@d8d/geo-areas - 提供区域管理API [Source: docs/prd/epic-007-multi-tenant-package-replication.md#区域管理界面包]packages/area-management-ui/tests/unit/ 和 packages/area-management-ui/tests/integration/ [Source: architecture/testing-strategy.md#单元测试]pnpm test 运行所有测试 [Source: architecture/testing-strategy.md#本地开发测试]packages/area-management-ui/tests/integration/**/*.test.tsx
[Source: architecture/testing-strategy.md#单元测试]cd packages/area-management-ui && pnpm testcd packages/area-management-ui && pnpm test:unitcd packages/area-management-ui && pnpm test:integrationcd packages/area-management-ui && pnpm test:coverage| 日期 | 版本 | 描述 | 作者 |
|---|---|---|---|
| 2025-11-16 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
| 2025-11-17 | 1.1 | 完成区域管理UI包开发 | Claude Code |
areaRoutes改为adminAreasRoutes包结构文件:
packages/area-management-ui/package.json - 包配置packages/area-management-ui/tsconfig.json - TypeScript配置packages/area-management-ui/vitest.config.ts - 测试配置packages/area-management-ui/eslint.config.js - ESLint配置源码文件:
packages/area-management-ui/src/index.ts - 包导出主入口packages/area-management-ui/src/components/AreaManagement.tsx - 区域管理主组件packages/area-management-ui/src/components/AreaForm.tsx - 区域表单组件packages/area-management-ui/src/components/AreaTreeAsync.tsx - 异步树形组件packages/area-management-ui/src/api/areaClient.ts - 区域客户端管理器packages/area-management-ui/src/hooks/useAreas.ts - 区域管理hookspackages/area-management-ui/src/types/area.ts - 类型定义测试文件:
packages/area-management-ui/tests/setup.ts - 测试设置packages/area-management-ui/tests/unit/area-client.test.ts - 客户端单元测试packages/area-management-ui/tests/unit/useAreas.test.tsx - hooks单元测试packages/area-management-ui/tests/integration/area-management.integration.test.tsx - 集成测试此部分将在质量保证审查过程中由QA代理填充