From e911db9cdfbb2d820d410d63a9b085a91afa89ce Mon Sep 17 00:00:00 2001 From: zmt Date: Wed, 22 Dec 2021 17:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E4=B8=AD=E6=8E=A7=E5=85=BC=E5=AE=B9-?= =?UTF-8?q?=E7=85=A7=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/subpackage/device/js/device_fun.js | 26 ++++++++++++++++++++++ .../device/pages/air_conditioner/detail/detail.vue | 1 + .../device/pages/audio_manage/audio_manage.vue | 18 ++++++++++----- .../device/pages/switch_manage/switch_manage.vue | 11 ++++++++- 4 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 src/subpackage/device/js/device_fun.js diff --git a/src/subpackage/device/js/device_fun.js b/src/subpackage/device/js/device_fun.js new file mode 100644 index 0000000..27a8fdc --- /dev/null +++ b/src/subpackage/device/js/device_fun.js @@ -0,0 +1,26 @@ + +/* +硬件处理函数 +*/ +var DEVICE_FUN = { + + /* + @data:过滤数据 + @switchInfo:操作的设备信息 + 使用: _data = DEVICE_FUN.AC_filterCloudACData(data,switchInfo); + 场景: 目前需求只要求照明(中控状态更新,灯操控) 其它需要再对接 + 注意: 涉及deviceApi.ouxuanac 接口的,理论上来说都需要做兼容去在逻辑中传入硬件信息判断是否是云中控 + */ + AC_filterCloudACData(data,switchInfo){ + console.log("云中控参数检测 AC_filterCloudACData",data,switchInfo); + //处理云中控专用参数 + // 这里device是设备名 一旦出现云中控 设备id被 (OUXUANAC_CLOUD_+hardware_net_addr) 串起来的字符串覆盖 + if(!!switchInfo&&switchInfo.hardware_connect_method=="YZK"){ + data.device = "OUXUANAC_CLOUD_"+switchInfo.hardware_net_addr; + } + + return data + }, +} + +export default DEVICE_FUN; diff --git a/src/subpackage/device/pages/air_conditioner/detail/detail.vue b/src/subpackage/device/pages/air_conditioner/detail/detail.vue index a9d0c9d..c740500 100644 --- a/src/subpackage/device/pages/air_conditioner/detail/detail.vue +++ b/src/subpackage/device/pages/air_conditioner/detail/detail.vue @@ -226,6 +226,7 @@ export default { console.warn('_qyObj', _qyObj); _qyObj = this.setExt({ query: _qyObj, value: '', }); this.subpackInfo = _qyObj; + console.log(11111,_qyObj); this.operateReq({ data: _qyObj, isTip: false }); }, methods: { diff --git a/src/subpackage/device/pages/audio_manage/audio_manage.vue b/src/subpackage/device/pages/audio_manage/audio_manage.vue index 720929a..d54e484 100644 --- a/src/subpackage/device/pages/audio_manage/audio_manage.vue +++ b/src/subpackage/device/pages/audio_manage/audio_manage.vue @@ -117,7 +117,8 @@ mapState } from 'vuex'; import util from '../../../../utils/util'; - + + import DEVICE_FUN from '../../js/device_fun.js'; export default { components: { @@ -404,7 +405,10 @@ let _data = this.getOperateReqData({ switchInfo, status - }) + }) + + _data = DEVICE_FUN.AC_filterCloudACData(data,switchInfo); + //针对门禁没有关按钮发两条命令->开&关 20201224 后端: 直接发两条 关的那条这里填5 然后你那边不用管返回 if (switchInfo.hardware_type === 'AccessControl' && status == 1) { this.operateReq({ @@ -460,7 +464,7 @@ }) { let that = this if (isLoad) util.showLoad(); - console.log("123",data); + deviceServer.post({ url: deviceApi.ouxuanac, data: data, @@ -514,6 +518,8 @@ // index, // }) //TODO 等待后续音响设备调试后,再开放更新设备状态功能 + // _data = DEVICE_FUN.AC_filterCloudACData(data,switchInfo); + util.showLoad(); setTimeout(()=>util.hideLoad(),1000) }, 300, 300), @@ -668,7 +674,8 @@ let _obj = { 'Gpio': 'get-rpio', // 全设备 'SerialPort485': 'zzio404d-gpio-status', - 'Tcp': 'zzio404d-gpio-status-tcp', + 'Tcp': 'zzio404d-gpio-status-tcp', + 'YZK':'zzio404d-gpio-status' }; return _obj[hardware_connect_method] || '' @@ -682,7 +689,8 @@ let _obj = { 'Gpio': 'set-rpio', // 全设备 'SerialPort485': 'zzio404d-gpio', - 'Tcp': 'zzio404d-gpio-tcp', + 'Tcp': 'zzio404d-gpio-tcp', + 'YZK':'zzio404d-gpio' }; return _obj[hardware_connect_method] || '' diff --git a/src/subpackage/device/pages/switch_manage/switch_manage.vue b/src/subpackage/device/pages/switch_manage/switch_manage.vue index 322cc7d..2f29df0 100644 --- a/src/subpackage/device/pages/switch_manage/switch_manage.vue +++ b/src/subpackage/device/pages/switch_manage/switch_manage.vue @@ -65,6 +65,7 @@ import deviceApi from '../../js/device_api'; import { mapState } from 'vuex'; import util from '../../../../utils/util'; +import DEVICE_FUN from '../../js/device_fun.js'; export default { components: { @@ -174,6 +175,9 @@ export default { console.log("icon tap status: ",status,switchInfo) let _data = this.getOperateReqData({ switchInfo, status }) + + _data = DEVICE_FUN.AC_filterCloudACData(_data,switchInfo); + //针对门禁没有关按钮发两条命令->开&关 20201224 后端: 直接发两条 关的那条这里填5 然后你那边不用管返回 //新增定时/长按拦截判断 @@ -267,8 +271,11 @@ export default { }) } + let _data = this.getSwitchStatusQuery(switchInfo); + _data = DEVICE_FUN.AC_filterCloudACData(data,switchInfo); + this.getStatusReq({ - data: this.getSwitchStatusQuery(switchInfo), + data: _data, index, }) },300,300), @@ -407,6 +414,7 @@ export default { 'Gpio': 'get-rpio', // 全设备 'SerialPort485': 'zzio404d-gpio-status', 'Tcp': 'zzio404d-gpio-status-tcp', + 'YZK':'zzio404d-gpio-status' }; return _obj[hardware_connect_method] || '' @@ -419,6 +427,7 @@ export default { 'Gpio': 'set-rpio', // 全设备 'SerialPort485': 'zzio404d-gpio', 'Tcp': 'zzio404d-gpio-tcp', + 'YZK':'zzio404d-gpio' }; return _obj[hardware_connect_method] || ''