All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m39s
refactor(设备绑定): 重构设备所有权转移逻辑以保持设备ID稳定 docs: 添加设备绑定与踢出后重登录的回归测试文档 fix(设备登录): 修复设备不存在时空指针崩溃问题
1.1 KiB
1.1 KiB
用例:设备绑定与踢出后重登录,设备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在后台踢出设备B(
KickOfflineByUserDeviceLogic) - 设备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稳定;仅迁移所有权。