应用可复用能力与边界
约 1035 字大约 3 分钟
2026-10-16
平台开发和应用开发按“修改什么”分路线。能力在平台内实现,并不代表应用不能使用;通过公开合同和客户端接入时,无需平台私有源码。
按需求选择入口
| 能力 | 应用接入方式 | 指南 |
|---|---|---|
| HTTP / RPC | 固定版本 Go/Java/Node SDK | SDK |
| WS、设备数据与告警推送 | 共享 Web 客户端、移动端服务或公开频道协议 | 实时推送 |
| 站内通知、消息中心 | 后端授权发送,前端接收并查询/标记已读 | 消息通知 |
| 身份、权限、上下文与错误 | 中间件 + 应用自己的资源授权/数据隔离 | 业务开发 |
| 缓存、Redis 与平台业务缓存 | 公开机制、可信 loader、写后失效 | SDK |
| 上传/下载、业务附件 | common 上传接口/签名 URL,应用处理确认与访问权限 | 下文附件说明 |
| 路由、应用、菜单与定时任务 | 公开管理合同 + 实际页面/处理器 | 平台能力集成 |
| Hook 与第三方回调 | 注册服务/能力、原始 body 验签、幂等处理 | Hook |
| 数据分析 | 管理员配置数据源/查询,应用按权限执行 | 下文查询说明 |
| 字典、角色、用户与项目 | Core/Things 公开客户端 | SDK |
| 属性/事件/行为、OTA、物模型 | Things 合同和协议 SDK | 协议开发 |
| MQTT、Modbus、云协议 | 公开协议组件与模拟设备 | 协议开发 |
| AI / IM 等服务 | 公开服务合同,确认目标地址和实际代理前缀 | SDK |
| Docker 与应用运维 | 自己的镜像/Compose,urops TUI | 部署 |
附件上传与私有下载
公开入口包括 POST /api/v1/system/common/upload-url/create 和 /upload-file。获取上传 URL 与业务保存附件是两步:校验文件与对象权限、确认临时文件、保存正式路径,再按需要清理旧对象。
私有文件在服务端授权后签名下载,不把带过期凭据的 URL 当永久数据库路径。公开桶只放允许公开的资源。应用可以调用现有接口,平台存储实现的维护方法仍在平台对象存储。
数据分析与字典
通用查询入口为 POST /api/v1/data/query/info/get-one 和 /get-list。数据源/查询配置需管理员权限,应用传已批准的 code、过滤、聚合和分组;客户端 filter 不能代替服务端企业/项目过滤。批量查询返回按请求顺序排列的结果集合。
字典通过公开分类/明细接口读取列表或树,保存业务 value、显示 label,扩展字段遵循字符串 map。维护平台字典能力的实现另见字典专题,应用调用不要求导入数据库模型。
需要明确的边界
- Go/Java/Node 当前有 HTTP/RPC 封装,WS 按公开协议使用传输库;Web/uni-app 已有客户端。
- Hook 有合同和标准协议,尚无三语言独立验签中间件;普通用户 token 中间件不能代替 Hook 验签。
- 通知发送权限、RPC 服务认证、内部总线权限需分别取得,不伪造平台身份。
- 基础应用默认代理 system/things/data,新增 AI/IM 等页面需核对前缀并受控扩展或由后端 SDK 调用。
- 业务附件落库、统计表生成、数据隔离和必达任务由应用实现,已有接口不等于这些业务已自动完成。
- 现有平台 WS 频道可订阅,新增任意频道没有通用外部注册 API;私有 Hub 不作为应用依赖。
完整实现入口与当前缺少的封装记录在 ur-kit 能力清单,AI 开发时应同时读取它和专项技能。
更新日志
2026/10/16 20:08
查看所有更新日志
b1437-docs(应用开发): 补齐WS通知及平台能力接入导航于
