画面集成
用户经常有需要在自有产品界面上临时访问设备画面的场景。而现有访问设备画面只能通过海为的应用产品。
画面集成功能是指用户可以通过接口获取到自有设备访问画面地址,从而可以将设备画面集成到自定义的应用或场景中进行访问和操作。
如果是局域网集成画面访问,只需要直接访问设备的 IP 地址即可,但如果是互联网的场景下要集成画面访问,就必须通过此说明书提供的功能来实现。
使用说明
1. 云网站
登录个人云网站,在云数据中心,将需要使用画面集成功能的设备添加到项目中,然后在项目编辑界面开启“画面集成”功能。
2. 云数据中心
记录云网站的登录账号、云数据中心的项目私钥、该项目下对应需要画面集成的设备 PN 码。
按照画面集成接口文档规范方式请求接口,即可获取访问设备的 URL,并可将 URL 集成到自定义的应用中进行访问。
提示
生成的 URL 有效时间为 5 分钟,过期后需要重新请求。
接口文档
API 接口:
接口 | https://cloud.haiwell.com/api/project/getProjectMachineVisitUrl |
---|---|
方法 | POST |
描述 | 取得访问设备的 URL |
- 参数:
字段 | 是否必填 | 描述 | 备注 |
---|---|---|---|
account | 是 | 账号 | 项目所属账号(手机号、邮箱) |
privateKey | 是 | 项目私钥 | 云数据中心的项目私钥 |
machineCode | 是 | 机器码 | 设备的 PN 码 |
platform | 是 | 平台代码 | 1:浏览器、2:APP、7:小程序 |
or | 否 | 只读 | 1:只读 |
un | 否 | 用户名 | 组态端:用户安全处配置的本地用户名 |
pwd | 否 | 登录密码 | 此本地用户的登录密码 |
loginway | 否 | 登录方式 | 是否使用项目所属账号所关联的本地用户账号登录。 0:否;1:是;默认为 0 |
提示
1、“只读”字段不可与 “用户名“ 或 “登录密码” 或 “登录方式”一起使用。
2、当请求参数包含“用户名”、“登录密码”等信息,App 端有关联本地用户,且登录方式值为“1”时,将优先使用参数自带的“用户名”信息进行登录。
返回值:
Success:
result:{
url: "https://xxxx?passid=xxxx&platform=1&from=api",
testUrl:"https://xxxx/test"
}
Error:
error:{
code:"08012001" // 传入参数错误
}
error:{
code:"08010002" // 找不到设备,可能私钥、账号或机器码有误
}
error:{
code:"08012003" // 画面集成开关未开启
}
error:{
code:"08012004" // 云服务未开启
}
示例:
// 设置参数
var para = {
account: "13888888888", // 账号
privateKey: "df5exxxxxxxxxc9a1d", // 项目私钥
machineCode: "6102193407020190011", // 机器码
platform: 1 // 平台代码
};
// 发送请求
http.POST("https://cloud.haiwell.com/api/project/getProjectMachineVisitUrl", para).then(res => {
if (res.error != undefined) {
if (res.error.code == "08012001") {
// 参数设置错误
} else if (res.error.code == "08010002") {
// 找不到设备,可能私钥、账号或机器码有误
} else if (res.error.code == "08012003") {
// 【云数据中心】画面集成未开启
} else if (res.error.code == "08012004") {
// 设备【云服务】未开启
} else {
// 请求出错
}
} else if (res.result) {
// 请求成功,设置 URL
this.visitUrl = res.result.url;
} else {
// 发生未知错误
}
});
微信小程序域名配置
在 request 合法域名及 web-view 域名中添加以下域名:
https://cloud.haiwell.com
https://cn11.tunnel.iotbus.net
https://cn12.tunnel.iotbus.net
https://cn21.tunnel.iotbus.net
https://cn22.tunnel.iotbus.net