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

8.4 KiB
Raw Blame History

Implementation Plan: 用户管理模块前端迁移

Overview

本实现计划将用户管理模块从老项目PHP ThinkPHP + Layui迁移到新项目ASP.NET Core + Vue 3 + Element Plus。实现分为后端API补充和前端页面开发两个主要部分。

Tasks

  • 1. 后端API补充 - 用户详情相关

    • 1.1 创建用户盒柜相关模型和API

      • Models/User/ 下创建 UserBoxModels.cs
      • 定义 UserBoxQueryUserBoxItem
      • UserController.cs 添加 GetUserBox API
      • IUserBusinessService.cs 添加接口方法
      • UserBusinessService.cs 实现查询逻辑
      • Requirements: 10.1
    • 1.2 创建用户订单相关模型和API

      • Models/User/ 下创建 UserOrderModels.cs
      • 定义 UserOrderQueryUserOrderItem
      • UserController.cs 添加 GetUserOrders API
      • 实现服务层方法
      • Requirements: 10.2
    • 1.3 创建流水明细相关模型和API

      • Models/User/ 下创建 MoneyDetailModels.cs
      • 定义 MoneyDetailQueryMoneyDetailItem
      • UserController.cs 添加余额/积分/钻石流水明细API
      • 实现服务层方法
      • Requirements: 10.3
    • 1.4 创建IP登录历史API

      • UserController.cs 添加 GetUserIpLogs API
      • 实现服务层方法
      • Requirements: 10.4
  • 2. 后端API补充 - 统计和操作相关

    • 2.1 创建用户邀请统计API

      • Models/User/ 下创建 StatsModels.cs
      • 定义 InviteStatsQueryInviteStatsItem
      • UserController.cs 添加 GetInviteStats API
      • 实现服务层方法
      • Requirements: 10.5
    • 2.2 创建用户登录统计API

      • 定义 LoginStatsQueryLoginStatsResponse
      • UserController.cs 添加 GetLoginStats API
      • 实现服务层方法
      • Requirements: 10.6
    • 2.3 创建用户盈亏列表API

      • 定义 ProfitLossListQueryProfitLossItem
      • UserController.cs 添加 GetProfitLossList API
      • 实现服务层方法
      • Requirements: 10.7
    • 2.4 创建用户操作API绑定手机号、重置签到、清空UID

      • UserController.cs 添加 BindMobile API
      • UserController.cs 添加 ResetUserSign API
      • UserController.cs 添加 ClearUid API
      • 实现服务层方法
      • Requirements: 10.8, 10.9, 10.10
  • 3. Checkpoint - 后端API验证

    • 确保所有新增API编译通过
    • 使用Swagger测试API基本功能
    • 确保权限验证正常工作
  • 4. 前端API层开发

    • 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
    • 4.2 实现用户详情相关API调用

      • 实现用户盒柜查询API调用
      • 实现用户订单查询API调用
      • 实现流水明细查询API调用
      • 实现IP登录历史查询API调用
      • Requirements: 5.1-5.7
    • 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
  • 5. 前端用户列表页面开发

    • 5.1 创建用户列表主页面

      • 创建 views/business/user/index.vue
      • 实现页面布局和基本结构
      • 集成搜索表单和用户表格组件
      • Requirements: 1.1
    • 5.2 创建搜索表单组件

      • 创建 views/business/user/components/UserSearchForm.vue
      • 实现UID、推荐人UID、手机号、昵称、IP地址、登录时间范围搜索条件
      • 实现搜索和重置功能
      • Requirements: 1.2
    • 5.3 创建用户表格组件

      • 创建 views/business/user/components/UserTable.vue
      • 实现用户信息、推荐人、余额、积分、钻石、货币信息、状态等列
      • 实现分页功能
      • 实现操作按钮组
      • Requirements: 1.3, 1.4, 1.5
  • 6. 前端对话框组件开发

    • 6.1 创建资金变动对话框

      • 创建 views/business/user/components/MoneyChangeDialog.vue
      • 实现操作类型选择(充值/扣除)
      • 实现金额输入和备注输入
      • 实现表单验证和提交
      • Requirements: 2.1, 2.2, 2.3, 2.4
    • 6.2 创建赠送优惠券对话框

      • 创建 views/business/user/components/GiftCouponDialog.vue
      • 实现优惠券列表加载和选择
      • 实现数量输入和提交
      • Requirements: 4.1, 4.2
    • 6.3 创建赠送卡牌对话框

      • 创建 views/business/user/components/GiftCardDialog.vue
      • 实现盒子选择和奖品联动选择
      • 实现数量输入和提交
      • Requirements: 4.3, 4.4
    • 6.4 创建用户盒柜对话框

      • 创建 views/business/user/components/UserBoxDialog.vue
      • 实现盒柜列表展示和筛选
      • 实现奖品状态、名称、盒子名称筛选
      • Requirements: 5.2
    • 6.5 创建用户订单对话框

      • 创建 views/business/user/components/UserOrderDialog.vue
      • 实现订单列表展示和筛选
      • Requirements: 5.3
    • 6.6 创建下级用户对话框

      • 创建 views/business/user/components/UserTeamDialog.vue
      • 实现下级用户列表展示
      • 实现导出功能
      • Requirements: 5.1
    • 6.7 创建流水明细对话框

      • 创建 views/business/user/components/MoneyDetailDialog.vue
      • 实现流水列表展示和筛选
      • 支持余额/积分/钻石三种类型
      • Requirements: 5.4, 5.5, 5.6
    • 6.8 创建IP登录历史对话框

      • 创建 views/business/user/components/IpLogDialog.vue
      • 实现IP登录历史列表展示
      • Requirements: 5.7
  • 7. Checkpoint - 用户列表页面验证

    • 确保用户列表页面正常显示
    • 测试搜索和分页功能
    • 测试各个对话框的打开和关闭
    • 测试资金变动和状态管理功能
  • 8. 前端统计页面开发

    • 8.1 创建用户盈亏统计页面

      • 创建 views/business/user/profit-loss.vue
      • 实现盈亏列表展示
      • 实现筛选功能用户ID、时间范围
      • 实现盈亏状态颜色区分
      • 实现导出Excel功能
      • Requirements: 6.1, 6.2, 6.3, 6.4
    • 8.2 创建VIP等级管理页面

      • 创建 views/business/user/vip.vue
      • 实现VIP等级列表展示
      • 实现编辑对话框
      • Requirements: 7.1, 7.2, 7.3
    • 8.3 创建用户邀请统计页面

      • 创建 views/business/user/invite-stats.vue
      • 实现邀请统计列表展示
      • 实现展开查看被邀请用户详情
      • 实现导出功能
      • Requirements: 8.1, 8.2, 8.3
    • 8.4 创建用户登录统计页面

      • 创建 views/business/user/login-stats.vue
      • 实现统计图表展示
      • 实现统计类型切换(日/周/月)
      • 实现时间范围选择
      • Requirements: 9.1, 9.2, 9.3
  • 9. 前端路由配置

    • 9.1 配置业务模块路由
      • 创建 router/modules/business.ts
      • 配置用户管理相关路由
      • 配置路由权限
  • 10. Checkpoint - 完整功能验证

    • 确保所有页面正常访问
    • 测试完整的用户管理流程
    • 验证权限控制正常工作
  • 11. 属性测试

    • 11.1 编写搜索参数传递属性测试

      • Property 1: 搜索参数正确传递
      • Validates: Requirements 1.2
    • 11.2 编写分页参数传递属性测试

      • Property 2: 分页参数正确传递
      • Validates: Requirements 1.4
    • 11.3 编写资金变动参数验证属性测试

      • Property 3: 资金变动参数验证
      • Validates: Requirements 2.3
    • 11.4 编写用户状态切换一致性属性测试

      • Property 4: 用户状态切换一致性
      • Validates: Requirements 3.1, 3.2
    • 11.5 编写盈亏计算正确性属性测试

      • Property 5: 盈亏计算正确性
      • Validates: Requirements 6.4
    • 11.6 编写API响应格式一致性属性测试

      • Property 6: API响应格式一致性
      • Validates: Requirements 10.1-10.10
  • 12. Final Checkpoint - 最终验证

    • 确保所有测试通过
    • 确保所有功能正常工作
    • 如有问题,询问用户

Notes

  • 每个Checkpoint确保增量验证
  • 属性测试验证通用正确性属性
  • 单元测试验证具体示例和边界情况