安装与部署
安装与部署
环境要求
| 项 | 要求 |
|---|---|
| 运行环境 | Linux x86_64(生产部署与资源包内原生库一致;本地开发可用 Windows/macOS 编译,上线请与包内 linux-x86-64 资源对齐) |
| JDK | 8+(Demo 使用 Spring Boot 2.7;start.sh 使用 G1,兼容 Java 8) |
| 构建 | Maven 3.x(产出 openpicdecode.jar) |
| 网络 | 出网访问 OpenAPI(默认 openapi.lechange.cn:443)及 图片 OSS URL |
步骤
- 在 资源下载 下载 ImageDecrpt 并解压;工程路径一般为
Open-PicDecode/Open-PicDecode/(Maven,openpicdecode)。 - 配置
application.properties中的open.appid/open.secret(见下节)。 mvn clean package -DskipTests生成openpicdecode.jar;Linux 下chmod +x start.sh && ./start.sh。- 调用 API 参考 的
POST /decodePic验证。
配置 OpenAPI 凭证
编辑 src/main/resources/application.properties(或外置 --spring.config.location):
server.port=8085
open.appid=你的开发者 AppId
open.secret=你的开发者 AppSecret
open.host=openapi.lechange.cn
open.port=443
open.appid/open.secret:与控制台开发者账号一致,用于调用listDeviceDetailsByIds查询 deviceAbility(TCM 判断)。- 生产环境勿将 sk 提交到版本库;可用环境变量或配置中心覆盖 Spring 属性。
构建
在工程根目录执行:
mvn clean package -DskipTests
产物:target/openpicdecode.jar(finalName 为 openpicdecode)。资源包中也可能已附带预编译 jar,可直接部署;二次开发建议自行打包。
启动与停止
Linux(与包内脚本一致):
chmod +x openpicdecode.jar start.sh stop.sh
./start.sh
start.sh 要点:堆 512MB、G1、DirectMemory 128MB、后台进程。默认监听 8085(见 server.port)。
停止:
./stop.sh
自定义 JVM 或端口:在 start.sh 的 java ... -jar openpicdecode.jar 后追加 Spring 参数,例如:
java -jar openpicdecode.jar --server.port=9090
部署建议
- 内网微服务:将
PicDecodeController/PicDecodeServiceImpl逻辑迁入现有 Spring 应用,或独立 Pod/VM 仅暴露/decodePic。 - 鉴权:Demo 未 对
/decodePic做应用层鉴权;生产应在网关或 Controller 前增加调用方认证,并限制imgUrl域名白名单,避免 SSRF。 - Token:请求体中的
token为调用方传入的 用户 accessToken(与 OpenAPI 文档一致),用于查设备能力与解密;请使用 HTTPS 传输。 - 并发与超时:OpenAPI 客户端连接/读超时约 3s;高并发场景请自行扩容实例并监控原生库内存。
验证:部署完成后按 API 参考 用 curl 或 Postman 调用 POST http://<host>:8085/decodePic。