HaniBlindBox/.kiro/specs/admin-frontend-migration/requirements.md
2026-01-17 03:24:20 +08:00

138 lines
7.7 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
本文档定义了 HoneyBox 后台管理系统前端业务模块迁移的需求。后端 APIHoneyBox.Admin.Business已完成现需要在现有的 Vue 3 + Element Plus 前端项目admin-web中添加业务模块页面实现与后端 API 的对接。
## Glossary
- **Admin_Web**: 后台管理前端项目,使用 Vue 3 + Element Plus + TypeScript + Pinia 技术栈
- **Business_Module**: 业务模块,包括仪表盘、用户管理、商品管理、订单管理、财务管理、系统配置等
- **API_Service**: 前端 API 服务层,封装与后端的 HTTP 请求
- **Page_Component**: 页面组件Vue 单文件组件(.vue
- **Router**: Vue Router 路由配置
- **Store**: Pinia 状态管理
## Requirements
### Requirement 1: 仪表盘模块升级
**User Story:** As a 管理员, I want 在仪表盘看到业务数据概览, so that 我可以快速了解系统运营状况。
#### Acceptance Criteria
1. WHEN 管理员访问仪表盘页面 THEN THE Admin_Web SHALL 显示今日注册用户数、今日消费金额、今日订单数、总用户数等统计数据
2. WHEN 仪表盘页面加载 THEN THE Admin_Web SHALL 调用 `/api/admin/business/dashboard` 接口获取概览数据
3. WHEN 管理员查看广告账户 THEN THE Admin_Web SHALL 显示广告账户列表并支持新增和删除操作
4. IF 接口请求失败 THEN THE Admin_Web SHALL 显示错误提示信息
### Requirement 2: 用户管理模块
**User Story:** As a 管理员, I want 管理平台用户, so that 我可以查看用户信息、处理用户问题、管理用户资金。
#### Acceptance Criteria
1. WHEN 管理员访问用户列表页面 THEN THE Admin_Web SHALL 显示分页用户列表支持按用户ID、昵称、手机号搜索
2. WHEN 管理员点击用户详情 THEN THE Admin_Web SHALL 显示用户基本信息、账户余额、VIP等级等详细信息
3. WHEN 管理员执行资金变动操作 THEN THE Admin_Web SHALL 弹出对话框输入变动金额和备注,提交后调用 `/api/admin/business/users/{id}/money` 接口
4. WHEN 管理员执行封号/解封操作 THEN THE Admin_Web SHALL 调用 `/api/admin/business/users/{id}/status` 接口并刷新列表
5. WHEN 管理员设置测试账号 THEN THE Admin_Web SHALL 调用 `/api/admin/business/users/{id}/test` 接口
6. WHEN 管理员清空手机号或微信绑定 THEN THE Admin_Web SHALL 弹出确认对话框,确认后调用相应接口
7. WHEN 管理员赠送优惠券或卡牌 THEN THE Admin_Web SHALL 弹出选择对话框,选择后调用相应接口
8. WHEN 管理员查看用户盈亏统计 THEN THE Admin_Web SHALL 显示用户的消费、中奖、回收等统计数据
9. WHEN 管理员查看下级用户 THEN THE Admin_Web SHALL 显示该用户邀请的下级用户列表
### Requirement 3: VIP管理模块
**User Story:** As a 管理员, I want 管理VIP等级配置, so that 我可以设置不同VIP等级的权益。
#### Acceptance Criteria
1. WHEN 管理员访问VIP管理页面 THEN THE Admin_Web SHALL 显示VIP等级列表
2. WHEN 管理员编辑VIP等级 THEN THE Admin_Web SHALL 弹出编辑对话框,支持修改等级名称、所需经验、权益等
3. WHEN 管理员保存VIP配置 THEN THE Admin_Web SHALL 调用 `/api/admin/business/vip/{id}` 接口
### Requirement 4: 商品管理模块
**User Story:** As a 管理员, I want 管理抽奖盒子和奖品, so that 我可以配置抽奖活动。
#### Acceptance Criteria
1. WHEN 管理员访问商品列表页面 THEN THE Admin_Web SHALL 显示分页商品列表,支持按名称、类型、状态筛选
2. WHEN 管理员新增商品 THEN THE Admin_Web SHALL 显示新增表单,包含名称、类型、价格、图片、描述等字段
3. WHEN 管理员编辑商品 THEN THE Admin_Web SHALL 加载商品详情并显示编辑表单
4. WHEN 管理员删除商品 THEN THE Admin_Web SHALL 弹出确认对话框,确认后调用删除接口
5. WHEN 管理员上架/下架商品 THEN THE Admin_Web SHALL 调用 `/api/admin/business/goods/{id}/status` 接口
6. WHEN 管理员查看商品奖品 THEN THE Admin_Web SHALL 显示该商品的奖品列表
7. WHEN 管理员添加奖品 THEN THE Admin_Web SHALL 弹出添加奖品对话框,支持设置奖品名称、等级、库存、概率等
### Requirement 5: 商品类型管理
**User Story:** As a 管理员, I want 管理商品类型, so that 我可以分类管理不同类型的抽奖盒子。
#### Acceptance Criteria
1. WHEN 管理员访问商品类型页面 THEN THE Admin_Web SHALL 显示商品类型列表
2. WHEN 管理员新增商品类型 THEN THE Admin_Web SHALL 弹出新增对话框
3. WHEN 管理员编辑商品类型 THEN THE Admin_Web SHALL 弹出编辑对话框
### Requirement 6: 订单管理模块
**User Story:** As a 管理员, I want 管理用户订单, so that 我可以处理订单问题和发货。
#### Acceptance Criteria
1. WHEN 管理员访问订单列表页面 THEN THE Admin_Web SHALL 显示分页订单列表支持按订单号、用户ID、状态、日期筛选
2. WHEN 管理员查看订单详情 THEN THE Admin_Web SHALL 显示订单基本信息和奖品明细
3. WHEN 管理员访问卡单列表 THEN THE Admin_Web SHALL 显示支付成功但未发奖的订单
4. WHEN 管理员访问兑换订单列表 THEN THE Admin_Web SHALL 显示用户回收奖品的订单
5. WHEN 管理员访问发货订单列表 THEN THE Admin_Web SHALL 显示待发货和已发货的订单
6. WHEN 管理员执行发货操作 THEN THE Admin_Web SHALL 弹出发货对话框,输入快递公司和单号后调用发货接口
7. WHEN 管理员导出订单 THEN THE Admin_Web SHALL 调用导出接口并下载CSV文件
### Requirement 7: 财务管理模块
**User Story:** As a 管理员, I want 查看财务数据, so that 我可以了解平台的资金流动情况。
#### Acceptance Criteria
1. WHEN 管理员访问消费排行页面 THEN THE Admin_Web SHALL 显示用户消费排行榜
2. WHEN 管理员访问余额明细页面 THEN THE Admin_Web SHALL 显示用户余额变动记录
3. WHEN 管理员访问积分明细页面 THEN THE Admin_Web SHALL 显示用户积分变动记录
4. WHEN 管理员访问钻石明细页面 THEN THE Admin_Web SHALL 显示用户钻石变动记录
5. WHEN 管理员访问充值记录页面 THEN THE Admin_Web SHALL 显示用户充值记录列表
### Requirement 8: 系统配置模块
**User Story:** As a 管理员, I want 配置系统参数, so that 我可以管理支付、上传等系统设置。
#### Acceptance Criteria
1. WHEN 管理员访问系统配置页面 THEN THE Admin_Web SHALL 显示配置分组列表
2. WHEN 管理员选择配置分组 THEN THE Admin_Web SHALL 显示该分组下的配置项
3. WHEN 管理员修改配置项 THEN THE Admin_Web SHALL 调用 `/api/admin/business/config/{group}` 接口保存配置
4. THE Admin_Web SHALL 支持不同类型的配置项输入(文本、数字、开关、图片上传等)
### Requirement 9: 路由和导航
**User Story:** As a 管理员, I want 通过侧边栏导航访问各业务模块, so that 我可以方便地切换不同功能。
#### Acceptance Criteria
1. THE Admin_Web SHALL 在路由配置中添加业务模块路由
2. THE Admin_Web SHALL 根据后端返回的菜单数据动态生成导航菜单
3. WHEN 管理员点击导航菜单 THEN THE Admin_Web SHALL 跳转到对应的业务页面
4. THE Admin_Web SHALL 支持权限控制,无权限的菜单不显示
### Requirement 10: API服务层
**User Story:** As a 开发者, I want 统一的API服务层, so that 我可以方便地调用后端接口。
#### Acceptance Criteria
1. THE Admin_Web SHALL 在 `src/api/` 目录下创建业务模块API文件
2. THE Admin_Web SHALL 使用 axios 封装 HTTP 请求
3. THE Admin_Web SHALL 统一处理请求错误和响应格式
4. THE Admin_Web SHALL 支持请求拦截器自动添加认证Token