游铛铛-缺失内容比对报告.md 12 KB

游铛铛项目缺失内容比对报告

一、管理端缺失内容

1.1 管理员管理模块(完全缺失)

需求来源:

  • 需求文档:管理web端用户的管理模块
  • 原型图:3.7 管理员管理模块

缺失内容:

  • ❌ 后端API:backend/app/api/admin/admins.py 不存在
  • ❌ 前端页面:admin/src/pages/Admins/index.tsx 不存在
  • ❌ 路由配置:管理端路由中缺少管理员管理路由
  • ❌ API接口:缺少以下接口
    • GET /admin/admins - 管理员列表
    • POST /admin/admins - 创建管理员
    • PUT /admin/admins/:id - 更新管理员
    • DELETE /admin/admins/:id - 删除管理员
    • PUT /admin/admins/:id/reset-password - 重置密码
    • GET /admin/admins/:id - 管理员详情

需要实现的功能:

  • 管理员列表(支持分页、搜索)
  • 添加/编辑管理员(用户名、密码、角色、权限、状态)
  • 删除管理员
  • 重置密码
  • 查看管理员详情(包括操作日志)
  • 权限管理(超级管理员/普通管理员)

1.2 用户管理功能不完整

现有功能:✅ 用户列表、用户详情

缺失功能:

  • ❌ 搜索功能(按用户名、邮箱搜索)
  • ❌ 筛选功能(按注册时间、有效期状态、机器码筛选)
  • ❌ 禁用/启用用户
  • ❌ 删除用户
  • ❌ 查看用户详情弹窗(包括卡密激活记录)
  • ❌ 导出Excel功能

1.3 软件管理功能不完整

现有功能:✅ 软件列表、创建软件、更新软件、删除软件

缺失功能:

  • ❌ 编辑软件功能(前端有表单,但缺少编辑按钮和逻辑)
  • ❌ 软件状态切换(启用/禁用)
  • ❌ 软件描述字段(后端模型有,但前端表单未包含)

1.4 卡密管理功能不完整

现有功能:✅ 卡密生成、卡密列表、卡密激活信息查询

缺失功能:

  • ❌ 卡密搜索功能
  • ❌ 卡密筛选(按软件、状态、生成时间)
  • ❌ 卡密详情查看(弹窗形式)
  • ❌ 卡密禁用/删除功能
  • ❌ 批量删除功能
  • ❌ 导出Excel/TXT功能
  • ❌ 卡密生成结果展示和复制功能

1.5 密钥管理功能不完整

现有功能:✅ 当前密钥查看、历史密钥列表、更新轮换周期

缺失功能:

  • ❌ 立即更新密钥功能(后端缺少接口)
  • ❌ 密钥复制功能(前端UI有,但功能未实现)
  • ❌ 密钥下载功能
  • ❌ 私钥显示/隐藏切换
  • ❌ 历史密钥查看详情
  • ❌ 历史密钥删除功能

1.6 日志管理功能不完整

现有功能:✅ 日志列表、日志导出

缺失功能:

  • ❌ 日志搜索功能
  • ❌ 日志筛选(时间范围、用户、接口、状态)
  • ❌ 日志详情查看(弹窗形式,显示完整请求参数和响应结果)
  • ❌ 清空日志功能
  • ❌ 导出CSV功能(目前只有Excel)

1.7 公告管理功能不完整

现有功能:✅ 公告列表、创建公告、编辑公告、删除公告

缺失功能:

  • ❌ 公告详情查看(弹窗形式)
  • ❌ 公告状态切换(启用/禁用)
  • ❌ 公告类型字段(系统公告/功能更新/维护通知)
  • ❌ 富文本编辑器(目前只有普通文本输入框)
  • ❌ 发布时间设置

1.8 仪表盘功能不完整

现有功能:✅ 基础统计卡片

缺失功能:

  • ❌ 统计数据实际获取(目前都是0)
  • ❌ 数据统计图表
  • ❌ 实时数据刷新

二、客户端缺失内容

2.1 充值功能(完全缺失)

需求来源:

  • 需求文档:充值模块
  • 原型图:3.1 充值模块

缺失内容:

  • ❌ 充值Tab页面:client/src/ui/tabs/recharge_tab.py 不存在
  • ❌ 后端API:缺少卡密激活接口(用于充值)
  • ❌ 客户端API:client/src/api/client.py 中缺少 activate_card 方法
  • ❌ 主窗口:main_window.py 中 create_tab_content 方法未处理 recharge 情况

