验证状态:已源码核验、未联调(无 app 调用图);services 基线:源码归纳 @ 2026-09-14
受赠方主动退出一台已接收的设备分享,是受赠方一侧的退场动作(与发起方一侧的撤销设备分享相对)。App「移除分享设备」动作按 deviceId 发起(受赠方自己租户内的分享投影 ID):服务端把分享投影置 lift share 并写删除时间软删,发起方租户中的分享记录同步置 lift share(写 liftTime、软删)——设备从此从受赠方列表消失。
解绑与解除分享是不同概念:对分享来的设备不得调用解绑个人空间设备(解绑退场的是整条拥有周期),受赠方交还设备的唯一正确出口是本端点。投影三态边界见账号与个人空间。
| 判定证据 | 内容 |
|---|---|
| 旧 app 文档收录记录 | 旧 app 文档仓在 docs/api/main-api/device/data-acquisition-device/liftShareForPersonalSpace/ 收录本端点,属 App 既有调用面 |
| 两代分工语义 | /v1/retail 第二代无 lift 对应物;受赠方退场写路径现役只有本端点 |
| 后端持续维护迹象 | 解除链路与分享主链路共享同一 service 与契约测试,第一代 2026-09 仍有维护提交 |
POST /main-service/main-api/device/data-acquisition-device/liftShareForPersonalSpace — 受赠方主动退出一台已接收的设备分享(受赠方一侧的退场动作)
端点全量事实(参数、请求/响应字段、错误码、权限点)见清单层 device · data-acquisition-device 采集设备;业务语义(wire 惯例、限频、租户声明等)见设备业务 · data-acquisition-device 采集设备。
status=200 且 data=true 表示解除完成。受赠方再次拉取设备列表应不再包含该设备;发起方再次拉取设备分享记录列表应不含该条(软删行被 delete_time is null 过滤)。
业务失败均为业务拒绝族,error 为异常消息原文(判定口径见错误响应差异):
| error 原文 | 触发条件 |
|---|---|
The data collection device does not exist |
deviceId 在当前租户(受赠方租户)无有效投影:ID 不存在、投影已解除/已随撤销或归属转移退场、或传入的是他人租户的 ID |
Bean Validation 失败(deviceId 缺失)走请求校验出口(请求校验族,判定口径见错误响应差异)。
边界:
To be confirm share 的投影调用本端点同样生效(未确认就退出);重复解除在投影软删后走「设备不存在」出口。state=bind)的退场走解绑而非本端点;发起方收回分享走撤销而非本端点。无客户端长连接资源需要释放。解除成功后双方都应重新拉取各自列表刷新界面;服务端不向发起方推送实时通知。
未执行真实联调:解除与发起方撤销并发到达时的终态、解除后设备列表刷新延迟均无 App 实测佐证。