HaniBlindBox/.kiro/specs/user-management-frontend/requirements.md
2026-01-17 17:48:43 +08:00

8.6 KiB
Raw Blame History

Requirements Document

Introduction

本文档定义了HoneyBox后台管理系统用户管理模块前端迁移的需求。该模块需要将老项目PHP ThinkPHP + Layui的用户管理前端页面迁移到新项目ASP.NET Core + Vue 3 + Element Plus

后端API已部分迁移完成本次主要任务是创建前端页面并与已有API对接同时补充缺失的API接口。

Glossary

  • Admin_Web: 新项目后台管理前端,位于 server/HoneyBox/src/HoneyBox.Admin/admin-web
  • User_Controller: 用户管理后端控制器,位于 server/HoneyBox/src/HoneyBox.Admin.Business/Controllers/UserController.cs
  • User_Service: 用户业务服务,位于 server/HoneyBox/src/HoneyBox.Admin.Business/Services/UserBusinessService.cs
  • Old_View: 老项目视图文件,位于 server/php/app/admin/view/User/
  • Element_Plus: Vue 3 UI组件库
  • Layui: 老项目使用的前端UI框架

Requirements

Requirement 1: 用户列表页面

User Story: As a 管理员, I want 查看和管理用户列表, so that 我可以了解用户情况并进行必要的管理操作。

Acceptance Criteria

  1. WHEN 管理员访问用户管理页面 THEN Admin_Web SHALL 显示用户列表表格,包含用户信息、推荐人、余额、积分、钻石、货币信息、用户状态等字段
  2. WHEN 管理员输入搜索条件UID、推荐人UID、手机号、昵称、IP地址、登录时间范围并点击搜索 THEN Admin_Web SHALL 根据条件筛选并显示匹配的用户列表
  3. WHEN 用户列表加载完成 THEN Admin_Web SHALL 显示每个用户的消费统计(总消费、出货价值、盒柜价值、达达券)
  4. WHEN 管理员点击分页控件 THEN Admin_Web SHALL 加载对应页码的用户数据
  5. THE Admin_Web SHALL 在用户列表每行显示操作按钮组,包含资金变动、状态管理、赠送功能、查看详情等操作入口

Requirement 2: 资金变动功能

User Story: As a 管理员, I want 给用户充值或扣除余额/积分/钻石, so that 我可以处理用户的资金问题。

Acceptance Criteria

  1. WHEN 管理员点击"充值余额/积分/钻石"按钮 THEN Admin_Web SHALL 弹出资金变动对话框,显示当前余额和操作表单
  2. WHEN 管理员选择操作类型(充值/扣除)、输入金额和备注并提交 THEN Admin_Web SHALL 调用API完成资金变动操作
  3. IF 资金变动请求参数无效(如扣除金额超过余额) THEN Admin_Web SHALL 显示错误提示信息
  4. WHEN 资金变动成功 THEN Admin_Web SHALL 刷新用户列表显示最新余额

Requirement 3: 用户状态管理

User Story: As a 管理员, I want 管理用户账号状态, so that 我可以封禁违规用户或解封用户。

Acceptance Criteria

  1. WHEN 管理员点击"封号"按钮 THEN Admin_Web SHALL 弹出确认对话框确认后调用API封禁用户
  2. WHEN 管理员点击"解封"按钮 THEN Admin_Web SHALL 弹出确认对话框确认后调用API解封用户
  3. WHEN 管理员点击"设为测试账号"按钮 THEN Admin_Web SHALL 调用API将用户标记为测试账号
  4. WHEN 管理员点击"清空手机号"按钮 THEN Admin_Web SHALL 弹出确认对话框确认后调用API清空用户手机号
  5. WHEN 管理员点击"重置微信登录"按钮 THEN Admin_Web SHALL 弹出确认对话框确认后调用API清空用户微信绑定
  6. WHEN 管理员点击"绑定手机号"按钮 THEN Admin_Web SHALL 弹出输入对话框输入手机号后调用API绑定

Requirement 4: 赠送功能

User Story: As a 管理员, I want 给用户赠送优惠券或卡牌, so that 我可以进行用户运营活动。

Acceptance Criteria

  1. WHEN 管理员点击"赠送优惠券"按钮 THEN Admin_Web SHALL 弹出优惠券选择对话框,显示可用优惠券列表
  2. WHEN 管理员选择优惠券、输入数量并提交 THEN Admin_Web SHALL 调用API完成优惠券赠送
  3. WHEN 管理员点击"赠送卡牌"按钮 THEN Admin_Web SHALL 弹出卡牌选择对话框,支持选择盒子和奖品
  4. WHEN 管理员选择盒子、奖品、输入数量并提交 THEN Admin_Web SHALL 调用API完成卡牌赠送

Requirement 5: 用户详情查看

User Story: As a 管理员, I want 查看用户的详细信息和相关数据, so that 我可以全面了解用户情况。