需要实现的功能:

  • 卡密输入和激活
  • 当前有效期显示
  • 充值记录列表
  • 激活成功后更新有效期

后端需要添加的接口:

  • POST /api/user/activate-card - 激活卡密(充值)

2.2 心跳检测功能(未实现)

需求来源:

  • 需求文档:需要一个检测机制,实时检测当前用户对于当前软件是否已经过期了。(通过与后端API心跳来判断)

缺失内容:

  • ❌ 客户端定时心跳检测(每30秒)
  • ❌ 过期后自动弹出提示并退出登录
  • ❌ 心跳检测线程/定时器

后端接口:✅ 已存在 POST /api/user/heartbeat

2.3 免登录功能(未实现)

需求来源:

  • 需求文档:免登陆功能,当用户登陆成功后,自动将账号密码记录下来,后续不再需要登陆。除以下情况:卡密到期了,手工退出登陆了

缺失内容:

  • ❌ 登录成功后保存账号密码(加密存储)
  • ❌ 启动时自动填充并尝试登录
  • ❌ 存储管理:client/src/utils/storage.py 需要实现加密存储功能

2.4 窗口操作功能(不完整)

需求来源:

  • 需求文档:exe文件打开的界面可以拖拽边框动态调整大小,可以一键全屏、一键最小尺寸

现有功能:✅ 基础窗口(可调整大小)

缺失功能:

  • ❌ 一键全屏功能(F11快捷键或按钮)
  • ❌ 一键最小尺寸功能(按钮)
  • ❌ 窗口大小限制(最小尺寸:800×600px)

2.5 扫货功能(不完整)

需求来源:

  • 需求文档:扫货模块会涉及到操作chrome浏览器,chrome浏览器有相关插件,然后获取相关数据的操作
  • 需求文档:因为客户可能没有安装chrome浏览器,所以exe内部就要打包一个chrome浏览器。
  • 需求文档:内置的浏览器也支持安装多个chrome浏览器的插件

现有功能:❌ 只有占位页面

缺失功能:

  • ❌ Chrome浏览器集成(使用Playwright或PyQt6的QWebEngineView)
  • ❌ 浏览器插件安装支持
  • ❌ 扫货配置界面(目标平台、关键词、价格范围、扫描间隔等)
  • ❌ 浏览器窗口嵌入
  • ❌ 扫货日志显示
  • ❌ 自动下单功能
  • ❌ 价格提醒功能

2.6 选品功能(不完整)

现有功能:❌ 只有占位页面

缺失功能:

  • ❌ 商品搜索功能
  • ❌ 商品筛选(游戏类型、价格范围、排序方式)
  • ❌ 商品列表展示(卡片式布局)
  • ❌ 商品详情查看
  • ❌ 分页功能

2.7 Steam账号绑定功能(不完整)

现有功能:✅ 基础UI界面

缺失功能:

  • ❌ 后端API集成(绑定Steam账号到后端)
  • ❌ Steam账号列表从后端获取
  • ❌ 共享密钥和身份密钥的加密存储
  • ❌ Steam账号编辑功能
  • ❌ Steam账号删除功能

后端需要添加的接口:

  • GET /api/user/steam-accounts - 获取Steam账号列表
  • POST /api/user/steam-accounts - 添加Steam账号
  • PUT /api/user/steam-accounts/:id - 更新Steam账号
  • DELETE /api/user/steam-accounts/:id - 删除Steam账号

2.8 有效期倒计时显示(不完整)

需求来源:

  • 原型图:有效期倒计时显示(实时更新)

现有功能:✅ 显示有效期(静态)

缺失功能:

  • ❌ 实时倒计时更新
  • ❌ 格式化显示(如:剩余30天5小时)

2.9 产品Logo和品牌信息(缺失)

需求来源:

  • 需求文档:产品品牌名称:游铛铛,相关图片在/Users/wuzilong/work/00code/Buff/游铛铛 这个文件夹下
  • 原型图:登录界面和操作界面都需要显示Logo

缺失内容:

  • ❌ Logo图片资源未集成
  • ❌ 登录界面Logo显示
  • ❌ 操作界面头部Logo显示

三、后端API缺失内容

3.1 客户端卡密激活接口(充值)

缺失接口:

  • POST /api/user/activate-card - 激活卡密(用于充值)

