(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/index/index"],{ /***/ 50: /*!*******************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/main.js?{"page":"pages%2Findex%2Findex"} ***! \*******************************************************************************/ /*! 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 _index = _interopRequireDefault(__webpack_require__(/*! ./pages/index/index.vue */ 51)); // @ts-ignore wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__; createPage(_index.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"])) /***/ }), /***/ 51: /*!************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/pages/index/index.vue ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _index_vue_vue_type_template_id_57280228___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=57280228& */ 52); /* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ 54); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_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 _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony import */ var _index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&lang=scss& */ 56); /* 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"])( _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _index_vue_vue_type_template_id_57280228___WEBPACK_IMPORTED_MODULE_0__["render"], _index_vue_vue_type_template_id_57280228___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, null, null, false, _index_vue_vue_type_template_id_57280228___WEBPACK_IMPORTED_MODULE_0__["components"], renderjs ) component.options.__file = "pages/index/index.vue" /* harmony default export */ __webpack_exports__["default"] = (component.exports); /***/ }), /***/ 52: /*!*******************************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/pages/index/index.vue?vue&type=template&id=57280228& ***! \*******************************************************************************************/ /*! 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_index_vue_vue_type_template_id_57280228___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!./index.vue?vue&type=template&id=57280228& */ 53); /* 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_index_vue_vue_type_template_id_57280228___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_index_vue_vue_type_template_id_57280228___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_index_vue_vue_type_template_id_57280228___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_index_vue_vue_type_template_id_57280228___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /***/ 53: /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/pages/index/index.vue?vue&type=template&id=57280228& ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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.isLoadingSpaces && _vm.spaceOptions.length == 0 var g1 = g0 ? _vm.$i18n.t("emptySpaceTitle") : null var g2 = g0 ? _vm.$i18n.t("emptySpaceDesc") : null var g3 = g0 ? _vm.$i18n.t("addSpace") || _vm.$i18n.t("emptySpaceCta") : null _vm.$mp.data = Object.assign( {}, { $root: { g0: g0, g1: g1, g2: g2, g3: g3, }, } ) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /***/ 54: /*!*************************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/pages/index/index.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_index_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!./index.vue?vue&type=script&lang=js& */ 55); /* 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_index_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_index_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_index_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_index_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_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 55: /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/pages/index/index.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 CustomHeader = function CustomHeader() { __webpack_require__.e(/*! require.ensure | common/components/CustomHeader */ "common/components/CustomHeader").then((function () { return resolve(__webpack_require__(/*! @/common/components/CustomHeader.vue */ 354)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var BottomTab = function BottomTab() { __webpack_require__.e(/*! require.ensure | common/components/BottomTab */ "common/components/BottomTab").then((function () { return resolve(__webpack_require__(/*! @/common/components/BottomTab.vue */ 361)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var SideMenu = function SideMenu() { __webpack_require__.e(/*! require.ensure | common/components/SideMenu */ "common/components/SideMenu").then((function () { return resolve(__webpack_require__(/*! @/common/components/SideMenu.vue */ 368)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var DeviceTab = function DeviceTab() { __webpack_require__.e(/*! require.ensure | common/components/DeviceTab */ "common/components/DeviceTab").then((function () { return resolve(__webpack_require__(/*! @/common/components/DeviceTab.vue */ 375)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var RoomTab = function RoomTab() { __webpack_require__.e(/*! require.ensure | common/components/RoomTab */ "common/components/RoomTab").then((function () { return resolve(__webpack_require__(/*! @/common/components/RoomTab.vue */ 382)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var NotificationTab = function NotificationTab() { __webpack_require__.e(/*! require.ensure | common/components/NotificationTab */ "common/components/NotificationTab").then((function () { return resolve(__webpack_require__(/*! @/common/components/NotificationTab.vue */ 389)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var ControlTab = function ControlTab() { __webpack_require__.e(/*! require.ensure | common/components/ControlTab */ "common/components/ControlTab").then((function () { return resolve(__webpack_require__(/*! @/common/components/ControlTab.vue */ 396)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var _default = { components: { CustomHeader: CustomHeader, BottomTab: BottomTab, SideMenu: SideMenu, DeviceTab: DeviceTab, RoomTab: RoomTab, NotificationTab: NotificationTab, ControlTab: ControlTab }, data: function data() { return { currentTabIndex: 0, // 当前选中的标签页索引 showSideMenu: false, // 控制侧边菜单的显示状态 // 加载状态 isLoadingSpaces: true, // 添加页面配置数据 pageConfigs: [], // 空间下拉 spaceOptions: [{ name: 'home', status: '2' }, // 撤防 { name: 'office', status: '1' }, // 布防 { name: 'warehouse', status: '3' }, // 夜间 { name: 'garage', status: '4' } // 紧急 ], selectedSpaceIndex: 0, // 添加触摸相关数据 touchStartX: 0, touchStartY: 0, touchEndX: 0, touchEndY: 0, minSwipeDistance: 50, // 最小滑动距离 maxVerticalDistance: 100, // 最大垂直距离(防止误触) touchStartTime: 0, // 触摸开始时间 maxSwipeTime: 500, // 最大滑动时间(毫秒) lastSwipeTime: 0, // 上次手势时间 swipeDebounceTime: 300, // 手势防抖时间(毫秒) logoflag: false }; }, computed: { // 计算当前语言,用于触发更新 currentLanguage: function currentLanguage() { return this.$i18n.getCurrentLanguage(); }, currentPageInfo: function currentPageInfo() { return this.pageConfigs[0] || { title: '', subtitle: '' }; }, // 当前选中空间的状态标题(1-布防 2-撤防 3-夜间 4-紧急) currentStatusTitle: function currentStatusTitle() { var spaces = Array.isArray(this.spaceOptions) ? this.spaceOptions : []; var index = Math.min(Math.max(0, this.selectedSpaceIndex || 0), spaces.length - 1); var status = spaces[index] && (spaces[index].status || spaces[index].Status || spaces[index].state); return this.getStatusTitleByCode(status); } }, watch: { // 监听语言变化,强制更新组件 currentLanguage: function currentLanguage() { console.log('主页面语言变化:', this.currentLanguage); this.updatePageConfigs(); this.updateSpaceOptions(); } }, mounted: function mounted() { // 监听语言变化事件 uni.$on('languageChanged', this.handleLanguageChange); this.updatePageConfigs(); // this.updateSpaceOptions(); }, beforeDestroy: function beforeDestroy() { // 移除事件监听 uni.$off('languageChanged', this.handleLanguageChange); }, onLoad: function onLoad() { console.log('页面加载完成'); if (!uni.getStorageSync('language')) { uni.setStorageSync('language', 'zh'); } }, onShow: function onShow() { // 页面显示时强制更新 this.updatePageConfigs(); this.updateSpaceOptions(); }, methods: { // 点击跳转添加空间 btnaddkj: function btnaddkj() { if (this.logoflag == true) { uni.reLaunch({ url: '/pages/login/index' }); } else { uni.navigateTo({ url: '/pages/kongjian/index' }); } }, // 触摸开始事件 handleTouchStart: function handleTouchStart(e) { // 在通知页面时,只有高亮索引为0时才启用手势 if (this.currentTabIndex === 2) { // 获取通知页面的高亮索引 var notificationTab = this.$refs.notificationTab; if (notificationTab && notificationTab.swiperCurrent !== 0) { return; // 高亮索引不是0时,禁用手势 } } // 记录触摸开始位置,无论侧边菜单是否显示 this.touchStartX = e.touches[0].clientX; this.touchStartY = e.touches[0].clientY; this.touchStartTime = Date.now(); // 记录触摸开始时间 }, // 触摸移动事件 handleTouchMove: function handleTouchMove(e) { // 在通知页面时,只有高亮索引为0时才启用手势 if (this.currentTabIndex === 2) { // 获取通知页面的高亮索引 var notificationTab = this.$refs.notificationTab; if (notificationTab && notificationTab.swiperCurrent !== 0) { return; // 高亮索引不是0时,禁用手势 } } // 可以在这里添加实时反馈,比如显示滑动提示 // 暂时保持空实现,避免影响性能 }, // 触摸结束事件 handleTouchEnd: function handleTouchEnd(e) { // 在通知页面时,只有高亮索引为0时才启用手势 if (this.currentTabIndex === 2) { // 获取通知页面的高亮索引 var notificationTab = this.$refs.notificationTab; if (notificationTab && notificationTab.swiperCurrent !== 0) { return; // 高亮索引不是0时,禁用手势 } } var touchEndTime = Date.now(); var deltaTime = touchEndTime - this.touchStartTime; // 防抖检查:避免快速连续触发 if (touchEndTime - this.lastSwipeTime < this.swipeDebounceTime) { return; } this.touchEndX = e.changedTouches[0].clientX; this.touchEndY = e.changedTouches[0].clientY; // 计算滑动距离 var deltaX = this.touchEndX - this.touchStartX; var deltaY = Math.abs(this.touchEndY - this.touchStartY); // 判断是否为有效的左滑手势(隐藏侧边菜单) if (this.showSideMenu && deltaX < -this.minSwipeDistance && deltaY < this.maxVerticalDistance && deltaTime < this.maxSwipeTime) { console.log('检测到左滑手势,隐藏侧边菜单'); this.closeSideMenu(); this.lastSwipeTime = touchEndTime; // 更新上次手势时间 // 可选:添加触觉反馈 uni.vibrateShort({ type: 'light' }); } // 判断是否为有效的右滑手势(打开侧边菜单) else if (!this.showSideMenu && deltaX > this.minSwipeDistance && deltaY < this.maxVerticalDistance && deltaTime < this.maxSwipeTime) { console.log('检测到右滑手势,打开侧边菜单'); this.toggleSideMenu(); this.lastSwipeTime = touchEndTime; // 更新上次手势时间 // 可选:添加触觉反馈 uni.vibrateShort({ type: 'light' }); } }, handleLanguageChange: function handleLanguageChange(lang) { console.log('主页面语言切换事件触发:', lang); this.updatePageConfigs(); this.updateSpaceOptions(); }, // 将状态码映射为标题 getStatusTitleByCode: function getStatusTitleByCode(code) { var n = Number(code); // 添加容错处理 var t = this.$i18n && this.$i18n.t ? this.$i18n.t.bind(this.$i18n) : function (key) { return key; }; if (n === 1) return t('statusArmed') || '布防'; if (n === 2) return t('statusDisarmed') || '撤防'; if (n === 3) return t('statusNight') || '夜间'; if (n === 4) return t('statusEmergency') || '紧急'; return t('work') || '工作'; }, // 更新主页面配置 updatePageConfigs: function updatePageConfigs() { console.log('更新主页面配置'); // 重新构建页面配置,确保所有文本都通过 $i18n.t() 获取 var spaces = Array.isArray(this.spaceOptions) ? this.spaceOptions : []; var index = Math.min(Math.max(0, this.selectedSpaceIndex || 0), spaces.length - 1); var status = spaces[index] && (spaces[index].status || spaces[index].Status || spaces[index].state); var title = this.getStatusTitleByCode(status); // 添加容错处理 var t = this.$i18n && this.$i18n.t ? this.$i18n.t.bind(this.$i18n) : function (key) { return key; }; this.pageConfigs = [{ title: title, subtitle: t('alarmCleared') || '--' }]; // 强制更新组件 this.$forceUpdate(); }, // 更新空间下拉选项(示例数据,可替换为实际接口) updateSpaceOptions: function updateSpaceOptions() { var _this = this; this.spaceOptions = []; this.selectedSpaceIndex = 0; this.isLoadingSpaces = true; this.$http.get('/bst/space/list').then(function (res) { if (res.code == 200) { _this.logoflag = false; _this.spaceOptions = res.rows; // 若有本地已选空间,默认选中;否则选中第一个并写入本地 try { var localKjid = uni.getStorageSync('kjid'); var spaces = Array.isArray(_this.spaceOptions) ? _this.spaceOptions : []; var matchIndex = 0; if (localKjid !== undefined && localKjid !== null && localKjid !== '') { var found = spaces.findIndex(function (s) { return (s.id || s.spaceId || s.ID || s.Id) == localKjid; }); if (found >= 0) { matchIndex = found; } } // 如果空间列表不为空,设置默认选中并写入本地 if (spaces.length > 0) { _this.selectedSpaceIndex = matchIndex; var selected = spaces[matchIndex]; var kjid = selected && (selected.id || selected.spaceId || selected.ID || selected.Id); if (kjid !== undefined && kjid !== null) { uni.setStorageSync('kjid', kjid); uni.setStorageSync('kjobj', selected); } } } catch (e) { console.warn('处理本地空间ID失败:', e); } // 空间列表加载后,立即根据状态刷新标题 _this.updatePageConfigs(); } else if (res.code == 401) { _this.logoflag = true; } }).finally(function () { _this.isLoadingSpaces = false; }); }, // 顶部空间选择变更 handleSpaceChange: function handleSpaceChange(index, item, name) { this.selectedSpaceIndex = index; console.log('选择空间:', index, item, name); // 获取新选中的空间信息 var selected = item || (Array.isArray(this.spaceOptions) ? this.spaceOptions[index] : null); var kjid = selected && (selected.id || selected.spaceId || selected.ID || selected.Id); if (kjid !== undefined && kjid !== null) { // 持久化选中的空间ID到本地 uni.setStorageSync('kjid', kjid); uni.setStorageSync('kjobj', selected); console.log('已保存 kjid:', kjid); // 广播全局事件,通知需要依赖空间的模块刷新 console.log('主页面发送空间变化事件:', { kjid: kjid, space: selected }); uni.$emit('spaceChanged', { kjid: kjid, space: selected }); // 根据当前tab刷新对应的数据 this.refreshCurrentTabData(kjid); } this.updatePageConfigs(); }, // 根据当前tab刷新对应的数据 refreshCurrentTabData: function refreshCurrentTabData(kjid) { console.log('刷新当前tab数据,空间ID:', kjid); switch (this.currentTabIndex) { case 0: // 设备模块 this.refreshDeviceTab(kjid); break; case 1: // 房间模块 this.refreshRoomTab(kjid); break; case 2: // 通知模块 this.refreshNotificationTab(kjid); break; case 3: // 控制模块 this.refreshControlTab(kjid); break; default: console.log('未知的tab索引:', this.currentTabIndex); } }, // 刷新设备模块数据 refreshDeviceTab: function refreshDeviceTab(kjid) { console.log('刷新设备模块数据'); // 如果有设备模块的引用,可以调用其刷新方法 // 这里可以根据实际的DeviceTab组件API进行调整 uni.$emit('refreshDeviceData', { kjid: kjid }); }, // 刷新房间模块数据 refreshRoomTab: function refreshRoomTab(kjid) { console.log('刷新房间模块数据'); // 如果有房间模块的引用,可以调用其刷新方法 // 这里可以根据实际的RoomTab组件API进行调整 uni.$emit('refreshRoomData', { kjid: kjid }); }, // 刷新通知模块数据 refreshNotificationTab: function refreshNotificationTab(kjid) { console.log('刷新通知模块数据'); if (this.$refs && this.$refs.notificationTab) { try { this.$refs.notificationTab.pageNum = 1; this.$refs.notificationTab.kjid = kjid; this.$refs.notificationTab.getlist(); } catch (err) { console.warn('通知页刷新失败:', err); } } }, // 刷新控制模块数据 refreshControlTab: function refreshControlTab(kjid) { console.log('刷新控制模块数据'); // 控制模块会自动通过kjid获取最新状态,无需额外操作 // 如果需要强制刷新,可以发送事件 uni.$emit('refreshControlData', { kjid: kjid }); }, // 处理标签页切换 handleTabChange: function handleTabChange(index) { console.log('点击了标签页:', index); this.currentTabIndex = index; console.log('切换到标签页:', index); }, // 侧边菜单相关方法 toggleSideMenu: function toggleSideMenu() { console.log('点击了菜单按钮'); this.showSideMenu = !this.showSideMenu; console.log('侧边菜单状态:', this.showSideMenu); }, closeSideMenu: function closeSideMenu() { this.showSideMenu = false; }, handleMenuClick: function handleMenuClick(type) { console.log('Clicked menu item:', type); this.closeSideMenu(); // 根据 type 执行不同的操作 uni.showToast({ title: "".concat(this.$i18n.t('clicked')).concat(type), icon: 'none', duration: 3000 }); }, handleAddRoom: function handleAddRoom() { console.log('Add Room clicked'); this.closeSideMenu(); uni.showToast({ title: this.$i18n.t('addRoomClicked'), icon: 'none', duration: 3000 }); }, // 处理控制模块状态变化 handleStatusChanged: function handleStatusChanged(data) { console.log('控制模块状态改变:', data); // 刷新空间列表以更新状态 this.refreshSpaceStatus(data.spaceId, data.status); }, // 刷新空间状态 refreshSpaceStatus: function refreshSpaceStatus(spaceId, newStatus) { // 更新本地存储的空间状态 try { var currentSpace = uni.getStorageSync('kjobj'); if (currentSpace && currentSpace.id === spaceId) { currentSpace.status = newStatus; uni.setStorageSync('kjobj', currentSpace); } } catch (e) { console.warn('更新本地空间状态失败:', e); } // 更新spaceOptions中对应空间的状态 var spaces = Array.isArray(this.spaceOptions) ? this.spaceOptions : []; var targetIndex = spaces.findIndex(function (space) { return (space.id || space.spaceId || space.ID || space.Id) == spaceId; }); if (targetIndex >= 0) { // 直接更新状态 this.spaceOptions[targetIndex].status = newStatus; // 强制更新页面配置以刷新头部显示 this.updatePageConfigs(); console.log('空间状态已更新:', this.spaceOptions[targetIndex]); } } } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 56: /*!**********************************************************************************************!*\ !*** F:/项目文件夹/测试/congming_huose-apk/pages/index/index.vue?vue&type=style&index=0&lang=scss& ***! \**********************************************************************************************/ /*! 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_index_vue_vue_type_style_index_0_lang_scss___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!./index.vue?vue&type=style&index=0&lang=scss& */ 57); /* 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_index_vue_vue_type_style_index_0_lang_scss___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_index_vue_vue_type_style_index_0_lang_scss___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_index_vue_vue_type_style_index_0_lang_scss___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_index_vue_vue_type_style_index_0_lang_scss___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_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 57: /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/pages/index/index.vue?vue&type=style&index=0&lang=scss& ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }) },[[50,"common/runtime","common/vendor"]]]); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map