Acceptance Criteria

  1. WHEN 管理员点击"查看下级"按钮 THEN Admin_Web SHALL 弹出下级用户列表对话框,显示该用户邀请的下级用户
  2. WHEN 管理员点击"查看盒柜"按钮 THEN Admin_Web SHALL 弹出用户盒柜对话框,显示用户的中奖物品列表
  3. WHEN 管理员点击"查看订单"按钮 THEN Admin_Web SHALL 弹出用户订单对话框,显示用户的订单列表
  4. WHEN 管理员点击"余额流水明细"按钮 THEN Admin_Web SHALL 弹出流水明细对话框,显示用户余额变动记录
  5. WHEN 管理员点击"积分流水明细"按钮 THEN Admin_Web SHALL 弹出流水明细对话框,显示用户积分变动记录
  6. WHEN 管理员点击"钻石流水明细"按钮 THEN Admin_Web SHALL 弹出流水明细对话框,显示用户钻石变动记录
  7. WHEN 管理员点击"查看IP登录列表"按钮 THEN Admin_Web SHALL 弹出IP登录历史对话框

Requirement 6: 用户盈亏统计

User Story: As a 管理员, I want 查看用户的盈亏统计数据, so that 我可以分析用户的消费和收益情况。

Acceptance Criteria

  1. WHEN 管理员访问用户盈亏统计页面 THEN Admin_Web SHALL 显示用户盈亏列表,包含用户信息、支付金额、发货金额、背包金额、盈亏计算
  2. WHEN 管理员输入筛选条件用户ID、时间范围并搜索 THEN Admin_Web SHALL 根据条件筛选显示盈亏数据
  3. WHEN 管理员点击"导出Excel"按钮 THEN Admin_Web SHALL 导出当前筛选结果到Excel文件
  4. THE Admin_Web SHALL 在盈亏列表中用不同颜色区分盈利和亏损状态

Requirement 7: VIP等级管理

User Story: As a 管理员, I want 管理VIP等级配置, so that 我可以设置不同VIP等级的权益。

Acceptance Criteria

  1. WHEN 管理员访问VIP管理页面 THEN Admin_Web SHALL 显示VIP等级列表包含等级名称、升级所需积分、享受折扣、权益说明
  2. WHEN 管理员点击"编辑"按钮 THEN Admin_Web SHALL 弹出VIP等级编辑对话框
  3. WHEN 管理员修改VIP等级信息并提交 THEN Admin_Web SHALL 调用API更新VIP等级配置

Requirement 8: 用户邀请统计

User Story: As a 管理员, I want 查看用户邀请统计数据, so that 我可以了解推广效果。

Acceptance Criteria

  1. WHEN 管理员访问用户邀请统计页面 THEN Admin_Web SHALL 显示邀请统计列表,包含邀请人数、绑定手机数、消费人数、消费总金额
  2. WHEN 管理员点击某行展开 THEN Admin_Web SHALL 显示被邀请用户的详细信息列表
  3. WHEN 管理员点击"导出"按钮 THEN Admin_Web SHALL 导出邀请统计数据到Excel文件

Requirement 9: 用户登录统计

User Story: As a 管理员, I want 查看用户登录统计图表, so that 我可以了解用户活跃情况。

Acceptance Criteria

  1. WHEN 管理员访问登录统计页面 THEN Admin_Web SHALL 显示登录统计图表和筛选条件
  2. WHEN 管理员选择统计类型(日/周/月)和时间范围 THEN Admin_Web SHALL 更新图表显示对应的登录趋势
  3. THE Admin_Web SHALL 在图表下方显示总登录次数和活跃用户数统计

Requirement 10: API补充迁移

User Story: As a 开发者, I want 补充缺失的后端API, so that 前端页面可以正常工作。

Acceptance Criteria

  1. THE User_Controller SHALL 提供用户盒柜列表查询APIGET /api/admin/business/users/{id}/box
  2. THE User_Controller SHALL 提供用户订单列表查询APIGET /api/admin/business/users/{id}/orders
  3. THE User_Controller SHALL 提供用户流水明细查询APIGET /api/admin/business/users/{id}/money-detail、/integral-detail、/score-detail
  4. THE User_Controller SHALL 提供用户IP登录历史查询APIGET /api/admin/business/users/{id}/ip-logs
  5. THE User_Controller SHALL 提供用户邀请统计查询APIGET /api/admin/business/users/invite-stats
  6. THE User_Controller SHALL 提供用户登录统计查询APIGET /api/admin/business/users/login-stats
  7. THE User_Controller SHALL 提供用户盈亏列表查询APIGET /api/admin/business/users/profit-loss-list
  8. THE User_Controller SHALL 提供绑定手机号APIPUT /api/admin/business/users/{id}/mobile
  9. THE User_Controller SHALL 提供重置签到数据APIPUT /api/admin/business/users/{id}/sign-reset
  10. THE User_Controller SHALL 提供清空UID APIDELETE /api/admin/business/users/{id}/uid