功能要求:

  • 验证卡密有效性
  • 检查卡密是否已被使用
  • 计算新的到期时间(如果用户已有有效期,则累加)
  • 更新用户到期时间
  • 更新卡密状态
  • 创建充值记录

3.2 客户端Steam账号管理接口

缺失接口:

  • GET /api/user/steam-accounts - 获取Steam账号列表
  • POST /api/user/steam-accounts - 添加Steam账号
  • PUT /api/user/steam-accounts/:id - 更新Steam账号
  • DELETE /api/user/steam-accounts/:id - 删除Steam账号

功能要求:

  • 需要用户认证(通过token或user_id)
  • 共享密钥和身份密钥需要加密存储
  • 支持多个Steam账号绑定

3.3 管理员管理接口

缺失接口:

  • GET /admin/admins - 管理员列表
  • POST /admin/admins - 创建管理员
  • PUT /admin/admins/:id - 更新管理员
  • DELETE /admin/admins/:id - 删除管理员
  • PUT /admin/admins/:id/reset-password - 重置密码
  • GET /admin/admins/:id - 管理员详情
  • PUT /admin/admins/:id/status - 启用/禁用管理员

3.4 密钥立即更新接口

缺失接口:

  • POST /admin/keys/rotate - 立即更新密钥

功能要求:

  • 生成新的密钥对
  • 将旧密钥标记为非激活
  • 更新密钥轮换配置的下次轮换时间

3.5 用户管理增强接口

缺失接口:

  • PUT /admin/users/:id/status - 启用/禁用用户
  • DELETE /admin/users/:id - 删除用户
  • GET /admin/users/:id/recharge-records - 获取用户充值记录

3.6 卡密管理增强接口

缺失接口:

  • PUT /admin/cards/:id/status - 禁用/启用卡密
  • DELETE /admin/cards/:id - 删除卡密
  • POST /admin/cards/batch-delete - 批量删除卡密

3.7 日志管理增强接口

缺失接口:

  • DELETE /admin/logs - 清空日志
  • GET /admin/logs/:id - 日志详情

四、数据库设计检查

4.1 数据库表完整性

检查结果:✅ 所有表结构完整,符合需求

4.2 外键约束

检查结果:✅ 外键关系正确

4.3 索引优化

检查结果:✅ 索引设计合理

五、功能优先级建议

高优先级(核心功能)

  1. 客户端充值功能 - 用户核心需求
  2. 客户端心跳检测 - 安全验证必需
  3. 客户端免登录 - 用户体验必需
  4. 管理员管理模块 - 管理端核心功能

中优先级(重要功能)

  1. 扫货功能 - 产品核心功能
  2. Steam账号绑定后端集成 - 功能完整性
  3. 管理端功能完善 - 管理效率提升

低优先级(优化功能)

  1. 窗口操作增强 - 用户体验优化
  2. 选品功能 - 辅助功能
  3. 数据统计图表 - 管理端可视化

六、技术债务

6.1 代码质量

  • ❌ 缺少单元测试
  • ❌ 缺少API文档(虽然有Swagger,但需要补充详细说明)
  • ❌ 错误处理不够完善

6.2 安全性

  • ⚠️ 密码存储需要确认使用bcrypt(需要检查)
  • ⚠️ 密钥加密存储需要确认(需要检查)
  • ⚠️ API加密开关需要测试

6.3 性能

  • ⚠️ 日志表可能数据量大,需要考虑归档策略
  • ⚠️ 心跳检测频率需要优化(30秒可能太频繁)

七、总结

已完成功能

  • ✅ 基础架构(数据库、后端框架、前端框架)
  • ✅ 用户注册/登录/解绑
  • ✅ 管理端基础功能(用户、软件、卡密、密钥、日志、公告的基础CRUD)
  • ✅ 客户端基础UI框架
  • ✅ API加密机制

主要缺失功能

  1. 管理员管理模块(完全缺失)
  2. 客户端充值功能(完全缺失)
  3. 客户端心跳检测(未实现)
  4. 客户端免登录(未实现)
  5. 扫货功能(只有占位)
  6. 选品功能(只有占位)
  7. 管理端功能增强(搜索、筛选、详情等)

建议

  1. 优先实现高优先级功能
  2. 完善现有功能的细节(搜索、筛选、详情等)
  3. 补充单元测试和集成测试
  4. 完善错误处理和用户提示
  5. 优化用户体验(加载状态、成功提示等)