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

910 lines
59 KiB
JavaScript
Raw Permalink Normal View History

2025-11-08 11:30:06 +08:00
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/components/DeviceTab"],{
/***/ 619:
2025-11-08 11:30:06 +08:00
/*!**********************************************************************!*\
!*** F:///congming_huose-apk/common/components/DeviceTab.vue ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _DeviceTab_vue_vue_type_template_id_52fa3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DeviceTab.vue?vue&type=template&id=52fa3be8&scoped=true& */ 620);
/* harmony import */ var _DeviceTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DeviceTab.vue?vue&type=script&lang=js& */ 622);
2025-11-08 11:30:06 +08:00
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _DeviceTab_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 _DeviceTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DeviceTab.vue?vue&type=style&index=0&id=52fa3be8&lang=scss&scoped=true& */ 624);
/* 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 */ 46);
2025-11-08 11:30:06 +08:00
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"])(
_DeviceTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_DeviceTab_vue_vue_type_template_id_52fa3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_DeviceTab_vue_vue_type_template_id_52fa3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"52fa3be8",
null,
false,
_DeviceTab_vue_vue_type_template_id_52fa3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "common/components/DeviceTab.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 620:
2025-11-08 11:30:06 +08:00
/*!*****************************************************************************************************************!*\
!*** F:///congming_huose-apk/common/components/DeviceTab.vue?vue&type=template&id=52fa3be8&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_DeviceTab_vue_vue_type_template_id_52fa3be8_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!./DeviceTab.vue?vue&type=template&id=52fa3be8&scoped=true& */ 621);
2025-11-08 11:30:06 +08:00
/* 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_DeviceTab_vue_vue_type_template_id_52fa3be8_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_DeviceTab_vue_vue_type_template_id_52fa3be8_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_DeviceTab_vue_vue_type_template_id_52fa3be8_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_DeviceTab_vue_vue_type_template_id_52fa3be8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 621:
2025-11-08 11:30:06 +08:00
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./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/DeviceTab.vue?vue&type=template&id=52fa3be8&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 l0 = _vm.__map(_vm.deviceList, function (device, index) {
var $orig = _vm.__get_orig(device)
var m0 = _vm.listRowShowLx(device)
var m1 = !m0 ? _vm.listRowShowDoorOpen(device) : null
var m2 = !m0 ? _vm.listRowShowFc(device) : null
return {
$orig: $orig,
m0: m0,
m1: m1,
m2: m2,
}
})
2025-11-08 11:30:06 +08:00
var g0 = _vm.deviceList.length
var g1 = _vm.deviceList.length
var g2 = g1 == 0 ? _vm.$i18n.t("hubwz") : null
var g3 = _vm.$i18n.t("addDevice")
_vm.$mp.data = Object.assign(
{},
{
$root: {
l0: l0,
2025-11-08 11:30:06 +08:00
g0: g0,
g1: g1,
g2: g2,
g3: g3,
},
}
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 622:
2025-11-08 11:30:06 +08:00
/*!***********************************************************************************************!*\
!*** F:///congming_huose-apk/common/components/DeviceTab.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_DeviceTab_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!./DeviceTab.vue?vue&type=script&lang=js& */ 623);
2025-11-08 11:30:06 +08:00
/* 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_DeviceTab_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_DeviceTab_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_DeviceTab_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_DeviceTab_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_DeviceTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 623:
2025-11-08 11:30:06 +08:00
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./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/DeviceTab.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
2025-11-08 11:30:06 +08:00
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
var _deviceRoomOverlay = __webpack_require__(/*! @/common/utils/deviceRoomOverlay.js */ 108);
var _iotFxCover = __webpack_require__(/*! @/common/utils/iotFxCover.js */ 80);
var _appUserWs = __webpack_require__(/*! @/common/utils/appUserWs.js */ 37);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function normalizeMac(m) {
if (m === undefined || m === null) return '';
return String(m).replace(/:/g, '').trim().toUpperCase();
}
function mergeIotDataPoint(ov, nv) {
if (nv === null) return null;
if ((0, _typeof2.default)(nv) !== 'object' || Array.isArray(nv)) return nv;
if (!ov || (0, _typeof2.default)(ov) !== 'object' || Array.isArray(ov)) return _objectSpread({}, nv);
var merged = _objectSpread(_objectSpread({}, ov), nv);
if (!Object.prototype.hasOwnProperty.call(nv, 'desc') || nv.desc === undefined) {
if (Object.prototype.hasOwnProperty.call(ov, 'desc') && ov.desc !== undefined) {
merged.desc = ov.desc;
}
}
return merged;
}
2025-11-08 11:30:06 +08:00
var _default = {
name: 'DeviceTab',
props: {
// 首页当前为设备 Tab 时批量订阅;从列表进详情不改变此值,不会整表退订
subscriptionActive: {
type: Boolean,
default: false
}
},
2025-11-08 11:30:06 +08:00
data: function data() {
return {
deviceList: [],
isRefreshing: false,
kjid: '',
// 添加空间ID
pageNum: 1,
pageSize: 10,
total: 0,
hasMore: true,
requestInProgress: false,
// 注意data 键勿用前导 _小程序端不会挂到 this会导致 undefined
// 当前已 subscribe 的 mac 列表(用于离页/换页时顺序退订)
listWsSubscribedMacs: [],
listWsBatchId: 0,
listWsAppendSeq: 0,
listWsSeqTimer: null,
// 为 true 时第 1 页列表拉完必整表重订;下拉/换空间/需刷新 时置 true
listWsForceFullResync: false,
staticStatusImg: {
lx: '/static/lx.png',
fc: '/static/fc.png',
dc: '/static/dc.png',
xh: '/static/xh.png',
/** 门磁门开 */
door: '/static/mc.png'
}
2025-11-08 11:30:06 +08:00
};
},
computed: {
// 计算当前语言,用于触发更新
currentLanguage: function currentLanguage() {
return this.$i18n.getCurrentLanguage();
}
},
created: function created() {
this.updateDeviceList();
},
watch: {
// 监听语言变化
currentLanguage: function currentLanguage() {
console.log('设备页面语言变化:', this.currentLanguage);
this.updateDeviceList();
},
subscriptionActive: {
immediate: true,
handler: function handler(on) {
if (on) {
this._listSubscriptionTurnOn();
} else {
this._listSubscriptionTurnOff();
}
}
2025-11-08 11:30:06 +08:00
}
},
mounted: function mounted() {
var _this = this;
// 监听语言变化事件
uni.$on('languageChanged', this.handleLanguageChange);
// 监听空间切换事件
uni.$on('spaceChanged', this.handleSpaceChanged);
// 首页 onShow 拉取空间列表并写入 kjid 后广播,避免子页返回后组件内 kjid 仍为旧值
uni.$on('homePageShow', this.syncKjidFromStorage);
uni.$on('deviceListNeedRefresh', this.onDeviceListNeedRefresh);
uni.$on('refreshDeviceData', this.onRefreshDeviceData);
uni.$on('appWs:deviceOnlineStatus', this.onAppWsDeviceListOnline);
uni.$on('appWs:deviceData', this.onAppWsDeviceListData);
2025-11-08 11:30:06 +08:00
// 初始化空间ID并首次拉取列表
if (uni.getStorageSync('kjid')) {
this.kjid = uni.getStorageSync('kjid');
this.getDeviceList();
} else {
this.$http.get('/bst/space/list?pageNum=1&pageSize=99').then(function (res) {
2025-11-08 11:30:06 +08:00
if (res.code == 200 && res.rows.length > 0) {
_this.kjid = res.rows[0].id;
uni.setStorageSync('kjid', _this.kjid);
_this.getDeviceList();
}
});
}
},
beforeDestroy: function beforeDestroy() {
uni.$off('appWs:opened', this._onListWsSocketOpened);
this._listSubscriptionTurnOff();
2025-11-08 11:30:06 +08:00
// 移除事件监听
uni.$off('languageChanged', this.handleLanguageChange);
uni.$off('spaceChanged', this.handleSpaceChanged);
uni.$off('homePageShow', this.syncKjidFromStorage);
uni.$off('deviceListNeedRefresh', this.onDeviceListNeedRefresh);
uni.$off('refreshDeviceData', this.onRefreshDeviceData);
uni.$off('appWs:deviceOnlineStatus', this.onAppWsDeviceListOnline);
uni.$off('appWs:deviceData', this.onAppWsDeviceListData);
2025-11-08 11:30:06 +08:00
},
methods: {
_listClearSeqTimer: function _listClearSeqTimer() {
if (this.listWsSeqTimer != null) {
clearTimeout(this.listWsSeqTimer);
this.listWsSeqTimer = null;
}
},
_listQueueNext: function _listQueueNext(fn) {
this._listClearSeqTimer();
this.listWsSeqTimer = setTimeout(fn, 0);
},
_macsFromDeviceList: function _macsFromDeviceList(dlist) {
var out = [];
var seen = Object.create(null);
var src = dlist != null ? dlist : this.deviceList;
var _iterator = _createForOfIteratorHelper(src || []),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var d = _step.value;
var m = normalizeMac(d && d.mac);
if (!m || seen[m]) continue;
seen[m] = true;
out.push(m);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return out;
},
/** 按首次出现顺序去重,保证一 mac 一退订/一订阅 */_macsDedupeOrder: function _macsDedupeOrder(arr) {
var out = [];
var seen = Object.create(null);
var _iterator2 = _createForOfIteratorHelper(arr || []),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var m = _step2.value;
if (!m || seen[m]) continue;
seen[m] = true;
out.push(m);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
return out;
},
_listMacSetSignature: function _listMacSetSignature(macs) {
return this._macsDedupeOrder(macs).slice().sort().join('\0');
},
/** 当前 deviceList 与已订阅 mac 集合一致则无需因接口重复拉取而整表重订(含均空) */_listDeviceListMacsMatchSubscribed: function _listDeviceListMacsMatchSubscribed() {
var a = this._listMacSetSignature(this._macsFromDeviceList());
var b = this._listMacSetSignature(this.listWsSubscribedMacs);
return a === b;
},
/** 在设备列表内:对当前已订阅的 mac 顺序退订,再按当前 deviceList 顺序逐条 subscribe退订完成前不清空避免离页时漏退订 */_listFullResubscribe: function _listFullResubscribe() {
2025-11-08 11:30:06 +08:00
var _this2 = this;
if (!this.subscriptionActive) return;
(0, _appUserWs.connectIfLoggedIn)();
this.listWsAppendSeq++;
this.listWsBatchId++;
var batchId = this.listWsBatchId;
var toUnsub = this._macsDedupeOrder(this.listWsSubscribedMacs);
var toSub = this._macsFromDeviceList();
var runUnsub = function runUnsub(i) {
if (batchId !== _this2.listWsBatchId) return;
if (i >= toUnsub.length) {
_this2.listWsSubscribedMacs = [];
return _this2._listRunSubscribeChain(batchId, toSub, 0);
}
if ((0, _appUserWs.isOpen)()) {
(0, _appUserWs.sendJson)({
action: 'unsubscribe',
mac: toUnsub[i]
}, '列表退订');
}
_this2._listQueueNext(function () {
return runUnsub(i + 1);
});
};
runUnsub(0);
},
_listRunSubscribeChain: function _listRunSubscribeChain(batchId, macs, i) {
var _this3 = this;
if (batchId !== this.listWsBatchId) return;
if (!this.subscriptionActive) return;
if (i >= (macs || []).length) return;
if ((0, _appUserWs.isOpen)()) {
(0, _appUserWs.sendJson)({
action: 'subscribe',
mac: macs[i]
}, '列表订阅');
if (!this.listWsSubscribedMacs) {
this.listWsSubscribedMacs = [];
}
this.listWsSubscribedMacs.push(macs[i]);
}
this._listQueueNext(function () {
return _this3._listRunSubscribeChain(batchId, macs, i + 1);
});
},
/** 上拉加载到的新行,逐条 subscribe仅新 mac */_listAppendSubscribeRows: function _listAppendSubscribeRows(rows) {
var _this4 = this;
if (!this.subscriptionActive) return;
var have = Object.create(null);
var _iterator3 = _createForOfIteratorHelper(this.listWsSubscribedMacs || []),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var m = _step3.value;
have[m] = true;
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
var toAdd = [];
var _iterator4 = _createForOfIteratorHelper(rows || []),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var d = _step4.value;
var _m = normalizeMac(d && d.mac);
if (!_m || have[_m]) continue;
have[_m] = true;
toAdd.push(_m);
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
if (!toAdd.length) return;
this.listWsAppendSeq++;
var seq = this.listWsAppendSeq;
var run = function run(j) {
if (seq !== _this4.listWsAppendSeq) return;
if (!_this4.subscriptionActive) return;
if (j >= toAdd.length) return;
if ((0, _appUserWs.isOpen)()) {
(0, _appUserWs.sendJson)({
action: 'subscribe',
mac: toAdd[j]
}, '列表上拉订阅');
if (!_this4.listWsSubscribedMacs) {
_this4.listWsSubscribedMacs = [];
}
_this4.listWsSubscribedMacs.push(toAdd[j]);
}
_this4._listQueueNext(function () {
return run(j + 1);
});
};
run(0);
},
_listSubscriptionTurnOn: function _listSubscriptionTurnOn() {
if (!this.subscriptionActive) return;
(0, _appUserWs.connectIfLoggedIn)();
uni.$off('appWs:opened', this._onListWsSocketOpened);
uni.$on('appWs:opened', this._onListWsSocketOpened);
this._listFullResubscribe();
},
_listSubscriptionTurnOff: function _listSubscriptionTurnOff() {
var _this5 = this;
uni.$off('appWs:opened', this._onListWsSocketOpened);
this._listClearSeqTimer();
this.listWsBatchId++;
this.listWsAppendSeq++;
var toUnsub = this._macsDedupeOrder(this.listWsSubscribedMacs);
this.listWsSubscribedMacs = [];
var run = function run(i) {
if (i >= toUnsub.length) return;
if ((0, _appUserWs.isOpen)()) {
(0, _appUserWs.sendJson)({
action: 'unsubscribe',
mac: toUnsub[i]
}, '列表离页退订');
}
_this5._listQueueNext(function () {
return run(i + 1);
});
};
run(0);
},
_onListWsSocketOpened: function _onListWsSocketOpened() {
if (!this.subscriptionActive) return;
this._listFullResubscribe();
},
_onDeviceListHttpDone: function _onDeviceListHttpDone(requestPage, responseRows, loadOk) {
var _this6 = this;
if (!loadOk || !this.subscriptionActive) return;
this.$nextTick(function () {
if (!_this6.subscriptionActive) return;
if (requestPage === 1) {
var needFull = _this6.listWsForceFullResync || !_this6._listDeviceListMacsMatchSubscribed();
_this6.listWsForceFullResync = false;
if (needFull) {
_this6._listFullResubscribe();
}
} else {
_this6._listAppendSubscribeRows(responseRows);
}
});
},
/** 编辑设备名/房间后等需重新对齐 WS 时的列表刷新 */onDeviceListNeedRefresh: function onDeviceListNeedRefresh() {
this.listWsForceFullResync = true;
this.refreshDeviceListFromHome();
},
/** 全局长连接device_online_status 更新列表项在线角标 */onAppWsDeviceListOnline: function onAppWsDeviceListOnline(msg) {
if (!msg || !msg.data || (0, _typeof2.default)(msg.data) !== 'object') return;
var outer = msg.data;
var inner = outer.data;
if (!inner || (0, _typeof2.default)(inner) !== 'object') return;
var payloadMac = normalizeMac(inner.mac != null ? inner.mac : outer.mac);
if (!payloadMac) return;
var target = (this.deviceList || []).find(function (d) {
return normalizeMac(d.mac) === payloadMac;
});
if (!target) return;
var statusPayload = inner.data !== undefined && (0, _typeof2.default)(inner.data) === 'object' ? inner.data : inner;
var os = statusPayload.onlineStatus;
var lot = statusPayload.lastOnlineTime;
if (os !== undefined && os !== null && os !== '') {
var n = Number(os);
if (!Number.isNaN(n)) {
this.$set(target, 'onlineStatus', n);
}
}
if (lot !== undefined && lot !== null) {
this.$set(target, 'lastOnlineTime', lot);
}
if (!target.iotOnlineData) {
this.$set(target, 'iotOnlineData', {});
}
if (os !== undefined && os !== null && os !== '') {
this.$set(target.iotOnlineData, 'onlineStatus', String(os));
}
},
/** 长连接 device_data按 mac 合入当前行的 iotData供状态条展示 */onAppWsDeviceListData: function onAppWsDeviceListData(msg) {
if (!msg || msg.event !== 'device_data') return;
var outer = msg.data;
if (!outer || (0, _typeof2.default)(outer) !== 'object') return;
var inner = outer.data;
if (!inner || (0, _typeof2.default)(inner) !== 'object') return;
var payloadMac = normalizeMac(inner.mac != null ? inner.mac : outer.mac);
if (!payloadMac) return;
var target = (this.deviceList || []).find(function (d) {
return normalizeMac(d.mac) === payloadMac;
});
if (!target) return;
var patch = inner.data !== undefined ? inner.data : inner;
if (!patch || (0, _typeof2.default)(patch) !== 'object') return;
if (!target.iotData) {
this.$set(target, 'iotData', {});
}
var keys = Object.keys(patch).filter(function (k) {
return k !== 'mac';
});
var _iterator5 = _createForOfIteratorHelper(keys),
_step5;
try {
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
var k = _step5.value;
var nv = patch[k];
var ov = target.iotData[k];
var nextVal = nv !== null && (0, _typeof2.default)(nv) === 'object' && !Array.isArray(nv) ? mergeIotDataPoint(ov, nv) : nv;
if (JSON.stringify(ov) === JSON.stringify(nextVal)) continue;
this.$set(target.iotData, k, nextVal);
}
} catch (err) {
_iterator5.e(err);
} finally {
_iterator5.f();
}
},
/** 列表行与头像角标一致onlineStatus 为 1 视为在线(兼容仅有根级 onlineStatus 的列表数据) */listRowIsOnline: function listRowIsOnline(device) {
if (!device) return false;
var od = device.iotOnlineData;
if (od && od.onlineStatus !== undefined && od.onlineStatus !== null) {
return String(od.onlineStatus) === '1';
}
if (device.onlineStatus !== undefined && device.onlineStatus !== null) {
return String(device.onlineStatus) === '1';
}
return false;
},
/** 离线展示 lx无在线信息时不展示避免首屏全灰 */listRowShowLx: function listRowShowLx(device) {
if (!device) return false;
var od = device.iotOnlineData;
if (od && od.onlineStatus !== undefined && od.onlineStatus !== null) {
return String(od.onlineStatus) !== '1';
}
if (device.onlineStatus !== undefined && device.onlineStatus !== null) {
return String(device.onlineStatus) !== '1';
}
return false;
},
_listCoverOpenFromIot: function _listCoverOpenFromIot(iot) {
var fx = iot && iot.fx;
if (!fx) return false;
return (0, _iotFxCover.isFxCoverOpen)(fx);
},
/** 接口 statuses 可能在 device 根上,或随长连接合入 iotData.statuses */_listGetStatuses: function _listGetStatuses(device) {
if (!device) return [];
if (Array.isArray(device.statuses)) return device.statuses;
var iot = device.iotData;
if (iot && Array.isArray(iot.statuses)) return iot.statuses;
return [];
},
_listStatusKeyMatchesDoorOpen: function _listStatusKeyMatchesDoorOpen(key) {
if (key === undefined || key === null) return false;
// 兼容 door:open、door_open、Door:Open
var k = String(key).trim().toLowerCase().replace(/_/g, ':');
return k === 'door:open';
},
_listStatusHasAntiTheft: function _listStatusHasAntiTheft(device) {
var list = this._listGetStatuses(device);
for (var i = 0; i < list.length; i++) {
var s = list[i];
if (!s || s.key === undefined || s.key === null) continue;
var k = String(s.key).trim().toLowerCase().replace(/_/g, ':');
if (k === 'common:anti-theft' || k === 'common:antitheft') return true;
}
return false;
},
/** 门开statuses 含 door:open兼容 door_open 等) */listRowShowDoorOpen: function listRowShowDoorOpen(device) {
if (!this.listRowIsOnline(device)) return false;
var list = this._listGetStatuses(device);
for (var i = 0; i < list.length; i++) {
var s = list[i];
if (this._listStatusKeyMatchesDoorOpen(s && s.key)) return true;
}
return false;
},
/**
* 防拆/盖子iotData.fx 为开 statuses common:anti-theft
*/
listRowShowFc: function listRowShowFc(device) {
if (!this.listRowIsOnline(device)) return false;
if (this._listStatusHasAntiTheft(device)) return true;
if (!device.iotData) return false;
return this._listCoverOpenFromIot(device.iotData);
},
// 请求设备列表force 为 true 时允许与进行中的请求并行(用于首页 onShow 强制刷新 roomName
getDeviceList: function getDeviceList() {
var _this7 = this;
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (this.requestInProgress && !force) return;
2025-11-08 11:30:06 +08:00
this.requestInProgress = true;
var requestPage = this.pageNum;
var responseRows = [];
var loadOk = false;
2025-11-08 11:30:06 +08:00
this.$http.get("/bst/device/list?spaceId=".concat(this.kjid, "&pageNum=").concat(this.pageNum, "&pageSize=").concat(this.pageSize)).then(function (res) {
if (res.code == 200) {
loadOk = true;
_this7.total = Number(res.total || 0);
2025-11-08 11:30:06 +08:00
var rows = Array.isArray(res.rows) ? res.rows : [];
responseRows = rows;
(0, _deviceRoomOverlay.mergeDeviceRoomOverlayIntoRows)(rows);
if (_this7.pageNum == 1) {
_this7.deviceList = rows;
2025-11-08 11:30:06 +08:00
} else {
_this7.deviceList = _this7.deviceList.concat(rows);
(0, _deviceRoomOverlay.mergeDeviceRoomOverlayIntoRows)(_this7.deviceList);
2025-11-08 11:30:06 +08:00
}
_this7.hasMore = _this7.deviceList.length < _this7.total;
2025-11-08 11:30:06 +08:00
}
}).catch(function () {
// 如果请求失败,使用模拟数据
_this7.updateDeviceList();
2025-11-08 11:30:06 +08:00
}).finally(function () {
_this7.requestInProgress = false;
if (_this7.isRefreshing) {
_this7.isRefreshing = false;
2025-11-08 11:30:06 +08:00
}
_this7._onDeviceListHttpDone(requestPage, responseRows, loadOk);
2025-11-08 11:30:06 +08:00
});
},
// 处理空间变化
handleSpaceChanged: function handleSpaceChanged(payload) {
try {
this.listWsForceFullResync = true;
2025-11-08 11:30:06 +08:00
this.kjid = payload && payload.kjid || uni.getStorageSync('kjid');
this.pageNum = 1;
this.getDeviceList();
} catch (e) {
console.warn('处理空间切换失败:', e);
}
},
// 与本地 storage 中的当前空间 id 对齐,并重新拉设备列表(从设置页改房间返回首页时需刷新 roomName
syncKjidFromStorage: function syncKjidFromStorage() {
var k = uni.getStorageSync('kjid');
if (k !== undefined && k !== null && k !== '') {
this.kjid = k;
}
this.refreshDeviceListFromHome();
},
refreshDeviceListFromHome: function refreshDeviceListFromHome() {
if (!this.kjid) {
var k = uni.getStorageSync('kjid');
if (k !== undefined && k !== null && k !== '') {
this.kjid = k;
}
}
if (!this.kjid) return;
this.pageNum = 1;
this.getDeviceList(true);
},
/** 首页空间切换等场景传入 kjid否则用本地 storage */applySpaceAndRefresh: function applySpaceAndRefresh(kjid) {
var k = kjid !== undefined && kjid !== null && kjid !== '' ? kjid : uni.getStorageSync('kjid');
if (k !== undefined && k !== null && k !== '') {
this.kjid = k;
}
this.refreshDeviceListFromHome();
},
onRefreshDeviceData: function onRefreshDeviceData(payload) {
var kjid = payload && payload.kjid;
this.applySpaceAndRefresh(kjid);
},
2025-11-08 11:30:06 +08:00
// 上拉加载更多
handqixing: function handqixing() {
if (!this.hasMore) return;
this.pageNum += 1;
this.getDeviceList();
},
// 下拉刷新
onRefresh: function onRefresh() {
var _this8 = this;
2025-11-08 11:30:06 +08:00
if (this.isRefreshing || this.requestInProgress) return;
this.isRefreshing = true;
2026-01-15 14:41:50 +08:00
setTimeout(function () {
_this8.listWsForceFullResync = true;
_this8.pageNum = 1;
_this8.getDeviceList();
2026-01-15 14:41:50 +08:00
}, 1000);
2025-11-08 11:30:06 +08:00
},
handleLanguageChange: function handleLanguageChange(lang) {
console.log('设备页面语言切换事件:', lang);
this.updateDeviceList();
},
updateDeviceList: function updateDeviceList() {
console.log('更新设备列表');
// 强制更新组件
this.$forceUpdate();
},
// 点击设备跳转到详情
handleDeviceClick: function handleDeviceClick(device) {
2025-12-20 14:35:59 +08:00
console.log(device);
2025-11-08 11:30:06 +08:00
if (device.productType == 'HUB') {
2025-12-20 14:35:59 +08:00
//hub
2025-11-08 11:30:06 +08:00
uni.navigateTo({
2025-12-20 14:35:59 +08:00
url: '/subpackage/device/devicexq?id=' + device.id + '&mac=' + device.mac
2025-11-08 11:30:06 +08:00
});
} else if (device.productType == 'FIRE') {
2025-12-20 14:35:59 +08:00
//烟感
2025-11-08 11:30:06 +08:00
uni.navigateTo({
2025-12-20 14:35:59 +08:00
url: '/pages/device/yangan?id=' + device.id + '&mac=' + device.mac
2025-11-08 11:30:06 +08:00
});
} else if (device.productType == 'DOOR') {
2025-12-20 14:35:59 +08:00
//门磁
2025-11-08 11:30:06 +08:00
uni.navigateTo({
url: '/pages/device/mcgydevice?id=' + device.id
});
2025-12-20 14:35:59 +08:00
} else if (device.productType == 'INFRARED') {
//人体红外传感器
uni.navigateTo({
url: '/subpackage/device/rentiredwai/index?id=' + device.id
});
} else if (device.productType == 'CONTROL') {
//遥控器
uni.navigateTo({
url: '/subpackage/device/yaokongqi/index?id=' + device.id + '&mac=' + device.mac
});
} else if (device.productType == 'GLASS') {
//玻璃破碎传感器
uni.navigateTo({
url: '/subpackage/device/boligan/index?id=' + device.id
});
} else if (device.productType == 'WATER') {
//水浸传感器
uni.navigateTo({
url: '/subpackage/device/shuiqinganying/index?id=' + device.id
});
2026-03-26 17:46:35 +08:00
} else if (device.productType == 'RELAY') {
//继电器
uni.navigateTo({
url: '/pages/device/jidianqi/index?id=' + device.id
});
} else if (device.productType == 'SIREN') {
//警笛
uni.navigateTo({
url: '/pages/device/jingdi/index?id=' + device.id
});
} else if (device.productType == 'KEY_BOARD') {
//键盘
uni.navigateTo({
url: '/pages/device/jianpan/index?id=' + device.id
});
2025-11-08 11:30:06 +08:00
}
},
// 点击添加设备:依次校验 空间 → 房间 → 是否已绑定 HUB未满足时用弹窗说明下一步取消 / 确定)
2025-11-08 11:30:06 +08:00
handleAddDevice: function handleAddDevice() {
var _this9 = this;
var t = function t(k) {
return _this9.$i18n && _this9.$i18n.t ? _this9.$i18n.t(k) : k;
};
var showOnboardingModal = function showOnboardingModal(contentKey, url) {
uni.showModal({
title: t('onboardingHintTitle'),
content: t(contentKey),
cancelText: t('cancel'),
confirmText: t('confirm'),
success: function success(res) {
if (res.confirm) {
uni.navigateTo({
url: url
});
}
}
});
};
var proceedWithSpace = function proceedWithSpace(kjid) {
_this9.kjid = kjid;
uni.setStorageSync('kjid', kjid);
_this9.$http.get("/bst/room/list?spaceId=".concat(kjid, "&pageNum=1&pageSize=999")).then(function (roomRes) {
// 与全局其它接口一致使用 == 200后端可能返回字符串 "200",用 !== 会误判失败
if (roomRes.code != 200) {
uni.showToast({
title: roomRes.msg || t('error'),
icon: 'none'
2025-11-08 11:30:06 +08:00
});
return;
}
var roomRows = Array.isArray(roomRes.rows) ? roomRes.rows : Array.isArray(roomRes.data) ? roomRes.data : Array.isArray(roomRes.records) ? roomRes.records : [];
var totalNum = roomRes.total !== undefined && roomRes.total !== null && roomRes.total !== '' ? Number(roomRes.total) : NaN;
var hasRooms = roomRows.length > 0 || !Number.isNaN(totalNum) && totalNum > 0;
if (!hasRooms) {
showOnboardingModal('onboardingNeedRoom', '/pages/room/addroom');
return;
}
_this9.$http.get("/bst/device/list?spaceId=".concat(kjid, "&pageNum=1&pageSize=").concat(_this9.pageSize)).then(function (devRes) {
if (devRes.code != 200) {
uni.showToast({
title: devRes.msg || t('error'),
icon: 'none'
});
return;
}
var rows = Array.isArray(devRes.rows) ? devRes.rows : [];
var hasHub = rows.some(function (d) {
return d.productType === 'HUB';
});
if (!hasHub) {
showOnboardingModal('onboardingNeedHub', '/pages/device/addhub');
return;
}
2025-11-25 09:17:34 +08:00
uni.navigateTo({
url: '/subpackage/device/adddevice'
2025-11-25 09:17:34 +08:00
});
});
});
};
// 优先使用 storage首页 onShow 会刷新空间并写入 kjid组件内 this.kjid 可能未同步
var kjid = uni.getStorageSync('kjid') || this.kjid;
if (!kjid) {
this.$http.get('/bst/space/list?pageNum=1&pageSize=99').then(function (spaceRes) {
if (spaceRes.code == 200 && spaceRes.rows && spaceRes.rows.length > 0) {
kjid = spaceRes.rows[0].id;
uni.setStorageSync('kjid', kjid);
proceedWithSpace(kjid);
} else {
showOnboardingModal('onboardingNeedSpace', '/pages/kongjian/index');
2025-11-08 11:30:06 +08:00
}
});
return;
}
proceedWithSpace(kjid);
2025-11-08 11:30:06 +08:00
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 624:
2025-11-08 11:30:06 +08:00
/*!********************************************************************************************************************************!*\
!*** F:///congming_huose-apk/common/components/DeviceTab.vue?vue&type=style&index=0&id=52fa3be8&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_DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_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!./DeviceTab.vue?vue&type=style&index=0&id=52fa3be8&lang=scss&scoped=true& */ 625);
2025-11-08 11:30:06 +08:00
/* 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_DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_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_DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_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_DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_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_DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_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_DeviceTab_vue_vue_type_style_index_0_id_52fa3be8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 625:
2025-11-08 11:30:06 +08:00
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./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/DeviceTab.vue?vue&type=style&index=0&id=52fa3be8&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/DeviceTab.js.map
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'common/components/DeviceTab-create-component',
{
'common/components/DeviceTab-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('2')['createComponent'](__webpack_require__(619))
2025-11-08 11:30:06 +08:00
})
},
[['common/components/DeviceTab-create-component']]
]);