Forráskód Böngészése

📝 docs(story): add system-config-ui-package story

- 创建系统配置UI包相关需求文档,包含故事描述和验收标准
- 定义系统配置管理功能的任务分解和子任务
- 添加技术栈、项目结构和测试策略等开发说明
- 记录变更日志和开发代理信息
yourname 1 hónapja
szülő
commit
38fda5f5ea
1 módosított fájl, 136 hozzáadás és 0 törlés
  1. 136 0
      docs/stories/010.004.system-config-ui-package.story.md

+ 136 - 0
docs/stories/010.004.system-config-ui-package.story.md

@@ -0,0 +1,136 @@
+# Story 010.004: system-config-ui-package
+
+## Status
+Draft
+
+## Story
+**As a** 系统管理员,
+**I want** 在管理后台中查看和管理租户的系统配置,
+**so that** 可以为不同租户配置小程序登录和支付参数
+
+## Acceptance Criteria
+1. 创建系统配置UI包,提供系统配置管理界面
+2. 在管理后台中集成系统配置管理页面
+3. 支持按租户筛选和查看系统配置
+4. 提供配置项的增删改查功能
+5. 验证现有功能保持完整,无回归
+
+## Tasks / Subtasks
+- [ ] 创建系统配置UI包 (AC: 1)
+  - [ ] 创建系统配置列表页面组件
+  - [ ] 创建系统配置创建/编辑表单组件
+  - [ ] 创建系统配置详情查看组件
+  - [ ] 添加租户筛选器组件
+- [ ] 集成系统配置UI包到管理后台 (AC: 2)
+  - [ ] 在管理后台路由中添加系统配置页面路由
+  - [ ] 在管理后台菜单中添加系统配置菜单项
+  - [ ] 配置系统配置页面的权限控制
+- [ ] 实现系统配置管理功能 (AC: 3, 4)
+  - [ ] 实现系统配置列表查询和分页
+  - [ ] 实现系统配置创建功能
+  - [ ] 实现系统配置编辑功能
+  - [ ] 实现系统配置删除功能
+  - [ ] 实现按租户筛选系统配置
+- [ ] 创建系统配置UI包测试 (AC: 5)
+  - [ ] 创建系统配置UI组件单元测试
+  - [ ] 创建系统配置页面集成测试
+  - [ ] 验证现有管理后台功能无回归
+
+## Dev Notes
+
+### 技术栈信息 [Source: architecture/tech-stack.md]
+- **前端框架**: React 19.1.0 + TypeScript
+- **路由**: React Router v7
+- **状态管理**: @tanstack/react-query (服务端状态) + Context (本地状态)
+- **UI组件库**: shadcn/ui (基于Radix UI)
+- **构建工具**: Vite 7.0.0
+- **样式**: Tailwind CSS 4.1.11
+- **HTTP客户端**: 基于Hono Client的封装 + axios适配器
+
+### 项目结构信息 [Source: architecture/source-tree.md]
+- **管理后台位置**: `web/src/client/admin/`
+- **页面组件位置**: `web/src/client/admin/pages/`
+- **共享组件位置**: `web/src/client/components/ui/`
+- **系统配置模块位置**: `packages/core-module-mt/system-config-module-mt/`
+- **API客户端位置**: `web/src/client/api.ts`
+
+### 现有管理后台结构 [Source: web/src/client/admin/pages/Users.tsx]
+- **页面组件模式**: 使用React函数组件 + TypeScript
+- **状态管理**: 使用React Query管理服务端状态,useState管理本地状态
+- **表单处理**: 使用react-hook-form + zod验证
+- **UI组件**: 使用shadcn/ui组件库
+- **API调用**: 使用Hono RPC客户端,类型安全
+- **分页模式**: 使用DataTablePagination组件
+- **搜索过滤**: 支持关键词搜索和高级筛选
+
+### 系统配置模块现有结构 [Source: packages/core-module-mt/system-config-module-mt/src/services/system-config.service.mt.ts]
+- **SystemConfigServiceMt**: 继承GenericCrudService,支持多租户和Redis缓存
+- **实体字段**: id, tenantId, configKey, configValue, description, createdBy, updatedBy, createdAt, updatedAt
+- **API端点**: 完整的CRUD API,支持租户隔离
+- **缓存策略**: Redis缓存,正常值1小时TTL,空值5分钟TTL
+
+### 配置键定义 [Source: packages/core-module-mt/system-config-module-mt/src/constants/config-keys.constants.mt.ts]
+- **认证配置键**:
+  - `wx.mini.app.id` - 微信小程序AppID
+  - `wx.mini.app.secret` - 微信小程序AppSecret
+- **支付配置键**:
+  - `wx.payment.merchant.id` - 微信支付商户ID
+  - `wx.payment.v3.key` - 微信支付V3密钥
+  - `wx.payment.cert.serial.no` - 商户证书序列号
+  - `wx.payment.public.key` - 商户公钥
+  - `wx.payment.private.key` - 商户私钥
+  - `wx.payment.notify.url` - 支付回调URL
+
+### UI包创建策略
+- **包命名**: `system-config-management-ui-mt`
+- **包位置**: 在packages目录下创建
+- **组件结构**: 遵循现有管理后台组件模式
+- **API集成**: 使用Hono RPC客户端,类型安全
+- **租户支持**: 支持多租户筛选和管理
+
+### 关键参考文件路径
+- **用户管理页面参考**: `web/src/client/admin/pages/Users.tsx`
+- **系统配置服务**: `packages/core-module-mt/system-config-module-mt/src/services/system-config.service.mt.ts`
+- **系统配置路由**: `packages/core-module-mt/system-config-module-mt/src/routes/system-config.routes.mt.ts`
+- **系统配置实体**: `packages/core-module-mt/system-config-module-mt/src/entities/system-config.entity.mt.ts`
+- **系统配置Schema**: `packages/core-module-mt/system-config-module-mt/src/schemas/system-config.schema.mt.ts`
+
+### Testing
+
+#### 测试标准 [Source: architecture/testing-strategy.md]
+- **测试框架**: Vitest + hono/testing
+- **测试位置**: 各模块的`tests/integration/`目录
+- **测试类型**: 集成测试
+- **覆盖率目标**: 集成测试 ≥ 60%
+
+#### 测试文件结构
+- `packages/system-config-management-ui-mt/tests/unit/` - UI组件单元测试
+- `web/tests/integration/system-config.integration.test.ts` - 系统配置页面集成测试
+
+#### 测试场景
+- 系统配置列表页面渲染测试
+- 系统配置创建功能测试
+- 系统配置编辑功能测试
+- 系统配置删除功能测试
+- 租户筛选功能测试
+- 现有管理后台功能回归测试
+
+## Change Log
+| Date | Version | Description | Author |
+|------|---------|-------------|--------|
+| 2025-11-20 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
+
+## Dev Agent Record
+
+### Agent Model Used
+- **Agent**: James (Dev Agent)
+- **Environment**: Multi-tenant development environment
+- **Session Date**: 2025-11-20
+
+### Debug Log References
+
+### Completion Notes List
+
+### File List
+
+## QA Results