fix(device): 修复设备解绑后重建逻辑,确保设备ID稳定
Build docker and publish / build (20.15.1) (push) Has been cancelled

重构设备解绑逻辑,删除原有设备记录后重新创建用户和设备
移除文档中已废弃的测试用例和修复方案说明
This commit is contained in:
2025-11-30 20:28:59 -08:00
parent 5497a1ffdb
commit b6e93d0496
4 changed files with 153 additions and 167 deletions
-26
View File
@@ -1,26 +0,0 @@
用例:设备绑定与踢出后重登录,设备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稳定;仅迁移所有权。