173 lines
11 KiB
Markdown
173 lines
11 KiB
Markdown
# 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 返回验证错误信息
|