(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/components/ControlTab"],{ /***/ 564: /*!***********************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.vue ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ControlTab.vue?vue&type=template&id=8a6686ca&scoped=true& */ 565); /* harmony import */ var _ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ControlTab.vue?vue&type=script&lang=js& */ 567); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ControlTab_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 _ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony import */ var _ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ControlTab.vue?vue&type=style&index=0&id=8a6686ca&lang=scss&scoped=true& */ 569); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 39); var renderjs /* normalize component */ var component = Object(_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( _ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], _ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, "8a6686ca", null, false, _ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"], renderjs ) component.options.__file = "common/components/ControlTab.vue" /* harmony default export */ __webpack_exports__["default"] = (component.exports); /***/ }), /***/ 565: /*!******************************************************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.vue?vue&type=template&id=8a6686ca&scoped=true& ***! \******************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_template_id_8a6686ca_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!./ControlTab.vue?vue&type=template&id=8a6686ca&scoped=true& */ 566); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_template_id_8a6686ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /***/ 566: /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.vue?vue&type=template&id=8a6686ca&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 g0 = _vm.$i18n.t("armAlarm") var g1 = _vm.$i18n.t("disarmAlarm") var g2 = _vm.$i18n.t("nightModeLabel") var g3 = _vm.$i18n.t("emergencyLabel") var g4 = _vm.showCountdownModal ? _vm.$i18n.t("fssos") : null var g5 = _vm.showCountdownModal ? _vm.$i18n.t("cancel") : null var g6 = _vm.showLocationModal ? _vm.$i18n.t("fsdw") : null var g7 = _vm.showLocationModal ? _vm.$i18n.t("cancel") : null _vm.$mp.data = Object.assign( {}, { $root: { g0: g0, g1: g1, g2: g2, g3: g3, g4: g4, g5: g5, g6: g6, g7: g7, }, } ) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /***/ 567: /*!************************************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.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 _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_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!./ControlTab.vue?vue&type=script&lang=js& */ 568); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_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 _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 568: /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.vue?vue&type=script&lang=js& ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // var _default = { name: 'ControlTab', props: { statusTitle: { type: String, default: '' } }, data: function data() { return { kjobj: {}, titlename: '', // 倒计时弹窗相关 showCountdownModal: false, countdown: 3, countdownTimer: null, // 定位弹窗相关 showLocationModal: false, locationTimer: null, locationProgress: 0, minHoldTimer: null, sockedata: {}, socketTask: null, messages: [], reconnectAttempts: 0, maxReconnectAttempts: 5, reconnectInterval: 3000, isPageActive: true, deviceMac1: 'E9204D6232DC' }; }, computed: { // 计算属性可以在这里添加 }, created: function created() { // this.deviceMac1 = uni.getStorageSync('mac1') this.getxq(); this.initWebSocket(); }, mounted: function mounted() { // 监听空间切换事件 uni.$on('spaceChanged', this.handleSpaceChanged); }, beforeDestroy: function beforeDestroy() { // 移除事件监听 uni.$off('spaceChanged', this.handleSpaceChanged); // 清理定时器 if (this.countdownTimer) { clearInterval(this.countdownTimer); } if (this.locationTimer) { clearInterval(this.locationTimer); } if (this.minHoldTimer) { clearTimeout(this.minHoldTimer); this.minHoldTimer = null; } }, onLoad: function onLoad(option) {}, methods: { // 请求空间详情 getxq: function getxq() { var _this = this; var spaceId = uni.getStorageSync('kjid'); this.$http.get("/bst/space/".concat(spaceId)).then(function (res) { if (res.code == 200) { _this.kjobj = res.data; if (res.data.status == 1) { _this.titlename = _this.$i18n.t('statusArmed'); } else if (res.data.status == 2) { _this.titlename = _this.$i18n.t('statusDisarmed'); } else if (res.data.status == 3) { _this.titlename = _this.$i18n.t('statusNight'); } } }); }, //WebSocket 自动重连实现 initWebSocket: function initWebSocket() { var _this2 = this; var token = uni.getStorageSync('token'); // 关闭已有连接 if (this.socketTask) { this.socketTask.close(); this.socketTask = null; } // 创建新连接 this.socketTask = uni.connectSocket({ url: "wss://gw.ccttiot.com/prod-api/ws/ws/oneNet?mac=".concat(this.deviceMac1), success: function success() { console.log('WebSocket连接建立中...'); }, fail: function fail(err) { console.error('WebSocket连接失败:', err); _this2.scheduleReconnect(); } }); // 监听连接打开 this.socketTask.onOpen(function () { console.log('WebSocket连接已打开'); _this2.reconnectAttempts = 0; // 重置重连计数器 // 发送订阅消息(如果需要) _this2.socketTask.send({ data: JSON.stringify({ action: 'subscribe' }), success: function success() { return console.log('订阅消息发送成功'); }, fail: function fail(err) { return console.error('订阅消息发送失败:', err); } }); }); // 监听消息接收 this.socketTask.onMessage(function (res) { console.log('收到实时消息:', res.data); _this2.messages.push(res.data); // 存储消息 var num = ''; try { var data = JSON.parse(res.data); console.log('解析后的JSON数据:', data); // 查找num值 var _num = null; // 第一步:先判断外层是否有data字段,且data是字符串格式的JSON if (data.data && typeof data.data === 'string') { try { // 解析内层的data字符串为JSON对象 var innerData = JSON.parse(data.data); // 遍历内层对象找num相关键 var innerKeys = Object.keys(innerData); for (var _i = 0, _innerKeys = innerKeys; _i < _innerKeys.length; _i++) { var key = _innerKeys[_i]; if (key.toLowerCase().includes('num')) { _num = innerData[key]; console.log("\u4ECE\u5185\u5C42".concat(key, "\u83B7\u53D6\u5230num\u503C:"), _num); break; } } } catch (e) { console.error('解析内层data字符串失败:', e); } } // 处理业务逻辑 if (_num !== null) { var numValue = Number(_num); if (numValue === 1) { _this2.getstatus(1); uni.showModal({ title: '提示', content: '布防信息', showCancel: false, success: function success(res) { if (res.confirm) {} else if (res.cancel) {} } }); uni.showToast({ title: '收到新无操作消息', icon: 'none', duration: 3000 }); } else if (numValue === 2) { _this2.getstatus(2); uni.showModal({ title: '提示', content: '撤防信息', showCancel: false, success: function success(res) { if (res.confirm) {} else if (res.cancel) {} } }); } else if (numValue === 3) { _this2.getstatus(3); uni.showModal({ title: '提示', content: '夜间信息', showCancel: false, success: function success(res) { if (res.confirm) {} else if (res.cancel) {} } }); } else if (numValue === 4) { uni.showModal({ title: '提示', content: '报警信息', showCancel: false, success: function success(res) { if (res.confirm) {} else if (res.cancel) {} } }); _this2.startCountdown(); } else { console.log('num值不在1-4范围内:', numValue); uni.showModal({ title: '提示', content: data.data, showCancel: false, success: function success(res) { if (res.confirm) {} else if (res.cancel) {} } }); } } else { uni.showModal({ title: '提示', content: data.data, showCancel: false, success: function success(res) { if (res.confirm) {} else if (res.cancel) {} } }); console.log('没有找到num值'); console.log('外层所有可用键:', Object.keys(data)); // 补充打印内层data内容,方便调试 if (data.data) { console.log('内层data内容:', data.data); } } // if(this.titlename == this.$i18n.t('statusDisarmed')){ // this.titlename = this.$i18n.t('statusArmed') // this.getstatus(1) // }else{ // this.titlename = this.$i18n.t('statusDisarmed') // this.getstatus(2) // } } catch (e) { console.log('原始消息内容:', res.data); } }); // 监听错误 this.socketTask.onError(function (err) { console.error('WebSocket错误:', err); _this2.scheduleReconnect(); }); // 监听连接关闭 this.socketTask.onClose(function (res) { console.log('WebSocket连接已关闭', res); if (_this2.isPageActive) { _this2.scheduleReconnect(); } }); }, // 关闭WebSocket连接 closeWebSocket: function closeWebSocket() { var _this3 = this; if (this.socketTask) { this.socketTask.close({ success: function success() { console.log('WebSocket已主动关闭'); _this3.socketTask = null; }, fail: function fail(err) { console.error('WebSocket关闭失败:', err); _this3.socketTask = null; } }); } }, // 安排重连 scheduleReconnect: function scheduleReconnect() { var _this4 = this; if (!this.isPageActive || this.reconnectAttempts >= this.maxReconnectAttempts) { console.log('已达到最大重连次数或页面已关闭,停止重连'); return; } this.reconnectAttempts++; console.log("\u5C1D\u8BD5\u7B2C ".concat(this.reconnectAttempts, " \u6B21\u91CD\u8FDE\uFF0C\u7B49\u5F85 ").concat(this.reconnectInterval / 1000, " \u79D2...")); setTimeout(function () { _this4.initWebSocket(); }, this.reconnectInterval); // 指数退避策略,增加重连间隔 this.reconnectInterval = Math.min(this.reconnectInterval * 2, 30000); // 最大不超过30秒 }, // 点击跳转到空间详情 btnkongjian: function btnkongjian() { uni.navigateTo({ url: '/pages/kongjian/kongjianxq' }); }, // 点击布防 onOpenAlarm: function onOpenAlarm() { var _this5 = this; uni.showModal({ title: this.$i18n.t('confirmOperation'), content: this.$i18n.t('confirmArmAlarm'), confirmText: this.$i18n.t('confirm'), cancelText: this.$i18n.t('cancel'), success: function success(res) { if (res.confirm) { _this5.getstatus(1); } } }); }, // 点击撤防 onCloseAlarm: function onCloseAlarm() { var _this6 = this; uni.showModal({ title: this.$i18n.t('confirmOperation'), content: this.$i18n.t('confirmDisarmAlarm'), confirmText: this.$i18n.t('confirm'), cancelText: this.$i18n.t('cancel'), success: function success(res) { if (res.confirm) { _this6.getstatus(2); } } }); }, // 点击开启夜间模式 onNightMode: function onNightMode() { var _this7 = this; uni.showModal({ title: this.$i18n.t('confirmOperation'), content: this.$i18n.t('confirmNightMode'), confirmText: this.$i18n.t('confirm'), cancelText: this.$i18n.t('cancel'), success: function success(res) { if (res.confirm) { _this7.getstatus(3); } } }); }, // 操作状态 getstatus: function getstatus(status) { var _this8 = this; var spaceId = uni.getStorageSync('kjid'); var data = { spaceId: spaceId, status: status }; this.$http.put("/bst/space/changeStatus", data).then(function (res) { if (res.code == 200) { uni.showToast({ title: res.msg, icon: 'success', duration: 3000 }); _this8.getxq(); // 发射事件通知父组件状态已改变 _this8.$emit('status-changed', { status: status, spaceId: spaceId }); } else { uni.showToast({ title: res.msg, icon: 'none', duration: 3000 }); } }); }, // 处理空间变化 handleSpaceChanged: function handleSpaceChanged(payload) { try { console.log('控制模块收到空间变化事件:', payload); // 重新获取空间详情 this.getxq(); } catch (e) { console.warn('控制模块处理空间切换失败:', e); } }, // 点击报警 onEmergency: function onEmergency() { var _this9 = this; uni.showModal({ title: this.$i18n.t('confirmOperation'), content: this.$i18n.t('confirmEmergency'), confirmText: this.$i18n.t('confirm'), cancelText: this.$i18n.t('cancel'), success: function success(res) { if (res.confirm) { _this9.startCountdown(); } } }); }, // 开始倒计时 startCountdown: function startCountdown() { var _this10 = this; this.showCountdownModal = true; this.countdown = 3; this.countdownTimer = setInterval(function () { _this10.countdown--; if (_this10.countdown <= 0) { _this10.clearCountdown(); _this10.checkLocationPermission(); } }, 1000); }, // 取消倒计时 cancelCountdown: function cancelCountdown() { this.clearCountdown(); }, // 清除倒计时 clearCountdown: function clearCountdown() { this.showCountdownModal = false; if (this.countdownTimer) { clearInterval(this.countdownTimer); this.countdownTimer = null; } }, // 检查定位权限 checkLocationPermission: function checkLocationPermission() { // 直接尝试获取定位,如果失败则发送无定位的请求 this.startLocation(); }, // 开始获取定位 startLocation: function startLocation() { var _this11 = this; this.showLocationModal = true; this.locationProgress = 0; // 进度条动画(纯展示,不代表业务完成) this.locationTimer = setInterval(function () { _this11.locationProgress += 0.005; if (_this11.locationProgress >= 1) { _this11.locationProgress = 0; } }, 16); // 约60fps // 至少展示3秒动画,然后再继续后续流程 var holdDone = false; var locationSucceeded = false; var locationData = null; var proceedIfReady = function proceedIfReady() { if (!holdDone) return; _this11.clearLocation(); if (locationSucceeded && locationData) { _this11.sendSOSRequest(locationData); } else { _this11.sendSOSDirectly(); } }; this.minHoldTimer = setTimeout(function () { holdDone = true; proceedIfReady(); }, 3000); // 同时尝试获取位置(结果先存起来,等3秒到再决定是否带位置信息) if (typeof uni.getLocation === 'function') { try { uni.getLocation({ type: 'wgs84', timeout: 5000, success: function success(res) { console.log('获取位置成功:', res); var spaceId = uni.getStorageSync('kjid'); locationData = { spaceId: spaceId, lon: res.longitude.toString(), lat: res.latitude.toString() }; locationSucceeded = true; proceedIfReady(); }, fail: function fail(err) { console.log('获取位置失败:', err); locationSucceeded = false; locationData = null; proceedIfReady(); } }); } catch (error) { console.log('调用定位接口异常:', error); locationSucceeded = false; locationData = null; proceedIfReady(); } } else { console.log('当前环境不支持定位功能'); locationSucceeded = false; locationData = null; proceedIfReady(); } }, // 取消定位 cancelLocation: function cancelLocation() { this.clearLocation(); }, // 清除定位相关 clearLocation: function clearLocation() { this.showLocationModal = false; if (this.locationTimer) { clearInterval(this.locationTimer); this.locationTimer = null; } this.locationProgress = 0; }, // 直接发送SOS请求(无定位) sendSOSDirectly: function sendSOSDirectly() { var spaceId = uni.getStorageSync('kjid'); var data = { spaceId: spaceId, lon: '', lat: '' }; this.sendSOSRequest(data); }, getsos: function getsos() { var _this12 = this; var spaceId = uni.getStorageSync('kjid'); // 获取当前位置 uni.getLocation({ type: 'wgs84', // 返回可以用于uni.openLocation的经纬度 timeout: 10000, // 10秒超时 success: function success(res) { uni.hideLoading(); console.log('获取位置成功:', res); var data = { spaceId: spaceId, lon: res.longitude.toString(), lat: res.latitude.toString() }; _this12.sendSOSRequest(data); }, fail: function fail(err) { uni.hideLoading(); console.log('获取位置失败:', err); // 如果获取位置失败,仍然发送请求但使用空坐标 var data = { spaceId: spaceId, lon: '', lat: '' }; _this12.sendSOSRequest(data); } }); }, // 发送SOS请求的方法 sendSOSRequest: function sendSOSRequest(data) { this.$http.put("/bst/space/panic", data).then(function (res) { if (res.code == 200) { uni.showToast({ title: res.msg, icon: 'success', duration: 3000 }); } else { uni.showToast({ title: res.msg, icon: 'none', duration: 3000 }); } }).catch(function (err) { console.log('发送SOS请求失败:', err); uni.showToast({ title: '发送报警失败,请重试', icon: 'none', duration: 3000 }); }); } } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 569: /*!*********************************************************************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.vue?vue&type=style&index=0&id=8a6686ca&lang=scss&scoped=true& ***! \*********************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ControlTab.vue?vue&type=style&index=0&id=8a6686ca&lang=scss&scoped=true& */ 570); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ControlTab_vue_vue_type_style_index_0_id_8a6686ca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 570: /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/项目文件夹/测试/congming_huose-apk/common/components/ControlTab.vue?vue&type=style&index=0&id=8a6686ca&lang=scss&scoped=true& ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }) }]); //# sourceMappingURL=../../../.sourcemap/mp-weixin/common/components/ControlTab.js.map ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 'common/components/ControlTab-create-component', { 'common/components/ControlTab-create-component':(function(module, exports, __webpack_require__){ __webpack_require__('2')['createComponent'](__webpack_require__(564)) }) }, [['common/components/ControlTab-create-component']] ]);