feat(用户): 添加删除账户响应中的状态码字段
Build docker and publish / build (20.15.1) (push) Successful in 6m39s

refactor(设备绑定): 重构设备所有权转移逻辑以保持设备ID稳定

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

fix(设备登录): 修复设备不存在时空指针崩溃问题
This commit is contained in:
2025-11-30 20:03:09 -08:00
parent 41b52992e4
commit 5497a1ffdb
5 changed files with 125 additions and 32 deletions
+26
View File
@@ -0,0 +1,26 @@
用例:设备绑定与踢出后重登录,设备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稳定;仅迁移所有权。