HaniBlindBox/.kiro/specs/system-config-frontend/requirements.md
2026-01-18 01:29:27 +08:00

173 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Requirements Document
## Introduction
本需求文档描述系统配置模块从老项目PHP ThinkPHP + Layui迁移到新项目ASP.NET Core + Vue 3 + Element Plus的前端功能需求。系统配置模块包含基础设置、微信支付配置、支付宝支付配置、小程序配置、H5配置、上传配置、签到配置和系统设置等多个子模块。
## Glossary
- **System_Config**: 系统配置模块,管理系统各项参数配置
- **Base_Setting**: 基础设置,包含网站名称、物流、分销比例等基础参数
- **Weixinpay_Setting**: 微信支付配置,支持多商户配置
- **Alipay_Setting**: 支付宝支付配置,支持多商户配置
- **Miniprogram_Setting**: 小程序配置,支持多小程序配置
- **H5_Setting**: H5应用配置支持多H5应用配置
- **Upload_Setting**: 上传配置,配置文件存储方式
- **Sign_Setting**: 签到配置配置7天签到奖励
- **App_Setting**: 应用设置,包含项目名称、货币配置等
- **User_Config**: 用户UID设置
- **System_Test**: 内测配置
- **Rank_Setting**: 排行榜设置
## Requirements
### Requirement 1: 基础设置页面
**User Story:** As a 系统管理员, I want to 配置系统基础参数, so that 系统能够按照业务需求正常运行。
#### Acceptance Criteria
1. WHEN 管理员访问基础设置页面 THEN THE System_Config SHALL 显示当前所有基础配置项
2. WHEN 管理员修改网站名称 THEN THE System_Config SHALL 保存新的网站名称
3. WHEN 管理员修改物流code THEN THE System_Config SHALL 保存物流API密钥
4. WHEN 管理员修改分销奖励比例 THEN THE System_Config SHALL 验证比例为有效数字并保存
5. WHEN 管理员修改赏券领取限制 THEN THE System_Config SHALL 保存各等级赏券限制人数
6. WHEN 管理员修改包邮门槛和运费 THEN THE System_Config SHALL 保存背包包邮门槛和运费金额
7. WHEN 管理员修改锁箱时间 THEN THE System_Config SHALL 保存一番赏三发/五发锁箱时间
8. WHEN 管理员上传福利进群二维码 THEN THE System_Config SHALL 上传图片并保存URL
9. WHEN 管理员修改分享设置 THEN THE System_Config SHALL 保存分享标题和分享图片
10. WHEN 管理员修改首页弹窗开关 THEN THE System_Config SHALL 保存弹窗状态
11. WHEN 管理员修改兑换开关 THEN THE System_Config SHALL 保存兑换功能状态
12. WHEN 管理员点击保存按钮 THEN THE System_Config SHALL 提交所有配置并显示保存结果
### Requirement 2: 微信支付配置页面
**User Story:** As a 系统管理员, I want to 配置微信支付商户号, so that 用户能够使用微信支付。
#### Acceptance Criteria
1. WHEN 管理员访问微信支付配置页面 THEN THE Weixinpay_Setting SHALL 显示所有已配置的商户列表
2. WHEN 管理员点击添加商户按钮 THEN THE Weixinpay_Setting SHALL 显示新的商户配置表单
3. WHEN 管理员填写商户名称、MCHID、Key THEN THE Weixinpay_Setting SHALL 验证必填字段
4. WHEN 管理员填写订单前缀 THEN THE Weixinpay_Setting SHALL 验证前缀为3位字符且唯一
5. WHEN 管理员设置权重 THEN THE Weixinpay_Setting SHALL 保存权重值用于支付分配
6. WHEN 管理员切换启用状态 THEN THE Weixinpay_Setting SHALL 保存商户启用/禁用状态
7. WHEN 管理员点击删除商户按钮 THEN THE Weixinpay_Setting SHALL 删除该商户配置(至少保留一个)
8. WHEN 管理员点击保存按钮 THEN THE Weixinpay_Setting SHALL 验证所有商户配置并保存
### Requirement 3: 支付宝支付配置页面
**User Story:** As a 系统管理员, I want to 配置支付宝商户号, so that 用户能够使用支付宝支付。
#### Acceptance Criteria
1. WHEN 管理员访问支付宝支付配置页面 THEN THE Alipay_Setting SHALL 显示所有已配置的商户列表
2. WHEN 管理员点击添加商户按钮 THEN THE Alipay_Setting SHALL 显示新的商户配置表单
3. WHEN 管理员填写商户名称、AppId THEN THE Alipay_Setting SHALL 验证必填字段
4. WHEN 管理员填写应用私钥和支付宝公钥 THEN THE Alipay_Setting SHALL 保存RSA密钥配置
5. WHEN 管理员设置权重 THEN THE Alipay_Setting SHALL 保存权重值用于支付分配
6. WHEN 管理员切换启用状态 THEN THE Alipay_Setting SHALL 保存商户启用/禁用状态
7. WHEN 管理员点击删除商户按钮 THEN THE Alipay_Setting SHALL 删除该商户配置(至少保留一个)
8. WHEN 管理员点击保存按钮 THEN THE Alipay_Setting SHALL 验证所有商户配置并保存
### Requirement 4: 小程序配置页面
**User Story:** As a 系统管理员, I want to 配置微信小程序, so that 系统能够支持多个小程序。
#### Acceptance Criteria
1. WHEN 管理员访问小程序配置页面 THEN THE Miniprogram_Setting SHALL 显示所有已配置的小程序列表
2. WHEN 管理员点击添加小程序按钮 THEN THE Miniprogram_Setting SHALL 显示新的小程序配置表单
3. WHEN 管理员填写小程序名称、AppId、AppSecret THEN THE Miniprogram_Setting SHALL 验证必填字段
4. WHEN 管理员设置是否默认 THEN THE Miniprogram_Setting SHALL 确保只有一个默认小程序
5. WHEN 管理员填写域名 THEN THE Miniprogram_Setting SHALL 保存域名配置用于自动匹配
6. WHEN 管理员填写订单前缀 THEN THE Miniprogram_Setting SHALL 验证前缀为2位字符且唯一
7. WHEN 管理员选择关联商户 THEN THE Miniprogram_Setting SHALL 保存小程序与微信支付商户的关联
8. WHEN 管理员点击删除小程序按钮 THEN THE Miniprogram_Setting SHALL 删除该小程序配置(至少保留一个)
9. WHEN 管理员点击保存按钮 THEN THE Miniprogram_Setting SHALL 验证必须有一个默认小程序并保存
### Requirement 5: H5配置页面
**User Story:** As a 系统管理员, I want to 配置H5应用, so that 系统能够支持多个H5应用。
#### Acceptance Criteria
1. WHEN 管理员访问H5配置页面 THEN THE H5_Setting SHALL 显示所有已配置的H5应用列表
2. WHEN 管理员点击添加H5应用按钮 THEN THE H5_Setting SHALL 显示新的H5应用配置表单
3. WHEN 管理员填写H5名称、AppId、AppSecret THEN THE H5_Setting SHALL 验证必填字段
4. WHEN 管理员设置是否默认 THEN THE H5_Setting SHALL 确保只有一个默认H5应用
5. WHEN 管理员填写域名 THEN THE H5_Setting SHALL 保存域名配置用于自动匹配
6. WHEN 管理员填写订单前缀 THEN THE H5_Setting SHALL 验证前缀为2位字符
7. WHEN 管理员切换支付方式选项卡 THEN THE H5_Setting SHALL 显示对应的商户选择列表
8. WHEN 管理员选择支付宝商户 THEN THE H5_Setting SHALL 保存H5与支付宝商户的关联
9. WHEN 管理员选择微信商户 THEN THE H5_Setting SHALL 保存H5与微信支付商户的关联
10. WHEN 管理员点击删除H5应用按钮 THEN THE H5_Setting SHALL 删除该H5应用配置至少保留一个
11. WHEN 管理员点击保存按钮 THEN THE H5_Setting SHALL 验证必须有一个默认H5应用并保存
### Requirement 6: 上传配置页面
**User Story:** As a 系统管理员, I want to 配置文件上传存储方式, so that 系统能够正确存储上传的文件。
#### Acceptance Criteria
1. WHEN 管理员访问上传配置页面 THEN THE Upload_Setting SHALL 显示当前上传配置
2. WHEN 管理员选择存储方式 THEN THE Upload_Setting SHALL 显示对应的配置字段(本地/阿里云/腾讯云)
3. WHEN 管理员选择云存储 THEN THE Upload_Setting SHALL 显示空间名称、地域、密钥等配置项
4. WHEN 管理员填写云存储配置 THEN THE Upload_Setting SHALL 验证必填字段
5. WHEN 管理员点击保存按钮 THEN THE Upload_Setting SHALL 保存上传配置
### Requirement 7: 签到配置页面
**User Story:** As a 系统管理员, I want to 配置签到奖励, so that 用户签到能够获得相应奖励。
#### Acceptance Criteria
1. WHEN 管理员访问签到配置页面 THEN THE Sign_Setting SHALL 显示7天签到奖励配置
2. WHEN 管理员修改每天签到奖励 THEN THE Sign_Setting SHALL 验证奖励为有效数字
3. WHEN 管理员点击保存按钮 THEN THE Sign_Setting SHALL 保存签到配置
### Requirement 8: 系统设置页面
**User Story:** As a 系统管理员, I want to 配置系统综合设置, so that 系统能够按照业务需求运行。
#### Acceptance Criteria
1. WHEN 管理员访问系统设置页面 THEN THE App_Setting SHALL 显示项目配置卡片
2. WHEN 管理员修改项目名称 THEN THE App_Setting SHALL 保存项目名称
3. WHEN 管理员修改购买弹窗设置 THEN THE App_Setting SHALL 保存弹窗显示方式
4. WHEN 管理员修改商城购买次数 THEN THE App_Setting SHALL 保存每日购买限制
5. WHEN 管理员修改货币名称和图标 THEN THE App_Setting SHALL 保存余额/货币1/货币2的名称和图标
6. WHEN 管理员上传中奖音频 THEN THE App_Setting SHALL 上传音频文件并保存URL
7. WHEN 管理员修改各项限制配置 THEN THE App_Setting SHALL 保存签到门槛、兑换限制等配置
8. WHEN 管理员访问用户UID设置卡片 THEN THE User_Config SHALL 显示UID类型和长度配置
9. WHEN 管理员修改UID类型 THEN THE User_Config SHALL 根据类型显示/隐藏长度配置
10. WHEN 管理员访问内测配置卡片 THEN THE System_Test SHALL 显示内测相关配置
11. WHEN 管理员修改内测开关 THEN THE System_Test SHALL 保存内测状态
12. WHEN 管理员访问无限赏抽奖倍数卡片 THEN THE System_Config SHALL 显示抽奖倍数配置
13. WHEN 管理员访问排行榜设置卡片 THEN THE Rank_Setting SHALL 显示各排行榜统计方式配置
14. WHEN 管理员修改排行榜统计方式 THEN THE Rank_Setting SHALL 根据类型显示/隐藏自定义时间范围
15. WHEN 管理员点击各卡片保存按钮 THEN THE System_Config SHALL 保存对应配置
### Requirement 9: 路由和权限配置
**User Story:** As a 系统管理员, I want to 通过菜单访问系统配置页面, so that 能够方便地管理系统配置。
#### Acceptance Criteria
1. WHEN 管理员有config:view权限 THEN THE System_Config SHALL 允许访问配置页面
2. WHEN 管理员有config:edit权限 THEN THE System_Config SHALL 允许修改配置
3. WHEN 管理员点击系统配置菜单 THEN THE System_Config SHALL 显示配置子菜单
4. WHEN 管理员点击子菜单项 THEN THE System_Config SHALL 导航到对应配置页面
### Requirement 10: 后端API验证
**User Story:** As a 开发人员, I want to 验证后端API是否完整, so that 前端能够正常调用。
#### Acceptance Criteria
1. WHEN 前端调用获取配置API THEN THE System_Config SHALL 返回对应配置数据
2. WHEN 前端调用更新配置API THEN THE System_Config SHALL 验证并保存配置
3. WHEN 前端调用获取配置键列表API THEN THE System_Config SHALL 返回所有支持的配置键
4. IF 配置键不存在 THEN THE System_Config SHALL 返回空配置或默认值
5. IF 配置值格式错误 THEN THE System_Config SHALL 返回验证错误信息