Skip to main content

快速上手

API说明

请求模式

POST请求

接口地址

请求接口地址为:http://{{设备的IP地址}}:38251/command/execute
如设备的IP地址是192.168.1.100,则接口地址为http://192.168.1.100:38251/command/execute
注意:因为是局域网,所以接口地址是http请求。

跨域

支持跨域

入参格式

  • 参数说明
名称字段类型可选说明
密钥secretKeystringN设备登录密码。商户平台中创建设备时,生成的那个设备登录密码
方法编码methodCodestringN具体查看 设备API版本V1
是否需要返回值needNotifybooleanN默认为false,出参为无。当需要出参数据返回时,该值为true
业务数据datajsonObjectY设备API版本V1中详细解释业务数据
  • 入参示例
{  
methodCode:'device.volume.set', // 必须
secretKey:'6668886668', // 必须
needNotify:false, // 必须
data:{ // 可选,根据业务需要是否使用
volume:50
}
}

出参格式

  • 参数说明
名称字段类型可选说明
编码codenumberN查看code枚举
业务数据datajsonObjectY需要业务数据时,入参needNotify的值为true
异常信息msgstringY当code不为0时,有异常信息返回
  • code枚举
codemsg
0成功
-1繁忙
410参数错误
500未授权,请传入正确的 secretKey !
  • 出参示例
// 业务处理成功时返回
{
code:0, // code为0,表示业务处理成功
data:{ // 有返回数据的都在data里

}
}

// 业务处理失败时返回
{
code:-1,
msg:'失败信息'
}

使用示例

jquery的ajax请求示例

let IP = '192.168.1.100:38251'; // 设备的IP,此处为demo值
let secretKey = '6668886668'; // 商户后台中,登陆设备使用的设备密码,此处为demo值
// 自定义封装请求方法
function ajax(data={},successFn,errorFn,failFn){
let apiURL = 'http://'+IP+'/command/execute'; // 接口地址
data.secretKey = secretKey;
data.needNotify = !!data.needNotify; // 参数中未传递needNotify时,设置默认值
// jquery请求主体
$.ajax({
type: 'POST',
url: apiURL,
data:JSON.stringify(data),
dataType: 'json',
contentType: 'application/json',
success: function (result) {
if (result.code == 0) {
if(successFn)successFn(result)
} else {
if(failFn)failFn(result)
}
},
error: function () {
if(errorFn)errorFn(result)
}
})
}

ajax({methodCode:'device.volume.set',
needNotify:false, // 当值为false时,可以不传该参数
data:{
volume:50
}},function(){
// 业务处理
// todo ...
},function(){
// 网络异常处理
},function(){
// 异常处理
// todo ...
})

axios的请求示例

import axios from 'axios'
let IP = '192.168.1.100:38251'; // 设备的IP,此处为demo
let secretKey = '6668886668'; // 商户后台中,登陆设备使用的设备密码,此处为demo值
// 自定义封装请求方法
function ajax(data={},successFn,errorFn,failFn){
let apiURL = 'http://'+IP+'/command/execute'; // 接口地址
data.secretKey = secretKey;
data.needNotify = !!data.needNotify; // 参数中未传递needNotify时,设置默认值
let axiosPost = axios.post(apiURL, data).then((result) => {
return result.data;
}).catch(ex => {
if(errorFn)errorFn(result)
});
axiosPost.then((result)=>{
if (result.code == 0) {
if(successFn)successFn(result)
} else {
if(failFn)failFn(result)
}
})
}

ajax({methodCode:'device.volume.set',
needNotify:false,
data:{
volume:50
}},function(){
// 业务处理
// todo ...
},function(){
// 网络异常处理
},function(){
// 异常处理
// todo ...
})