hi-server/docs/regression-bind-kick-relogin.md
shanshanzhong 5497a1ffdb
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m39s
feat(用户): 添加删除账户响应中的状态码字段
refactor(设备绑定): 重构设备所有权转移逻辑以保持设备ID稳定

docs: 添加设备绑定与踢出后重登录的回归测试文档

fix(设备登录): 修复设备不存在时空指针崩溃问题
2025-11-30 20:03:09 -08:00

1.1 KiB
Raw Blame History

用例设备绑定与踢出后重登录设备ID保持不变

前置条件

  • 清空相关用户与设备数据;保证 user_device.identifier 唯一

场景步骤

  • 设备A首次登录生成设备记录记下其 user_device.id记为A_id
  • 设备A绑定邮箱 101@qq.com
  • 设备B首次登录生成设备记录记下其 user_device.id记为B_id
  • 设备B绑定同一邮箱 101@qq.com
  • 设备A在后台踢出设备BKickOfflineByUserDeviceLogic
  • 设备B重新登录

断言

  • 设备B的 identifier 未变化
  • 设备B在绑定到邮箱用户后user_device.id 与绑定前的 B_id 保持一致
  • 踢出与重登录后设备B的 user_device.id 仍保持一致

关键接口与文件

  • 设备登录:internal/logic/auth/deviceLoginLogic.go
  • 邮箱绑定:internal/logic/public/user/bindEmailWithVerificationLogic.go
  • 后台踢下线:internal/logic/admin/user/kickOfflineByUserDeviceLogic.go
  • 设备管理器:pkg/device/device.go,回调:internal/svc/devce.go

预期结果

  • 全流程不再删除并重建设备记录设备主键ID稳定仅迁移所有权。