Story 010.004: system-config-ui-package
Status
Draft
Story
As a 系统管理员,
I want 在管理后台中查看和管理租户的系统配置,
so that 可以为不同租户配置小程序登录和支付参数
Acceptance Criteria
- 创建系统配置UI包,提供系统配置管理界面
- 在管理后台中集成系统配置管理页面
- 支持按租户筛选和查看系统配置
- 提供配置项的增删改查功能
- 验证现有功能保持完整,无回归
Tasks / Subtasks
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