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

242 lines
8.4 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.

# Implementation Plan: 用户管理模块前端迁移
## Overview
本实现计划将用户管理模块从老项目PHP ThinkPHP + Layui迁移到新项目ASP.NET Core + Vue 3 + Element Plus。实现分为后端API补充和前端页面开发两个主要部分。
## Tasks
- [x] 1. 后端API补充 - 用户详情相关
- [x] 1.1 创建用户盒柜相关模型和API
-`Models/User/` 下创建 `UserBoxModels.cs`
- 定义 `UserBoxQuery``UserBoxItem`
-`UserController.cs` 添加 `GetUserBox` API
-`IUserBusinessService.cs` 添加接口方法
-`UserBusinessService.cs` 实现查询逻辑
- _Requirements: 10.1_
- [x] 1.2 创建用户订单相关模型和API
-`Models/User/` 下创建 `UserOrderModels.cs`
- 定义 `UserOrderQuery``UserOrderItem`
-`UserController.cs` 添加 `GetUserOrders` API
- 实现服务层方法
- _Requirements: 10.2_
- [x] 1.3 创建流水明细相关模型和API
-`Models/User/` 下创建 `MoneyDetailModels.cs`
- 定义 `MoneyDetailQuery``MoneyDetailItem`
-`UserController.cs` 添加余额/积分/钻石流水明细API
- 实现服务层方法
- _Requirements: 10.3_
- [x] 1.4 创建IP登录历史API
-`UserController.cs` 添加 `GetUserIpLogs` API
- 实现服务层方法
- _Requirements: 10.4_
- [x] 2. 后端API补充 - 统计和操作相关
- [x] 2.1 创建用户邀请统计API
-`Models/User/` 下创建 `StatsModels.cs`
- 定义 `InviteStatsQuery``InviteStatsItem`
-`UserController.cs` 添加 `GetInviteStats` API
- 实现服务层方法
- _Requirements: 10.5_
- [x] 2.2 创建用户登录统计API
- 定义 `LoginStatsQuery``LoginStatsResponse`
-`UserController.cs` 添加 `GetLoginStats` API
- 实现服务层方法
- _Requirements: 10.6_
- [x] 2.3 创建用户盈亏列表API
- 定义 `ProfitLossListQuery``ProfitLossItem`
-`UserController.cs` 添加 `GetProfitLossList` API
- 实现服务层方法
- _Requirements: 10.7_
- [x] 2.4 创建用户操作API绑定手机号、重置签到、清空UID
-`UserController.cs` 添加 `BindMobile` API
-`UserController.cs` 添加 `ResetUserSign` API
-`UserController.cs` 添加 `ClearUid` API
- 实现服务层方法
- _Requirements: 10.8, 10.9, 10.10_
- [x] 3. Checkpoint - 后端API验证
- 确保所有新增API编译通过
- 使用Swagger测试API基本功能
- 确保权限验证正常工作
- [x] 4. 前端API层开发
- [x] 4.1 创建用户管理API模块
- 创建 `api/business/user.ts`
- 定义所有TypeScript接口
- 实现用户列表查询API调用
- 实现资金变动API调用
- 实现状态管理API调用
- 实现赠送功能API调用
- _Requirements: 1.1, 2.2, 3.1-3.6, 4.2, 4.4_
- [x] 4.2 实现用户详情相关API调用
- 实现用户盒柜查询API调用
- 实现用户订单查询API调用
- 实现流水明细查询API调用
- 实现IP登录历史查询API调用
- _Requirements: 5.1-5.7_
- [x] 4.3 实现统计相关API调用
- 实现用户盈亏列表API调用
- 实现用户邀请统计API调用
- 实现用户登录统计API调用
- 实现VIP等级管理API调用
- _Requirements: 6.1-6.3, 7.1-7.3, 8.1-8.3, 9.1-9.3_
- [x] 5. 前端用户列表页面开发
- [x] 5.1 创建用户列表主页面
- 创建 `views/business/user/index.vue`
- 实现页面布局和基本结构
- 集成搜索表单和用户表格组件
- _Requirements: 1.1_
- [x] 5.2 创建搜索表单组件
- 创建 `views/business/user/components/UserSearchForm.vue`
- 实现UID、推荐人UID、手机号、昵称、IP地址、登录时间范围搜索条件
- 实现搜索和重置功能
- _Requirements: 1.2_
- [x] 5.3 创建用户表格组件
- 创建 `views/business/user/components/UserTable.vue`
- 实现用户信息、推荐人、余额、积分、钻石、货币信息、状态等列
- 实现分页功能
- 实现操作按钮组
- _Requirements: 1.3, 1.4, 1.5_
- [x] 6. 前端对话框组件开发
- [x] 6.1 创建资金变动对话框
- 创建 `views/business/user/components/MoneyChangeDialog.vue`
- 实现操作类型选择(充值/扣除)
- 实现金额输入和备注输入
- 实现表单验证和提交
- _Requirements: 2.1, 2.2, 2.3, 2.4_
- [x] 6.2 创建赠送优惠券对话框
- 创建 `views/business/user/components/GiftCouponDialog.vue`
- 实现优惠券列表加载和选择
- 实现数量输入和提交
- _Requirements: 4.1, 4.2_
- [x] 6.3 创建赠送卡牌对话框
- 创建 `views/business/user/components/GiftCardDialog.vue`
- 实现盒子选择和奖品联动选择
- 实现数量输入和提交
- _Requirements: 4.3, 4.4_
- [x] 6.4 创建用户盒柜对话框
- 创建 `views/business/user/components/UserBoxDialog.vue`
- 实现盒柜列表展示和筛选
- 实现奖品状态、名称、盒子名称筛选
- _Requirements: 5.2_
- [x] 6.5 创建用户订单对话框
- 创建 `views/business/user/components/UserOrderDialog.vue`
- 实现订单列表展示和筛选
- _Requirements: 5.3_
- [x] 6.6 创建下级用户对话框
- 创建 `views/business/user/components/UserTeamDialog.vue`
- 实现下级用户列表展示
- 实现导出功能
- _Requirements: 5.1_
- [x] 6.7 创建流水明细对话框
- 创建 `views/business/user/components/MoneyDetailDialog.vue`
- 实现流水列表展示和筛选
- 支持余额/积分/钻石三种类型
- _Requirements: 5.4, 5.5, 5.6_
- [x] 6.8 创建IP登录历史对话框
- 创建 `views/business/user/components/IpLogDialog.vue`
- 实现IP登录历史列表展示
- _Requirements: 5.7_
- [x] 7. Checkpoint - 用户列表页面验证
- 确保用户列表页面正常显示
- 测试搜索和分页功能
- 测试各个对话框的打开和关闭
- 测试资金变动和状态管理功能
- [x] 8. 前端统计页面开发
- [x] 8.1 创建用户盈亏统计页面
- 创建 `views/business/user/profit-loss.vue`
- 实现盈亏列表展示
- 实现筛选功能用户ID、时间范围
- 实现盈亏状态颜色区分
- 实现导出Excel功能
- _Requirements: 6.1, 6.2, 6.3, 6.4_
- [x] 8.2 创建VIP等级管理页面
- 创建 `views/business/user/vip.vue`
- 实现VIP等级列表展示
- 实现编辑对话框
- _Requirements: 7.1, 7.2, 7.3_
- [x] 8.3 创建用户邀请统计页面
- 创建 `views/business/user/invite-stats.vue`
- 实现邀请统计列表展示
- 实现展开查看被邀请用户详情
- 实现导出功能
- _Requirements: 8.1, 8.2, 8.3_
- [x] 8.4 创建用户登录统计页面
- 创建 `views/business/user/login-stats.vue`
- 实现统计图表展示
- 实现统计类型切换(日/周/月)
- 实现时间范围选择
- _Requirements: 9.1, 9.2, 9.3_
- [x] 9. 前端路由配置
- [x] 9.1 配置业务模块路由
- 创建 `router/modules/business.ts`
- 配置用户管理相关路由
- 配置路由权限
- [x] 10. Checkpoint - 完整功能验证
- 确保所有页面正常访问
- 测试完整的用户管理流程
- 验证权限控制正常工作
- [x] 11. 属性测试
- [x] 11.1 编写搜索参数传递属性测试
- **Property 1: 搜索参数正确传递**
- **Validates: Requirements 1.2**
- [x] 11.2 编写分页参数传递属性测试
- **Property 2: 分页参数正确传递**
- **Validates: Requirements 1.4**
- [x] 11.3 编写资金变动参数验证属性测试
- **Property 3: 资金变动参数验证**
- **Validates: Requirements 2.3**
- [x] 11.4 编写用户状态切换一致性属性测试
- **Property 4: 用户状态切换一致性**
- **Validates: Requirements 3.1, 3.2**
- [x] 11.5 编写盈亏计算正确性属性测试
- **Property 5: 盈亏计算正确性**
- **Validates: Requirements 6.4**
- [x] 11.6 编写API响应格式一致性属性测试
- **Property 6: API响应格式一致性**
- **Validates: Requirements 10.1-10.10**
- [x] 12. Final Checkpoint - 最终验证
- 确保所有测试通过
- 确保所有功能正常工作
- 如有问题,询问用户
## Notes
- 每个Checkpoint确保增量验证
- 属性测试验证通用正确性属性
- 单元测试验证具体示例和边界情况