验证状态:已源码核验、未联调(无 app 调用图);本页为概念边界对照页,不引入新端点,两个动作的全部契约以其链接的正本页为准(核验基线同各正本页:源码归纳 @ 2026-09-14)。

解绑与解除分享

设备解绑解除分享是两个不同概念:解绑终止设备直接拥有周期(所有权退场),解除分享只是分享投影退场(退出分享关系,不动所有权)。后端领域语言对此有明文边界:设备分享投影的接收方可取消或解除分享,但不通过该投影执行设备解绑——分享投影不得通过解绑退场。设备归属转移绑定的避免用语也同时包含这两者,三者互不可混。

前置条件

  • 已读账号与个人空间:设备租户投影三态(库存投影 / 设备直接拥有投影 / 设备分享投影)与术语。
  • 手上有待退场设备的 deviceId(或 deviceShareId),并能从设备列表 / 分享记录列表分辨它的投影类型:state=bind 为自有设备(设备直接拥有投影),state=confirm share / To be confirm share 为分享来的设备(设备分享投影)。

概念对照

维度 设备解绑(unbind) 解除分享(lift share)
概念 终止当前用户个人空间的设备直接拥有周期 受赠方退出一条已接收的分享,分享投影退场
操作对象 设备直接拥有投影(自有设备,state=bind 设备分享投影(分享来的设备)
端点 解绑个人空间设备 解除设备分享
谁可操作 设备直接拥有者(deviceId 在其租户内解析) 分享接收方(deviceId 在其租户内解析,分享记录更新按 targetUsername 双重锚定)
退场范围 整条拥有周期:同一设备号的全部非库存租户投影与全部分享记录一并软删 仅自己的分享投影与对应一条分享记录软删
所有权影响 属主失去该设备 属主保留设备,其余接收方不受影响
其他用户 由该设备派生的全部接收方一并失去设备;服务端经 JMS 通知相关用户刷新设备列表 发起方设备与其他分享不受影响;无实时通知
主要业务错误 Inventory tenant cannot perform device unbindingThe data collection device does not exist The data collection device does not exist

同场防混淆:撤销分享撤销设备分享)是发起方对自己发出的分享的对称退场,不是解绑也不是解除分享;设备归属转移绑定(force / 授权码变化,见绑定设备)会先退场旧投影与活跃分享再重建归属——它既不是解绑也不是解除分享(概念页术语口径)。

主路径(按意图选正确出口)

  1. 不再想要一台自有设备解绑个人空间设备。先确认设备列表中该条目 state=bind;解绑后果(全部分享接收方同时失去设备)应提前告知用户。
  2. 退出一条别人分享给我的设备解除设备分享state=confirm share 的已确认分享走本出口;对 To be confirm share 的投影调用解除同样生效(未确认就退出,正本页「错误与边界」节)。
  3. 收回分享出去的设备撤销设备分享。不要引导接收方去「解绑」你的设备——那会退场整条拥有周期。
  4. 换属主(转让 / 重新激活) → 走绑定设备的设备归属转移绑定(force=true 或授权码变化),由新属主发起,不是由原属主「解绑 + 重绑」拼装。

失败与恢复

  • 对分享来的设备误调 unbind(本页核心警示):解绑入口按本租户 deviceId 解析、退场按设备号作用于整条拥有周期,而两个入口都不校验投影当前 state——对分享投影调用解绑不会得到「这不是你的设备」类拒绝,而是把属主的直接拥有投影与全部分享记录一并退场(属主与其他接收方同时失去设备)。这正是后端领域语言「分享投影不得通过解绑退场」的事实依据。App 侧必须在调用前按 state 判定设备来源:state=bind 才允许展示「删除设备」(解绑),分享来的设备只展示「移除分享」(解除)。
  • 对自有设备误调 lift-share:自有设备的退场出口是解绑而非解除分享(正本页「错误与边界」节);两个入口都不校验 state,混调的行为不可依赖,App 侧同样以 state 判定预防。
  • 「设备不存在」类错误的高频成因:ID 传错(把 deviceShareIddeviceId 用、把发起方投影 ID 当受赠方投影 ID 用);投影已退场(撤销 / 解除 / 解绑 / 归属转移之后,含重复退场);他人租户的 ID(租户隔离视为不存在)。逐项核对定位键与投影类型后重试。
  • 误调解绑的恢复:只能由属主重新走绑定设备流程重建投影、再重新分享给各接收方;解绑退场对用户是高破坏动作,App 交互上应做强确认。
  • 通用出口:认证失败族(HTTP 200 + status=1000,重新登录);Bean Validation 失败走请求校验出口(HTTP 400 / status=1002 族);判定口径见错误响应差异

收尾

  • 任一退场成功后都应刷新设备列表(受赠方与属主两侧);解绑路径服务端有 JMS 列表刷新通知(异步、不保证即时),分享撤销 / 解除无实时通知——两侧都不要假设对方列表即时更新。
  • 本页不改变任何正本页的状态口径:解绑与解除分享均为「已源码核验、未联调」,异步时序无实测佐证,兜底口径见验证状态与依据