1 line
7.7 KiB
JavaScript
1 line
7.7 KiB
JavaScript
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["BLEPages/child/H01pro"],{"0a2d":function(e,t,o){"use strict";o.r(t);var n=o("9e83"),i=o.n(n);for(var c in n)["default"].indexOf(c)<0&&function(e){o.d(t,e,(function(){return n[e]}))}(c);t["default"]=i.a},"24e1":function(e,t,o){"use strict";(function(e,t){var n=o("4ea4");o("6808");n(o("66fd"));var i=n(o("9fd1"));e.__webpack_require_UNI_MP_PLUGIN__=o,t(i.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},"5e87":function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"a",(function(){}));var n=function(){var e=this.$createElement;this._self._c},i=[]},"9e83":function(e,t,o){"use strict";(function(e){var n=o("4ea4");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,c=n(o("9523")),s=o("26cb");function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function r(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){(0,c.default)(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}var d={data:function(){return{textW:"",textH:"",height:"",weight:"",imp:0,macAddr:"",deviceId:"",serviceId:"",readId:"",writeId:"",notifyId:"",Unload:!1,isConnection:0}},computed:r(r({},(0,s.mapState)(["user","isConnected","isBluetoothTyle","appTheme"])),{},{info:function(){return this.user}}),onUnload:function(){this.Unload||(this.stopBluetoothDevicesDiscovery(),clearTimeout(i),this.closeBLEConnection(),this.closeBluetoothAdapter(),e.switchTab({url:"/pages/index/index"}),console.log("页面返回onUnload"))},watch:{isConnected:function(){this.isConnected||(this.handleBack(),this.isConnection=2)},isBluetoothTyle:function(){this.isBluetoothTyle||(this.handleBack(),this.isConnection=2)}},onLoad:function(t){var o=this;e.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:this.appTheme}),o.textW="",o.textH="",t&&t.deviceId&&(o.deviceId=t.deviceId,o.closeBLEConnection(),o.closeBluetoothAdapter(),o.openBluetoothAdapter()),o.onBLEConnectionStateChange(),e.onBluetoothAdapterStateChange((function(e){o.$store.commit("changeBluetooth",e.available)}))},methods:{openBluetoothAdapter:function(){var t=this;t.textW="",t.textH="",e.openBluetoothAdapter({success:function(e){t.isConnection=0,t.startBluetoothDeviceDiscovery()},fail:function(e){t.isConnection=2,t.$tools.msg("请确定设备是开机状态、手机蓝牙权限已打开!")}})},onBLEConnectionStateChange:function(){var t=this;e.onBLEConnectionStateChange((function(e){console.log("监听蓝牙连接状态",e.connected),e.connected||(t.Unload=!0,t.isConnection=2,clearTimeout(i),t.closeBLEConnection(),t.closeBluetoothAdapter()),t.$store.commit("changeConnected",e.connected)}))},startBluetoothDeviceDiscovery:function(){var t=this;e.startBluetoothDevicesDiscovery({allowDuplicatesKey:!1,interval:500,success:function(e){t.isConnection=0,t.onBluetoothDeviceFound()},fail:function(e){t.isConnection=2,t.$tools.msg("请确定设备是开机状态、手机蓝牙权限已打开!")}})},onBluetoothDeviceFound:function(){var t=this;t.isConnection=0,e.onBluetoothDeviceFound((function(e){e.devices.forEach((function(e){if((e.name||e.localName)&&(console.log("开始监听寻找到新设备的事件",e.deviceId,t.deviceId),-1!=e.name.indexOf("My"))){clearTimeout(i);var o=e.advertisData.slice(-6);e.mac=new Uint8Array(o);var n=Array.from(e.mac);if(e.macAddr=t.$tools.ab2hex(n,":").toUpperCase(),-1!=e.deviceId.indexOf(t.deviceId)||-1!=e.macAddr.indexOf(t.deviceId))return t.stopBluetoothDevicesDiscovery(),t.deviceId=e.deviceId,t.macAddr=e.macAddr,void t.createBLEConnection()}}))})),t.handleMyTime()},handleMyTime:function(){var e=this;i=setTimeout((function(){e.macAddr||(clearTimeout(i),e.Unload=!0,e.isConnection=2,e.closeBLEConnection(),e.closeBluetoothAdapter())}),2e4)},stopBluetoothDevicesDiscovery:function(){e.stopBluetoothDevicesDiscovery({success:function(e){console.log("停止搜索蓝牙设备",e)}})},createBLEConnection:function(){var t=this;e.createBLEConnection({deviceId:t.deviceId,success:function(e){t.isConnection=0,t.getBLEDeviceServices()},fail:function(e){t.isConnection=2,console.log("设备连接失败,请重新连接",e)}})},getBLEDeviceServices:function(){var t=[],o=this;e.getBLEDeviceServices({deviceId:o.deviceId,success:function(e){console.log("获取设备的UUID成功",e),t=e.services;for(var n=0;n<t.length;n++){var i=t[n];if(-1!=i.uuid.indexOf("FFE0")){o.serviceId=i.uuid,o.isConnection=1,o.getBLEDeviceCharacteristics(o.deviceId,i.uuid),console.log("设备的FFE0的serviceId: ",o.serviceId);break}}},fail:function(e){console.log("获取设备的UUID失败:",e)}})},getBLEDeviceCharacteristics:function(t,o){var n=[],i=this;e.getBLEDeviceCharacteristics({deviceId:t,serviceId:o,success:function(c){console.log("服务的特征值成功",c),n=c.characteristics;for(var s=0;s<n.length;s++){var a=n[s];-1!=a.uuid.indexOf("FFE1")&&(1==a.properties.notify&&(i.notifyId=a.uuid),1==a.properties.write&&(i.writeId=a.uuid),a.properties.read&&(i.readId=a.uuid))}e.notifyBLECharacteristicValueChange({deviceId:t,serviceId:o,characteristicId:i.notifyId,state:!0}),e.notifyBLECharacteristicValueChange({deviceId:t,serviceId:o,characteristicId:i.writeId,state:!0}),e.onBLECharacteristicValueChange((function(t){var o=i.$tools.ab2hex(t.value,"");console.log("测量中",o);var n=parseInt(o.substring(4,8),16)/100,c=parseInt(o.substring(30,34),16)/10,s=o.substring(28,30)+o.substring(34,36),a=parseInt(s,16);i.imp=a,i.textW="您的体重是:"+n+"kg",i.textH="您的身高是:"+c+"cm",i.weight=n+"kg",i.height=c,console.log("测量完成",i.weight,i.height,i.imp),0==a?e.showModal({title:"提示",content:"体脂测量失败,是否保存本次测量结果?",cancelText:"放弃",confirmText:"保存",success:function(t){t.confirm?i.handleGetMeasure():(i.Unload=!0,i.closeBLEConnection(),i.closeBluetoothAdapter(),e.switchTab({url:"/pages/index/index"}))}}):i.handleGetMeasure()}))},fail:function(e){console.log("获取特征值失败:",JSON.stringify(e))}})},handleGetMeasure:function(){console.log("保存结果");var t=this;t.$model.getmeasure({weight:t.weight,imp:t.imp,ecode:t.macAddr,height:t.height?t.height:t.info.height,familyid:t.info.familyid}).then((function(o){0==o.code?(t.$tools.msg("测量成功"),t.$store.dispatch("getUserInfo",{familyid:t.info.familyid}),t.$store.dispatch("getResult",{birthday:t.info.birthday,familyid:t.info.familyid,height:t.height?t.height:t.info.height,sex:t.info.sex})):(console.log("测量失败",o.message),t.$tools.msg(o.message)),t.Unload=!0,setTimeout((function(){t.closeBLEConnection(),t.closeBluetoothAdapter(),e.switchTab({url:"/pages/index/index"})}),200)}))},handleBack:function(){this.textW="",this.textH="",this.Unload=!0,this.Unload=!0,this.stopBluetoothDevicesDiscovery(),this.closeBLEConnection(),this.closeBluetoothAdapter()},closeBluetoothAdapter:function(){e.closeBluetoothAdapter({success:function(e){console.log("蓝牙模块关闭成功")}})},closeBLEConnection:function(){e.closeBLEConnection({deviceId:this.deviceId,success:function(e){console.log("断开蓝牙连接成功")}})}}};t.default=d}).call(this,o("543d")["default"])},"9fd1":function(e,t,o){"use strict";o.r(t);var n=o("5e87"),i=o("0a2d");for(var c in i)["default"].indexOf(c)<0&&function(e){o.d(t,e,(function(){return i[e]}))}(c);var s=o("f0c5"),a=Object(s["a"])(i["default"],n["b"],n["c"],!1,null,"82071740",null,!1,n["a"],void 0);t["default"]=a.exports}},[["24e1","common/runtime","common/vendor"]]]); |