解绑个人空间设备

验证状态:已源码核验、未联调(无 app 调用图);services 基线:源码归纳 @ 2026-09-14

用途与场景

解绑当前用户个人空间内的一台自有设备,终止该设备的直接拥有周期。App 设备管理(删除设备)动作的写端点:按 deviceId 发起,成功后该设备从本租户设备列表消失,且由它派生到其他用户的分享投影与分享记录一并退场。解绑与「解除分享」是不同概念——对分享来的设备不得调用本端点(见账号与个人空间的投影三态边界)。

App 现役依据

判定证据 内容
旧 app 文档收录记录 旧 app 文档仓在 docs/api/main-api/device/data-acquisition-device/unbindForPersonalSpace/ 收录本端点,属 App 既有调用面
两代分工语义 /v1/retail 第二代无 unbind 对应物;解绑写路径现役只有本端点
后端持续维护迹象 解绑主链路(拥有周期退场 + 列表刷新通知)与绑定归属转移共享同一批契约测试与 mapper,第一代 2026-09 仍有维护提交

端点

POST /main-service/main-api/device/data-acquisition-device/unbindForPersonalSpace — 解绑当前用户个人空间内的一台自有设备,终止该设备的直接拥有周期。

端点全量事实(参数、请求/响应字段、错误码、权限点)见清单层 device · data-acquisition-device 采集设备;业务语义(wire 惯例、限频、租户声明等)见设备业务 · data-acquisition-device 采集设备

动线与完成判据

status=200data=true 表示解绑完成;再次拉取设备列表应不再包含该设备。对已解绑设备重复调用会得到 The data collection device does not exist(投影已软删除)。

错误与边界

业务失败均为业务拒绝族(判定口径见错误响应差异)。现行错误码清单(service ):

error 原文 触发条件
Inventory tenant cannot perform device unbinding 当前租户为设备库存租户 pcm(库存租户守卫)
The data collection device does not exist deviceId 在当前租户无有效投影(含已解绑、已删除或他人租户的 ID)

deviceId 缺失(空白)走请求校验出口(请求校验族,判定口径见错误响应差异)。

边界语义:解绑入口是本租户的直接拥有投影,但退场范围是整条拥有周期——同一设备号的全部非库存投影与分享记录一并失效,接收分享的用户会失去该设备。这不是「解除分享」(那只是分享投影退场,不动所有权),也不是「设备归属转移绑定」(那是换属主重建投影)。

调用关系与资源清理

无客户端长连接资源需要释放;设备列表刷新通知由服务端异步发出,App 侧不应假设其他用户列表即时更新。解绑成功后本地应清理该设备的直播/回放等界面状态。

已知缺口

未执行真实联调:退场与通知的异步时序、设备侧对解绑的感知延迟均无 App 实测佐证。App 侧对上表两个业务错误码之外应保留未知码兜底分支。