congming_huose-apk/unpackage/dist/dev/mp-weixin/common/components/ControlTab.js

819 lines
47 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(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']]
]);