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