# weex接入物模型1.0开发指引
# weex开发接入步骤说明
配置设备物模型1.0的能力定义(这是前提条件)
weex插件内控制设备,发起物模型1.0设备的操作
注意
以下都是示范URL,具体URL应该要根据操作而定。 接口格式为:/v1/appliance/operation/物模型1.0{actionName}/{applianceCode},actionName为操作的标识,applianceCode为设备code
下面示例中展示了如何进行POST调用来发起设备控制,以操作testpost为例:
//老框架调用方式
nativeService.sendCentralCloundRequest('/v1/appliance/operation/testpost/3298544979388', {
method: 'POST',
data: {
workSwitch: true,
controlSrc: 2,
menuId: 9
}
}).then(res => {
res = typeof res === 'string' ? JSON.parse(res) : res
if(res.code == 0){
nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
}else{
nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
}
})
//新框架调用方式
this.$bridge
.sendCentralCloundRequest('/v1/appliance/operation/testpost/3298544979388', {
method: 'POST',
data: {
workSwitch: true,
controlSrc: 2,
menuId: 9
}
}).then(res => {
res = typeof res === 'string' ? JSON.parse(res) : res
if(res.code == 0){
nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
}else{
nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
}
})
下面示例中展示了如何进行GET调用来发起设备查询,以操作voltageQuery为例:
//老框架调用方式
nativeService.sendCentralCloundRequest('/v1/appliance/operation/voltageQuery/3298544979388', {
method: 'GET',
}).then(res => {
res = typeof res === 'string' ? JSON.parse(res) : res
if(res.code == 0){
nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
}else{
nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
}
})
//新框架调用方式
this.$bridge
.sendCentralCloundRequest('/v1/appliance/operation/voltageQuery/3298544979388', {
method: 'GET',
}).then(res => {
res = typeof res === 'string' ? JSON.parse(res) : res
if(res.code == 0){
nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
}else{
nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
}
})
下面示例中展示了如何进行PUT调用来发起设备控制,以操作lowSugarRice为例:
//老框架调用方式
nativeService.sendCentralCloundRequest('/v1/appliance/operation/lowSugarRice/3298544979388', {
method: 'PUT',
data: {
workSwitch: true,
controlSrc: 2,
menuId: 71
}
}).then(res => {
res = typeof res === 'string' ? JSON.parse(res) : res
if(res.code == 0){
nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
}else{
nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
}
})
//新框架调用方式
this.$bridge
.sendCentralCloundRequest('/v1/appliance/operation/lowSugarRice/3298544979388', {
method: 'PUT',
data: {
workSwitch: true,
controlSrc: 2,
menuId: 71
}
}).then(res => {
res = typeof res === 'string' ? JSON.parse(res) : res
if(res.code == 0){
nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
}else{
nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
}
})
- weex插件内监听事件,接受物模型1.0的消息通知
//老框架监听方式
const globalEvent = weex.requireModule('globalEvent')
globalEvent.addEventListener('receiveMessageFromApp', data => {
//物模型1.0使用此messageType,详细数据在data.messageBody中
if(data.messageType === 'pushNotificationForwarding'){
nativeService.alert(`操作数据${JSON.stringify(data.messageBody)}`)
}
})
//新框架监听方式
this.$bridge.addEventListener('receiveMessageFromApp', data => {
//物模型1.0使用此messageType,详细数据在data.messageBody中
if(data.messageType === 'pushNotificationForwarding'){
nativeService.alert(`操作数据${JSON.stringify(data.messageBody)}`)
}
})
注意
物模型1.0事件消息的messageType为pushNotificationForwarding。
# 相关文档说明
← integration 8. 调试和发布 →