(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pageTwo/devices/F01PRO"],{ /***/ 344: /*!********************************************************************************!*\ !*** D:/wamp/www/zz/examTeamApp/main.js?{"page":"pageTwo%2Fdevices%2FF01PRO"} ***! \********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(wx, createPage) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); __webpack_require__(/*! uni-pages */ 26); var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25)); var _F01PRO = _interopRequireDefault(__webpack_require__(/*! ./pageTwo/devices/F01PRO.vue */ 345)); // @ts-ignore wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__; createPage(_F01PRO.default); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["createPage"])) /***/ }), /***/ 345: /*!*************************************************************!*\ !*** D:/wamp/www/zz/examTeamApp/pageTwo/devices/F01PRO.vue ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./F01PRO.vue?vue&type=template&id=1e118a10&scoped=true& */ 346); /* harmony import */ var _F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./F01PRO.vue?vue&type=script&lang=js& */ 348); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony import */ var _F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32); var renderjs /* normalize component */ var component = Object(_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( _F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], _F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, "1e118a10", null, false, _F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"], renderjs ) component.options.__file = "pageTwo/devices/F01PRO.vue" /* harmony default export */ __webpack_exports__["default"] = (component.exports); /***/ }), /***/ 346: /*!********************************************************************************************************!*\ !*** D:/wamp/www/zz/examTeamApp/pageTwo/devices/F01PRO.vue?vue&type=template&id=1e118a10&scoped=true& ***! \********************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./F01PRO.vue?vue&type=template&id=1e118a10&scoped=true& */ 347); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_template_id_1e118a10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /***/ 347: /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/wamp/www/zz/examTeamApp/pageTwo/devices/F01PRO.vue?vue&type=template&id=1e118a10&scoped=true& ***! \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); var components var render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /***/ 348: /*!**************************************************************************************!*\ !*** D:/wamp/www/zz/examTeamApp/pageTwo/devices/F01PRO.vue?vue&type=script&lang=js& ***! \**************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _F_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./F01PRO.vue?vue&type=script&lang=js& */ 349); /* harmony import */ var _F_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_F_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _F_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _F_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_F_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_F_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_F01PRO_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 349: /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/wamp/www/zz/examTeamApp/pageTwo/devices/F01PRO.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 462)); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 465)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _vuex = __webpack_require__(/*! vuex */ 34); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var myTime; var plugin = requirePlugin("sdkPlugin").AiLink; var _default = { data: function data() { return { textW: "", textH: "", textImp: "", height: "", weight: "", imp: 0, macAddr: "", deviceId: "", serviceId: "", readId: "", writeId: "", notifyId: "", isSend: true, Unload: false, isConnection: 0, data01: {}, data02: {}, BLEResult: {} }; }, computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(["user", "isConnected", "isBluetoothTyle"])), {}, { userInfo: function userInfo() { return this.user; } }), onUnload: function () { var _onUnload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var that, pages; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: that = this; if (!that.Unload) { clearTimeout(myTime); that.$store.state.devicesList2 = []; that.closeBLEConnection(); that.closeBluetoothAdapter(); if (that.isConnection != 1) { pages = getCurrentPages(); pages[pages.length - 2].$vm.islink = -1; pages[pages.length - 2].$vm.textLink = '开始连接'; } } case 2: case "end": return _context.stop(); } } }, _callee, this); })); function onUnload() { return _onUnload.apply(this, arguments); } return onUnload; }(), watch: { isConnected: function isConnected() { var that = this; if (!that.isConnected) { console.log('F01PRO:isConnected-' + that.isConnected); that.handleBack(); that.isConnection = 2; } }, isBluetoothTyle: function isBluetoothTyle() { var that = this; if (!that.isBluetoothTyle) { console.log('F01PRO:isBluetoothTyle-' + that.isBluetoothTyle); that.handleBack(); that.isConnection = 2; } } }, onLoad: function onLoad(options) { var that = this; that.textW = ""; that.textH = ""; console.log("options", options); if (options && options.deviceId) { that.deviceId = options.deviceId; that.createBLEConnection(); } that.onBLEConnectionStateChange(); uni.onBluetoothAdapterStateChange(function (res) { that.$store.commit("changeBluetooth", res.available); }); }, methods: { // 重新连接 openBluetoothAdapter: function openBluetoothAdapter() { var that = this; that.textW = ""; that.textH = ""; that.isSend = true; that.Unload = false; uni.openBluetoothAdapter({ success: function success(e) { that.isConnection = 0; that.startBluetoothDeviceDiscovery(); console.log('初始化蓝牙成功:' + e.errMsg); }, fail: function fail(e) { that.isConnection = 2; that.$tools.msg("请确定设备是开机状态、手机蓝牙权限已打开!"); } }); }, // 监听蓝牙连接状态 onBLEConnectionStateChange: function onBLEConnectionStateChange() { var that = this; uni.onBLEConnectionStateChange(function (res) { console.log('F01PRO:onBLEConnectionStateChange-' + res.connected); if (!res.connected) { that.Unload = true; that.isConnection = 2; clearTimeout(myTime); that.closeBLEConnection(); that.closeBluetoothAdapter(); } that.$store.commit("changeConnected", res.connected); }); }, // 开始搜寻附近的蓝牙外围设备 startBluetoothDeviceDiscovery: function startBluetoothDeviceDiscovery() { var that = this; uni.startBluetoothDevicesDiscovery({ allowDuplicatesKey: false, interval: 500, //上报设备的间隔 success: function success(res) { that.isConnection = 0; that.onBluetoothDeviceFound(); }, fail: function fail(res) { that.isConnection = 2; that.$tools.msg("请确定设备是开机状态、手机蓝牙权限已打开!"); } }); }, /** * 发现外围设备 */ onBluetoothDeviceFound: function onBluetoothDeviceFound() { var that = this; that.isConnection = 0; uni.onBluetoothDeviceFound(function (res) { res.devices.forEach(function (device) { if (!device.name && !device.localName) { return; } if (device.name.indexOf('AiLink_') != -1 || device.name.indexOf('PCF01') != -1 || device.localName && (device.localName.indexOf('AiLink_') != -1 || device.localName.indexOf('PCF01') != -1)) { clearTimeout(myTime); if (device.deviceId.indexOf(that.deviceId) != -1) { that.stopBluetoothDevicesDiscovery(); that.deviceId = device.deviceId; var foundDevices = that.$store.state.devicesList2; var idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId); if (idx === -1) { that.$store.state.devicesList2.push(device); } else { that.$store.state.devicesList2[idx] = device; } that.createBLEConnection(); return; } } }); }); }, /** * 停止搜索蓝牙设备 */ stopBluetoothDevicesDiscovery: function stopBluetoothDevicesDiscovery() { uni.stopBluetoothDevicesDiscovery({ success: function success(e) { console.log("停止搜索蓝牙设备", e); } }); }, // 连接蓝牙 createBLEConnection: function createBLEConnection() { var that = this; uni.createBLEConnection({ deviceId: that.deviceId, success: function success(res) { console.log("设备连接成功,获取设备的services", res); that.isConnection = 0; that.getBLEDeviceServices(); }, fail: function fail(res) { that.isConnection = 2; console.log("设备连接失败,请重新连接", res); } }); }, /** * 获取设备的UUID */ getBLEDeviceServices: function getBLEDeviceServices() { var serviceList = []; var that = this; uni.getBLEDeviceServices({ deviceId: that.deviceId, success: function success(res) { console.log("获取设备的UUID成功", res); serviceList = res.services; for (var i = 0; i < serviceList.length; i++) { var service = serviceList[i]; if (service.uuid.indexOf('FFE0') != -1) { that.serviceId = service.uuid; that.isConnection = 1; that.getBLEDeviceCharacteristics(that.deviceId, service.uuid); console.log("设备的FFE0的serviceId: ", that.serviceId); break; } } }, fail: function fail(res) { console.log('获取设备的UUID失败:', res); } }); }, /** * 获取指定服务的特征值 */ getBLEDeviceCharacteristics: function getBLEDeviceCharacteristics(deviceId, serviceId) { var characteristicsList = []; var that = this; uni.getBLEDeviceCharacteristics({ deviceId: deviceId, serviceId: serviceId, success: function success(res) { console.log("服务的特征值成功", res); characteristicsList = res.characteristics; for (var i = 0; i < characteristicsList.length; i++) { var item = characteristicsList[i]; if (item.uuid.indexOf('0000FFE1') != -1) { that.uuid1 = item.uuid; //下发数据 } else if (item.uuid.indexOf('0000FFE2') != -1) { that.uuid2 = item.uuid; //监听数据 } else if (item.uuid.indexOf('0000FFE3') != -1) { that.uuid3 = item.uuid; //写入设置 } } // 打开监听 uni.notifyBLECharacteristicValueChange({ deviceId: deviceId, serviceId: serviceId, characteristicId: that.uuid2, state: true }); uni.notifyBLECharacteristicValueChange({ deviceId: deviceId, serviceId: serviceId, characteristicId: that.uuid3, state: true }); // 初始化插件 console.log("初始化插件", that.$store.state.devicesList2); that.$store.state.devicesList2[0].serviceId = that.serviceId; plugin.initPlugin(res.characteristics, that.$store.state.devicesList2[0]); uni.onBLECharacteristicValueChange(function (characteristic) { var bleData = plugin.parseBleData(characteristic.value); var dw1 = "kg"; console.log("bleData", bleData); if (bleData.status == 0) { var sex0 = that.userInfo.gender == 1 ? 1 : 0; var sex = "0x0" + sex0.toString(16); var age = "0x" + that.userInfo.age.toString(16); var height = "0x" + that.userInfo.height.toString(16); var arr = [0x01, parseInt(sex), parseInt(age), parseInt(height), 0x00]; plugin.sendDataOfA7(arr); console.log("握手成功", arr); } else if (bleData.status == 1) { var payload = that.$tools.ab2hex(bleData.data, ''); var typeInfo = payload.substring(4, 6); var type = payload.substring(0, 2); console.log("开始测量", payload); if (type == '03') { console.log('MCU主动请求用户数据'); var _sex = that.userInfo.gender == 1 ? 1 : 0; var _sex2 = "0x0" + _sex.toString(16); var _age = "0x" + that.userInfo.age.toString(16); var _height = "0x" + that.userInfo.height.toString(16); var _arr = [0x01, parseInt(_sex2), parseInt(_age), parseInt(_height), 0x00]; plugin.sendDataOfA7(_arr); } if (type == "10" || type == "30" || type == "40") { //体脂模式 var data = parseInt(payload.substring(6, 12), 16); var msg = parseInt(payload.substring(12, 14), 16).toString(2); var dw = that.$tools.PrefixZero(msg, 8).substring(4, 8); var num = that.$tools.PrefixZero(msg, 8).substring(0, 4); var _dw = "kg"; if (dw == "0001") { _dw = '斤'; } if (dw == "0110") { _dw = 'lb'; } if (num == "0001") { data = data / 10; } if (num == "0010") { data = data / 100; } if (num == "0011") { data = data / 1000; } if (typeInfo == "01") { that.textW = "您的实时体重是:" + data + _dw; } if (typeInfo == "02") { that.textW = "您的体重是:" + data + _dw; that.weight = data + _dw; } } if (type == "14" || type == "41") { //身高模式 var _height2 = parseInt(payload.substring(4, 8), 16); var numH = parseInt(payload.substring(10, 12), 16); if (numH == "1") { _height2 = _height2 / 10; } if (numH == "2") { _height2 = _height2 / 100; } that.textH = "您的身高是:" + _height2 + "cm"; that.height = _height2; console.log("身高模式:", that.height); } if (type == "11") { //阻抗模式 if (typeInfo == "01") { //测量中 that.textImp = '正在测量体脂:请双手紧握扶手'; } if (typeInfo == "02") { that.imp = 0; that.textImp = ""; } if (typeInfo == "04") { that.textImp = ""; that.imp = parseInt(payload.substring(8, 12), 16); } console.log("阻抗:", that.imp); } if (type == '15') { if (typeInfo == "01") { that.data01 = { bodyage: parseInt(payload.substring(26, 28), 16), fat_r: parseInt(payload.substring(6, 10), 16) / 10, muscle: parseInt(payload.substring(18, 22), 16) / 10, kcal: parseInt(payload.substring(22, 26), 16), visceral: parseInt(payload.substring(14, 18), 16), sfr: parseInt(payload.substring(10, 14), 16) / 10 }; } if (typeInfo == '02') { that.data02 = { water: parseInt(payload.substring(10, 14), 16) / 10, bone: parseInt(payload.substring(6, 10), 16) / 10, fatlevlval: parseInt(payload.substring(24, 26), 16) / 10, protein: parseInt(payload.substring(14, 18), 16) / 10, bmi: parseInt(payload.substring(18, 22), 16) / 10 }; } console.log("体脂数据", that.data01, that.data02); that.BLEResult.info = Object.assign(that.data01, that.data02); } if (type == "80") { //测量结束 that.BLEResult.weight = that.weight; that.BLEResult.adc = that.imp ? that.imp : 0; that.BLEResult.height = (that.height ? that.height : that.userInfo.height) + 'cm'; that.BLEResult.aud_id = that.userInfo.id; console.log("体脂成功:", that.BLEResult); that.handleGetMeasure(that.BLEResult); } } }); }, fail: function fail(res) { console.log('获取特征值失败:', JSON.stringify(res)); } }); }, // 保存测量结果 handleGetMeasure: function handleGetMeasure(data) { console.log("保存结果"); var that = this; that.$model.getmeasurefunit(data).then(function (res) { if (res.code == 0) { that.$store.dispatch('getUserInfo', { aud_id: uni.getStorageSync('userid') }); that.$store.dispatch("getResult", { aud_id: uni.getStorageSync('userid') }); setTimeout(function () { uni.showToast({ title: '测量成功' }); }, 500); } else { uni.showToast({ title: res.message, icon: "error" }); } that.Unload = true; setTimeout(function () { that.closeBLEConnection(); that.closeBluetoothAdapter(); that.$store.state.devicesList2 = []; uni.switchTab({ url: "/pages/home/home" }); }, 1000); }); }, /** * 断开蓝牙模块 */ closeBluetoothAdapter: function closeBluetoothAdapter() { var that = this; uni.closeBluetoothAdapter({ success: function success(res) { console.log('F01PRO:蓝牙模块关闭成功'); } }); }, handleBack: function handleBack() { var that = this; that.Unload = true; console.log('F01PRO:handleBack'); that.stopBluetoothDevicesDiscovery(); //取消蓝牙搜索 that.closeBLEConnection(); that.closeBluetoothAdapter(); that.$store.state.devicesList2 = []; }, /** * 断开蓝牙连接 */ closeBLEConnection: function closeBLEConnection() { var that = this; uni.closeBLEConnection({ deviceId: that.deviceId, success: function success(res) { console.log('F01PRO:断开蓝牙连接成功'); } }); } } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }) },[[344,"common/runtime","common/vendor"]]]); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pageTwo/devices/F01PRO.js.map