乐橙云开发文档
控制台
更新日志
控制台
更新日志
快速入门
  • 开始使用
  • 核心概念
  • 开发指南
  • 设备能力与事件参考
  • API 参考
  • SDK 与工具
    • Android SDK
    • iOS SDK
    • 鸿蒙 SDK
    • PC SDK
    • 轻应用组件 ImouPlayer
    • 小程序插件与半屏小程序
    • 图片解密组件
      • 安装与部署
      • API 参考
      • Demo 工程
      • 错误码与排障
    • 服务端示例与签名工具
    • Postman 集合
    • 资源下载
  • 行业方案
  • 平台与支持
本页目录
POST /decodePic
PicDecodeRequest 字段
处理流程(实现逻辑)
响应体 ApiResult
请求示例
成功响应示例
失败响应示例(参数)
失败响应示例(解密 — SDK 码直出)
失败响应示例(解密 / 服务层)
相关 OpenAPI(组件内部调用)
集成方式

API 参考

API 参考

Open-PicDecode Demo 对外提供 一个 HTTP 接口,供平台服务解密告警图片。

POST /decodePic

解密 OSS 加密图片,返回 Base64 明文。

项值
MethodPOST
Path/decodePic
Content-Typeapplication/json
成功 HTTP 状态200(业务失败时 HTTP 仍为 200,见响应 code)

PicDecodeRequest 字段

字段类型必填说明
imgUrlstring是加密图片完整 URL(Demo 内由原生库下载)
deviceIdstring是设备序列号;用于 OpenAPI 查 deviceAbility 及解密参数
secretKeystring是非 TCM:设备序列号、自定义密钥或设备密码(无自定义密钥时为设备密码);TCM:设备密码
tokenstring是用户 accessToken,供 OpenAPI 与解密流程使用

校验失败(缺字段等)返回 code=404,desc 为字段级错误信息。

处理流程(实现逻辑)

  1. 使用 deviceId + token 调用 OpenAPI /openapi/listDeviceDetailsByIds,解析 deviceAbility。
  2. 若能力集包含 TCM,则 useTcm=true,走 TCM 解密分支;否则走普通分支。
  3. 调用 LechangeEncryptUtil.imageEncrypt(imgUrl, secretKey, token, deviceId, useTcm) 得到明文字节。
  4. 成功时 decodePic = Base64(明文字节);失败抛出业务异常(见 错误码)。

响应体 ApiResult

统一结构(与旧版 Map 响应兼容,code 为 Integer):

字段类型说明
codeint200 成功;404 参数无效;500 未预期错误;业务/OpenAPI 失败见具体码
descstring描述
dataobject成功时为 PicDecodeResponse

PicDecodeResponse

字段类型说明
decodePicstringBase64 编码的图片二进制,解码后即为 JPG/PNG 等

请求示例

POST /decodePic(路径见上表;body 为 JSON):

{
  "imgUrl": "https://example.oss.aliyuncs.com/xxx/encrypted.jpg",
  "deviceId": "设备序列号",
  "secretKey": "设备密码或自定义密钥",
  "token": "用户accessToken"
}

成功响应示例

{
  "code": 200,
  "desc": "success",
  "data": {
    "decodePic": "/9j/4AAQSkZJRg..."
  }
}

失败响应示例(参数)

{
  "code": 404,
  "desc": "imgUrl: imgUrl required"
}

失败响应示例(解密 — SDK 码直出)

{
  "code": 2,
  "desc": "密钥错误"
}

失败响应示例(解密 / 服务层)

{
  "code": 1109,
  "desc": "decode picture failed"
}

原生 SDK 失败时 code 可能为 2、-2 等(见 错误码 — SDK 映射);1109 为服务层封装场景。OpenAPI 业务码多为 11xx;无法解析时可能映射为 500。

相关 OpenAPI(组件内部调用)

Demo 内置 LechangeOpenApiClient,直连配置的 open.host / open.port:

OpenAPI用途
POST /openapi/listDeviceDetailsByIds获取 deviceAbility,判断是否 TCM

签名与公共参数约定见 签名 及 OpenAPI 文档;凭证来自 安装与部署 中的 open.appid / open.secret。

集成方式

  • HTTP 微服务:业务后台将告警消息中的图片 URL 转发到本服务,取回 Base64 或解码后存对象存储。
  • 嵌入式:复制 openpicdecode 包内 service、lcopensdk、client 等到自有 Spring 工程,去掉 HTTP 层直接调 PicDecodeService#decodePic。

客户端侧解密 API 见各端 OpenSDK,不在本文档范围。

商务合作:cloud_openteam@imou.com · 工单 · 获取帮助(公众号、小程序试用中心)

Copyright © 2015-2026 IMOU. All Rights Reserved. 浙ICP备16023676号

安装与部署
Demo 工程