验证状态:已源码核验、未联调(无 app 调用图);services 基线:源码归纳 @ 2026-09-14
个人空间设备列表的第二代读取端点(/v1/retail 门面):与第一代查询个人空间设备列表共享同一数据源,面向新客户端提供「按 options 懒装配」的聚合读——一次请求拿全列表页所需数据(采集服务器、分享关系、固件包),响应为裁剪视图(无组织树等管理字段),分享列表额外带联系人信息。新客户端实现设备列表页应优先使用本端点。
| 判定证据 | 内容 |
|---|---|
| 旧 app 文档收录记录 | 本仓旧 retail 手册页(git 历史 list.mdx,已删除)收录的就是本端点,属 App 既有调用面 |
| 两代分工语义 | 两代列表共享同一 service 方法 listForRetail;读列表新客户端应走 /v1/retail(响应裁剪 + 联系人视图 + 懒装配免多接口拼装) |
| 后端持续维护迹象 | 有 DataAcquisitionDeviceControllerLegacyCompatibilityTest 契约测试钉住「兼容旧 key」与装配行为 |
GET /main-service/main-api/v1/retail/device/data-acquisition-device/list — 个人空间设备列表的第二代读取端点(/v1/retail 门面):与第一代 listForPersonalSpace 共享同一数据源。
端点全量事实(参数、请求/响应字段、错误码、权限点)见清单层 device · v1-retail 零售接口(v1);业务语义(wire 惯例、限频、租户声明等)见设备业务 · v1-retail 零售接口(v1)。
status=200 且 data 为数组表示读取完成;data=[] 是成功空集。装配块是否出现以 options 请求为准:未请求的装配位为 null。四块懒装配语义(dataAcquisitionServer/deviceShare/deviceShareList/firmwarePackage 的装配条件与读取方式、三路连接状态恒装配、cache 仅作用于 deviceShareList)见设备业务 · v1-retail 零售接口(v1)。
纯读取端点,无业务拒绝分支;失败出口只有认证族(重新登录)与协议/服务器错误族,判定口径见错误响应差异。state/states 传无效取值不报错、返回空数组;options 拼写错误不会报错,只是不装配对应块(子串匹配语义)。
无客户端长连接资源需要释放。分享生命周期与绑定/解绑写操作后应重新拉取本列表;cache=true 时分享列表读缓存,写操作后的可见性可能有缓存延迟,需要强一致读时才用 cache=false。
未执行真实联调:各装配位缓存的有效期与刷新时序、联系人三字段的缓存回源延迟均无 App 实测佐证。App 侧应对全部装配位做空值兜底(未请求或无数据均为 null)。