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

11 KiB
Raw Blame History

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 返回验证错误信息