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

27 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

用例设备绑定与踢出后重登录设备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稳定仅迁移所有权。