From 85a15646ffe20ed2bbb2042ec500df8c850a69cc Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期五, 25 七月 2025 15:29:41 +0800
Subject: [PATCH] 首次提交
---
packageA/pages/index/index.vue | 0
package-lock.json | 496 ++++++---
packageA/static/image/pic_gz.jpg | 0
mqtt/MqttView.vue | 32
private.wxe6f8a31c3df63a20.key | 27
packageA/pages/me/video.vue | 0
packageA/static/image/pic_gzj.jpg | 0
App.vue | 16
common/constant.js | 15
packageA/pages/me/control.vue | 0
packageA/pages/charts/charts.vue | 0
packageA/pages/login/switchMode.vue | 0
pages/tabBar/warning-new.vue | 267 +++++
packageA/pages/category/formulaDetail.vue | 0
pages/tabBar/general.vue | 10
packageA/pages/device/control.vue | 969 ++++++++++++++++++++
packageA/static/image/zcy_equipment_run.gif | 0
pages/tabBar/me.vue | 6
pages/login/login.vue | 10
packageA/pages/me/analy.vue | 2
packageA/static/image/ganzaoji-x.png | 0
pages/tabBar/formula.vue | 2
pages.json | 257 ++--
pages/tabBar/device.vue | 375 +++++++
packageA/static/.DS_Store | 0
common/api.js | 11
packageA/pages/analy/analyList.vue | 0
pages/tabBar/components/equList.vue | 224 ++++
pages/tabBar/warning.vue | 25
/dev/null | 27
manifest.json | 14
pages/tabBar/components/realWarning.vue | 7
package.json | 2
packageA/static/image/zcy_gzj1.png | 0
34 files changed, 2,358 insertions(+), 436 deletions(-)
diff --git a/App.vue b/App.vue
index 5fa7395..efd3631 100644
--- a/App.vue
+++ b/App.vue
@@ -33,16 +33,16 @@
//鎺ㄩ�佷粎鏀寔Android ios鍘熺敓骞冲彴
// #ifdef APP-PLUS
// 姝ゅ涓簎nipush1.0鐨勬帹閫佹柟娉�
- plus.push.getClientInfoAsync((info) => {
- let cid = info["clientid"];
- console.log('瀹㈡埛绔帹閫佹爣璇�:', cid)
- this.$store.dispatch('setClientPushId', cid); // 浣跨敤 action 鏇存柊 cid
+ // plus.push.getClientInfoAsync((info) => {
+ // let cid = info["clientid"];
+ // console.log('瀹㈡埛绔帹閫佹爣璇�:', cid)
+ // this.$store.dispatch('setClientPushId', cid); // 浣跨敤 action 鏇存柊 cid
- });
+ // });
// #endif
- uni.onPushMessage((res) => {
- console.log("鏀跺埌鎺ㄩ�佹秷鎭細", res) //鐩戝惉鎺ㄩ�佹秷鎭�
- })
+ // uni.onPushMessage((res) => {
+ // console.log("鏀跺埌鎺ㄩ�佹秷鎭細", res) //鐩戝惉鎺ㄩ�佹秷鎭�
+ // })
uni.getSystemInfo({
success: function(e) {
diff --git a/common/api.js b/common/api.js
index a405af4..8d4a91f 100644
--- a/common/api.js
+++ b/common/api.js
@@ -1,16 +1,19 @@
import {
fly
-} from '@/common/request/fly.js'
+} from '@/common/request/fly.js'
+const base = "http://192.168.21.3:9999"
+// const base = "https://lanpucloud.cn"
+
//閰嶇疆璇锋眰鍩哄湴鍧�
-fly.config.baseURL = "http://lanpucloud.cn/herb"
+fly.config.baseURL = base + ""
const ip = uni.getStorageSync('lan_ip');
if (ip) {
fly.config.baseURL = "http://" + ip + ":9999"
}
const mqttBaseUrl = "lanpucloud.cn";
-const emqxBaseUrl = "http://" + mqttBaseUrl + ":1883/api/v5"
-
+const emqxBaseUrl = base + ":1883/api/v5";
+
// 娴嬭瘯
function test(params) {
return fly.get('/test/jeecgDemo/queryById', params);
diff --git a/common/constant.js b/common/constant.js
index 1b56fee..0424dc2 100644
--- a/common/constant.js
+++ b/common/constant.js
@@ -12,8 +12,8 @@
//瑙f瀽鏃秂qu鏇挎崲鎴愮湡瀹炶澶囧敮涓�鏍囪瘑
//涓嬭鎸囦护鍓嶇紑
const SERVICE_DOWN = "service/down/res"
-//璇锋眰鏌ヨ璁惧鐘舵��
-const SERVICE_RES_EQU_STATU = SERVICE_DOWN + "/equ/statu"
+//鏌ヨ璁惧鐘舵�佸搷搴� 锛�%s-璇锋眰瀹㈡埛绔痠d锛�
+const SERVICE_RES_EQU_STATU = SERVICE_DOWN + "/equ/statu/%s"
//鎺ユ敹鎸囦护鍝嶅簲
const SERVICE_RES_EQU_CMD = SERVICE_DOWN + "/equ/cmd";
@@ -33,7 +33,12 @@
const SERVICE_BROADCAST_TENANT_REAL_FAULT = SERVICE_BROADCAST + "/real/fault/%s"
-const SERVICE_ONECE_TENANT_REAL_FAULT = "service/onece" + "/real/fault/%s"
+const SERVICE_ONECE_TENANT_REAL_FAULT = "service/onece" + "/real/fault/%s"
+
+// 鏈嶅姟绔�氱煡鏇存柊骞茬嚗鏈鸿繛鎺ョ姸鎬�
+const SERVICE_BROADCAST_TENANT_UPDATE_EQU_STATU = SERVICE_BROADCAST + "/update/equ/statu/%s"
+// 鏈嶅姟绔悜绉诲姩绔帹閫佸疄鏃舵暟鎹�
+const SERVICE_BROADCAST_TENANT_REAL_DATA = SERVICE_BROADCAST + "/real/data/%s"
@@ -55,7 +60,9 @@
SERVICE_RES_EQU_CMD,
SERVICE_BROADCAST_TENANT_REAL_FAULT,
- SERVICE_ONECE_TENANT_REAL_FAULT,
+ SERVICE_ONECE_TENANT_REAL_FAULT,
+ SERVICE_BROADCAST_TENANT_UPDATE_EQU_STATU,
+ SERVICE_BROADCAST_TENANT_REAL_DATA,
MQTT_TOPIC_MESSAGE,
diff --git a/dryuniapp.keystore b/dryuniapp.keystore
deleted file mode 100644
index d106ac7..0000000
--- a/dryuniapp.keystore
+++ /dev/null
Binary files differ
diff --git a/manifest.json b/manifest.json
index 1a80dc6..e251635 100644
--- a/manifest.json
+++ b/manifest.json
@@ -18,9 +18,7 @@
"delay" : 0
},
/* 妯″潡閰嶇疆 */
- "modules" : {
- "Push" : {}
- },
+ "modules" : {},
/* 搴旂敤鍙戝竷淇℃伅 */
"distribute" : {
/* android鎵撳寘閰嶇疆 */
@@ -55,11 +53,7 @@
"unipush" : {
"icons" : {
"small" : {
- "ldpi" : "static/logo.png",
- "mdpi" : "static/logo.png",
- "hdpi" : "static/logo.png",
- "xhdpi" : "static/logo.png",
- "xxhdpi" : "static/logo.png"
+ "hdpi" : "static/logo.png"
}
}
}
@@ -120,12 +114,14 @@
"minified" : true
},
"usingComponents" : true,
+ "lazyCodeLoading" : "requiredComponents", // 鍚敤鎸夐渶娉ㄥ叆
"unipush" : {
"enable" : false
},
"optimization" : {
"subPackages" : true
- }
+ },
+ "runmode" : "liberate"
},
"mp-alipay" : {
"usingComponents" : true
diff --git a/mqtt/MqttView.vue b/mqtt/MqttView.vue
index 94f4b88..2d6c7d4 100644
--- a/mqtt/MqttView.vue
+++ b/mqtt/MqttView.vue
@@ -41,10 +41,13 @@
}
let opts = {
// #ifdef H5
- url: 'ws://' + this.$api.mqttBaseUrl + ':8083/mqtt',
+ url: 'wss://' + this.$api.mqttBaseUrl + ':8084/mqtt',
// #endif
- // #ifdef APP-PLUS
- url: 'wx://' + this.$api.mqttBaseUrl + ':8083/mqtt',
+ // #ifdef MP-WEIXIN
+ url: 'wxs://' + this.$api.mqttBaseUrl + ':8084/mqtt',// 寰俊灏忕▼搴忓己鍒� WSS
+ // #endif
+ // #ifdef APP-PLUS
+ url: 'wxs://' + this.$api.mqttBaseUrl + ':8084/mqtt', // Android/iOS 鐢ㄦ櫘閫� WebSocket
// #endif
clientId: deviceid,
username: account.username,
@@ -76,6 +79,29 @@
}).then(res => {
console.error(res)
})
+
+ //璁㈤槄骞茬嚗璁惧杩炴帴鏂紑鐘舵�佹洿鏂�-绉熸埛鍐呮墍鏈夎澶�
+ this.$mqttTool.subscribe({
+ topic: this.$constant.SERVICE_BROADCAST_TENANT_UPDATE_EQU_STATU.replace('%s', this.tenantId),
+ qos: 0
+ }).then(res => {
+ console.error(res)
+ })
+ //璁㈤槄鏌ヨ骞茬嚗璁惧杩炴帴鐘舵��-鍗曚釜璁惧
+ this.$mqttTool.subscribe({
+ topic: this.$constant.SERVICE_RES_EQU_STATU.replace('%s', deviceid),
+ qos: 0
+ }).then(res => {
+ console.error(res)
+ })
+
+ //璁㈤槄骞茬嚗璁惧瀹炴椂鏁版嵁
+ this.$mqttTool.subscribe({
+ topic: this.$constant.SERVICE_BROADCAST_TENANT_REAL_DATA.replace('%s', this.tenantId),
+ qos: 0
+ }).then(res => {
+ console.error(res)
+ })
//璁㈤槄鍙戦�佹寚浠よ繑鍥炵粨鏋�
// this.$mqttTool.subscribe({
diff --git a/package-lock.json b/package-lock.json
index 9122012..a12a0e5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -59,14 +59,12 @@
"node_modules/async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "license": "MIT"
+ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "license": "MIT"
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/base64-js": {
"version": "1.5.1",
@@ -85,39 +83,22 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ],
- "license": "MIT"
+ ]
},
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "license": "MIT",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
- "node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "license": "MIT",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -141,7 +122,6 @@
"url": "https://feross.org/support"
}
],
- "license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
@@ -150,17 +130,42 @@
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "license": "MIT"
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
},
"node_modules/callback-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/callback-stream/-/callback-stream-1.1.0.tgz",
"integrity": "sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==",
- "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"readable-stream": "> 1.0.0 < 3.0.0"
+ }
+ },
+ "node_modules/callback-stream/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/callback-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/callback-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
}
},
"node_modules/commander": {
@@ -176,7 +181,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/commist/-/commist-1.1.0.tgz",
"integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==",
- "license": "MIT",
"dependencies": {
"leven": "^2.1.0",
"minimist": "^1.1.0"
@@ -185,8 +189,7 @@
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "license": "MIT"
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"node_modules/concat-stream": {
"version": "1.6.2",
@@ -195,7 +198,6 @@
"engines": [
"node >= 0.8"
],
- "license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
@@ -203,17 +205,42 @@
"typedarray": "^0.0.6"
}
},
+ "node_modules/concat-stream/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/concat-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/concat-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "license": "MIT"
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/d": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.2.tgz",
"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
- "license": "ISC",
"dependencies": {
"es5-ext": "^0.10.64",
"type": "^2.7.2"
@@ -235,10 +262,9 @@
"dev": true
},
"node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "license": "MIT",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"dependencies": {
"ms": "^2.1.3"
},
@@ -261,7 +287,6 @@
"version": "3.7.1",
"resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz",
"integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
- "license": "MIT",
"dependencies": {
"end-of-stream": "^1.0.0",
"inherits": "^2.0.1",
@@ -269,11 +294,37 @@
"stream-shift": "^1.0.0"
}
},
+ "node_modules/duplexify/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/duplexify/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/duplexify/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
"node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "license": "MIT",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz",
+ "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
"dependencies": {
"once": "^1.4.0"
}
@@ -283,7 +334,6 @@
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz",
"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"hasInstallScript": true,
- "license": "ISC",
"dependencies": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
@@ -298,7 +348,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "license": "MIT",
"dependencies": {
"d": "1",
"es5-ext": "^0.10.35",
@@ -309,7 +358,6 @@
"version": "0.1.5",
"resolved": "https://registry.npmmirror.com/es6-map/-/es6-map-0.1.5.tgz",
"integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==",
- "license": "MIT",
"dependencies": {
"d": "1",
"es5-ext": "~0.10.14",
@@ -323,7 +371,6 @@
"version": "0.1.6",
"resolved": "https://registry.npmmirror.com/es6-set/-/es6-set-0.1.6.tgz",
"integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==",
- "license": "ISC",
"dependencies": {
"d": "^1.0.1",
"es5-ext": "^0.10.62",
@@ -340,7 +387,6 @@
"version": "3.1.4",
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz",
"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
- "license": "ISC",
"dependencies": {
"d": "^1.0.2",
"ext": "^1.7.0"
@@ -365,7 +411,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz",
"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
- "license": "ISC",
"dependencies": {
"d": "^1.0.1",
"es5-ext": "^0.10.62",
@@ -380,7 +425,6 @@
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
- "license": "MIT",
"dependencies": {
"d": "1",
"es5-ext": "~0.10.14"
@@ -390,7 +434,6 @@
"version": "1.7.0",
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "license": "ISC",
"dependencies": {
"type": "^2.7.2"
}
@@ -398,21 +441,18 @@
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "license": "MIT"
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "license": "ISC"
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
- "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -432,7 +472,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
- "license": "ISC",
"dependencies": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
@@ -442,7 +481,6 @@
"version": "6.1.0",
"resolved": "https://registry.npmmirror.com/glob-stream/-/glob-stream-6.1.0.tgz",
"integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==",
- "license": "MIT",
"dependencies": {
"extend": "^3.0.0",
"glob": "^7.1.1",
@@ -457,6 +495,33 @@
},
"engines": {
"node": ">= 0.10"
+ }
+ },
+ "node_modules/glob-stream/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/glob-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/glob-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
}
},
"node_modules/gzip-size": {
@@ -478,7 +543,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/help-me/-/help-me-1.1.0.tgz",
"integrity": "sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==",
- "license": "MIT",
"dependencies": {
"callback-stream": "^1.0.2",
"glob-stream": "^6.1.0",
@@ -509,15 +573,13 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ],
- "license": "BSD-3-Clause"
+ ]
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -526,14 +588,12 @@
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "license": "ISC"
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz",
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
- "license": "MIT",
"dependencies": {
"is-relative": "^1.0.0",
"is-windows": "^1.0.1"
@@ -546,7 +606,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -555,7 +614,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
- "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.0"
},
@@ -567,7 +625,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
"integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==",
- "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -576,7 +633,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz",
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
- "license": "MIT",
"dependencies": {
"is-unc-path": "^1.0.0"
},
@@ -588,7 +644,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz",
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
- "license": "MIT",
"dependencies": {
"unc-path-regex": "^0.1.2"
},
@@ -600,7 +655,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -608,20 +662,17 @@
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "license": "MIT"
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "license": "MIT"
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
},
"node_modules/leven": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/leven/-/leven-2.1.0.tgz",
"integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==",
- "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -635,7 +686,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -647,7 +697,6 @@
"version": "1.2.8",
"resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -656,7 +705,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/mqtt/-/mqtt-3.0.0.tgz",
"integrity": "sha512-0nKV6MAc1ibKZwaZQUTb3iIdT4NVpj541BsYrqrGBcQdQ7Jd0MnZD1/6/nj1UFdGTboK9ZEUXvkCu2nPCugHFA==",
- "license": "MIT",
"dependencies": {
"base64-js": "^1.3.0",
"commist": "^1.0.0",
@@ -687,11 +735,37 @@
"version": "6.10.0",
"resolved": "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz",
"integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==",
- "license": "MIT",
"dependencies": {
"bl": "^4.0.2",
"debug": "^4.1.1",
"process-nextick-args": "^2.0.1"
+ }
+ },
+ "node_modules/mqtt/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/mqtt/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/mqtt/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
}
},
"node_modules/mrmime": {
@@ -706,20 +780,17 @@
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
- "license": "ISC"
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "license": "ISC",
"dependencies": {
"wrappy": "1"
}
@@ -737,22 +808,46 @@
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
"integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==",
- "license": "MIT",
"dependencies": {
"readable-stream": "^2.0.1"
+ }
+ },
+ "node_modules/ordered-read-streams/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/ordered-read-streams/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/ordered-read-streams/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
}
},
"node_modules/path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
- "license": "MIT"
+ "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q=="
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -766,14 +861,12 @@
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "license": "MIT"
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"node_modules/pump": {
- "version": "3.0.2",
- "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.2.tgz",
- "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
- "license": "MIT",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.3.tgz",
+ "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -783,7 +876,6 @@
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz",
"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "license": "MIT",
"dependencies": {
"duplexify": "^3.6.0",
"inherits": "^2.0.3",
@@ -794,44 +886,52 @@
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz",
"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "license": "MIT",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/reinterval": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/reinterval/-/reinterval-1.1.0.tgz",
- "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==",
- "license": "MIT"
+ "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ=="
},
"node_modules/remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
- "license": "ISC"
+ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw=="
},
"node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "license": "MIT"
+ "version": "5.2.1",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
},
"node_modules/sirv": {
"version": "2.0.4",
@@ -851,45 +951,27 @@
"version": "3.2.2",
"resolved": "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz",
"integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
- "license": "ISC",
"dependencies": {
"readable-stream": "^3.0.0"
- }
- },
- "node_modules/split2/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
}
},
"node_modules/stream-shift": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.3.tgz",
- "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
- "license": "MIT"
+ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ=="
},
"node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "license": "MIT",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/through2": {
"version": "2.0.5",
"resolved": "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz",
"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "license": "MIT",
"dependencies": {
"readable-stream": "~2.3.6",
"xtend": "~4.0.1"
@@ -899,17 +981,42 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/through2-filter/-/through2-filter-3.0.0.tgz",
"integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
- "license": "MIT",
"dependencies": {
"through2": "~2.0.0",
"xtend": "~4.0.0"
+ }
+ },
+ "node_modules/through2/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/through2/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
}
},
"node_modules/to-absolute-glob": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
"integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==",
- "license": "MIT",
"dependencies": {
"is-absolute": "^1.0.0",
"is-negated-glob": "^1.0.0"
@@ -930,26 +1037,22 @@
"node_modules/type": {
"version": "2.7.3",
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz",
- "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
- "license": "ISC"
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ=="
},
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
- "license": "MIT"
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/ultron": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "license": "MIT"
+ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
},
"node_modules/unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
- "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -958,7 +1061,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/unique-stream/-/unique-stream-2.3.1.tgz",
"integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
- "license": "MIT",
"dependencies": {
"json-stable-stringify-without-jsonify": "^1.0.1",
"through2-filter": "^3.0.0"
@@ -967,8 +1069,7 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "license": "MIT"
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/webpack-bundle-analyzer": {
"version": "4.10.2",
@@ -996,7 +1097,62 @@
"node": ">= 10.13.0"
}
},
- "node_modules/webpack-bundle-analyzer/node_modules/ws": {
+ "node_modules/websocket-stream": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmmirror.com/websocket-stream/-/websocket-stream-5.5.2.tgz",
+ "integrity": "sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==",
+ "dependencies": {
+ "duplexify": "^3.5.1",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.3",
+ "safe-buffer": "^5.1.2",
+ "ws": "^3.2.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "node_modules/websocket-stream/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/websocket-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/websocket-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/websocket-stream/node_modules/ws": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmmirror.com/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "dependencies": {
+ "async-limiter": "~1.0.0",
+ "safe-buffer": "~5.1.0",
+ "ultron": "~1.1.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/ws": {
"version": "7.5.10",
"resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz",
"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
@@ -1017,42 +1173,10 @@
}
}
},
- "node_modules/websocket-stream": {
- "version": "5.5.2",
- "resolved": "https://registry.npmmirror.com/websocket-stream/-/websocket-stream-5.5.2.tgz",
- "integrity": "sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==",
- "license": "BSD-2-Clause",
- "dependencies": {
- "duplexify": "^3.5.1",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.3",
- "safe-buffer": "^5.1.2",
- "ws": "^3.2.0",
- "xtend": "^4.0.0"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "license": "ISC"
- },
- "node_modules/ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmmirror.com/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "license": "MIT",
- "dependencies": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- },
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "license": "MIT",
"engines": {
"node": ">=0.4"
}
diff --git a/package.json b/package.json
index edce636..59f3e66 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
"license": "ISC",
"dependencies": {
"dayjs": "^1.11.10",
- "lodash.get": "^4.4.2",
+ "lodash.get": "^4.4.2",
"mqtt": "^3.0.0"
},
"devDependencies": {
diff --git a/pages/analy/analyList.vue b/packageA/pages/analy/analyList.vue
similarity index 100%
rename from pages/analy/analyList.vue
rename to packageA/pages/analy/analyList.vue
diff --git a/pages/category/formulaDetail.vue b/packageA/pages/category/formulaDetail.vue
similarity index 100%
rename from pages/category/formulaDetail.vue
rename to packageA/pages/category/formulaDetail.vue
diff --git a/pages/charts/charts.vue b/packageA/pages/charts/charts.vue
similarity index 100%
rename from pages/charts/charts.vue
rename to packageA/pages/charts/charts.vue
diff --git a/packageA/pages/device/control.vue b/packageA/pages/device/control.vue
new file mode 100644
index 0000000..94449b8
--- /dev/null
+++ b/packageA/pages/device/control.vue
@@ -0,0 +1,969 @@
+<template>
+ <view class="container">
+
+ <cu-custom bgColor="bg-gradual-blue" :isBack="true">
+ <block slot="content">{{option.name}}</block>
+ </cu-custom>
+ <view class="uni-padding-wrap">
+ <!-- <view class="page-section swiper">
+ <view class="page-section-spacing">
+ <swiper class="swiper" style="height: 450rpx;" circular="true" indicator-dots="true" autoplay="true"
+ interval="3500" duration="600">
+ <swiper-item class="swiper-list" v-for="(item, index) in bannerList" :key="index">
+ <view class="swiper-item uni-bg-red">
+ <image class="swiper-img" :src="item.imageUrl" mode="aspectFit"></image>
+ </view>
+ </swiper-item>
+ </swiper>
+
+ </view>
+ </view> -->
+
+ <view class="fault-box">
+
+ <image style="width: 100%;border-radius: 20rpx; " src="../../../packageA/static/image/ganzaoji-x.png"
+ mode="aspectFit">
+ </image>
+
+
+ <view class="fault-inner">
+ <view class="fault-info" v-for="(item,index) in realFaults" :style="{
+ position: 'absolute',
+ top: item.position.top + 'rpx',
+ left: item.position.left + 'rpx',
+ fontSize: '24rpx'
+ }">
+ <view :class="['fault-animal', item.type === 1 ? 'fault-marker' : 'warn-marker']"></view>
+ <view :class="['fault-tag', item.type === 1 ? 'fault-text' : 'warn-text']">{{item.name}}</view>
+ </view>
+ </view>
+ </view>
+
+ </view>
+
+ <!-- 鍙�氳繃璁剧疆bar-animate-mode="worm"寮�鍚瘺姣涜櫕妯″紡-->
+ <z-tabs ref="tabs" :current="swiperCurrent" :list="swiperList" @change="tabsChange"></z-tabs>
+ <swiper class="custom-swiper" :current="swiperCurrent" @transition="swiperTransition"
+ @animationfinish="swiperAnimationfinish">
+ <swiper-item :key="0">
+ <view class="swiper-item-view">
+ <uni-section title="璁惧淇℃伅" type="line">
+ <text class="text-bold text-black"></text>
+ <view class="h-table">
+ <view class="h-tr h-tr-2 h-thead">
+ <view class="h-td">璁惧鐘舵��</view>
+ <view class="h-td">杩愯鐘舵��</view>
+ <view class="h-td">鏆傚仠鏍囧織</view>
+ <view class="h-td">娓╁害杩囦綆</view>
+
+ </view>
+ <view class="h-tr h-tr-2">
+ <view class="h-td">
+ <u-tag v-if="model.connected" size="mini" text="鍦ㄧ嚎" type="success" plain
+ plainFill></u-tag>
+ <u-tag v-else size="mini" text="绂荤嚎" type="error" plain plainFill></u-tag>
+ </view>
+ <view class="h-td">
+
+ <template>
+ <u-tag size="mini" :text="$lget(model,'level')" plain plainFill></u-tag>
+ </template>
+ </view>
+ <view class="h-td">{{ model.stop ? '鏄�':'鍚�'}}</view>
+ <view class="h-td">{{ model.lowalarm ? '浣�':'姝e父'}}</view>
+ </view>
+ </view>
+ <view class="h-table">
+ <view class="h-tr h-tr-2 h-thead">
+ <view class="h-td">鐑</view>
+ <view class="h-td">娓╁害</view>
+ <view class="h-td">鐢佃兘</view>
+ <view class="h-td">钂告苯</view>
+
+ </view>
+ <view class="h-tr h-tr-2">
+ <view class="h-td">{{model.wind ? '寮�' : '鍏�'}}</view>
+ <view class="h-td">{{$lget(model,'temp2')}}%</view>
+ <view class="h-td">{{$lget(model,'watt')}}kW路h</view>
+ <view class="h-td">{{$lget(model,'steam')}}m鲁</view>
+ </view>
+ </view>
+ </uni-section>
+
+ <uni-section title="鑽潗淇℃伅" type="line" class="margin-top-sm">
+ <text class="text-bold text-black"></text>
+ <view class="h-table">
+ <view class="h-tr h-tr-2 h-thead">
+ <view class="h-td">鐗╂枡</view>
+ <view class="h-td">鎶曟枡閲�</view>
+ <view class="h-td">鍒濆閲嶉噺</view>
+ <view class="h-td">瀹炴椂閲嶉噺</view>
+
+ </view>
+ <view class="h-tr h-tr-2">
+ <view class="h-td">{{$lget(model,'name')}}</view>
+ <view class="h-td">{{$lget(model,'weight1')}}绛�
+ </view>
+ <view class="h-td">{{$lget(model,'weight2') }}kg
+ </view>
+ <view class="h-td">{{$lget(model,'weight3')}}kg</view>
+ </view>
+ </view>
+ <view class="h-table">
+ <view class="h-tr h-tr-2 h-thead">
+ <view class="h-td"> </view>
+ <view class="h-td">鍒濆鍚按鐜�</view>
+ <view class="h-td">褰撳墠鍚按鐜�</view>
+ <view class="h-td">鐩爣鍚按鐜�</view>
+
+ </view>
+ <view class="h-tr h-tr-2">
+ <view class="h-td"> </view>
+ <view class="h-td">{{$lget(model,'moisture1')}}%
+ </view>
+ <view class="h-td">{{$lget(model,'moisture2') }}%
+ </view>
+ <view class="h-td">{{$lget(model,'moisture3')}}%</view>
+ </view>
+ </view>
+ </uni-section>
+
+
+
+ <uni-section title="杩涘害淇℃伅" type="line" class="margin-top-sm">
+ <text class="text-bold text-black"></text>
+ <view class="h-table">
+ <view class="h-tr h-tr-2 h-thead">
+ <view class="h-td">鏃堕棿璁惧畾鍊�</view>
+ <view class="h-td">鏃堕棿璁℃暟</view>
+ <view class="h-td">鎬绘椂闂�</view>
+ </view>
+ <view class="h-tr h-tr-2">
+ <view class="h-td">{{$lget(model,'time1')}}min</view>
+ <view class="h-td">{{$lget(model,'time2')}}</view>
+ <view class="h-td">{{$lget(model,'time3')}}min</view>
+ </view>
+ </view>
+ <view class="h-table">
+ <view class="h-tr h-tr-2 h-thead">
+ <view class="h-td">缈绘枡娆℃暟</view>
+ <view class="h-td">闃舵棰勬祴鏃堕棿</view>
+ <view class="h-td">棰勬祴鍓╀綑鎬绘椂闂�</view>
+ </view>
+ <view class="h-tr h-tr-2">
+ <view class="h-td">{{$lget(model,'turntime')}}</view>
+ <view class="h-td">{{$lget(model,'ai_time')}}min</view>
+ <view class="h-td">{{$lget(model,'ai_total_time')}}min</view>
+ </view>
+ </view>
+ </uni-section>
+ </view>
+ </swiper-item>
+ <swiper-item :key="1">
+ <uni-section title="鎸囦护" type="line">
+ <view class="flex justify-center padding-lg bg-white">
+ <view class="margin-right-sm">
+ <u-button :disabled="model.connected" text="寮�鏈�" type="success"
+ @click="$u.throttle(showModal(1), 500)"></u-button>
+ </view>
+ <view class="margin-left-sm">
+ <u-button :disabled="!model.connected" text="鍏虫満" type="error"
+ @click="$u.throttle(showModal(2), 500)"></u-button>
+ </view>
+
+
+ </view>
+ </uni-section>
+
+
+ <uni-section title="鎺у埗鍙�" type="line" class="margin-top-sm ">
+ <view class="padding-left-sm padding-right-sm padding-bottom-sm">
+ <view class="text-sm text-gray" :class="{'margin-top-sm':index>0}"
+ v-for="(log,index) in logList">{{log}}</view>
+ <!-- <view class="text-sm text-gray margin-top-sm">12:00:10: 鍙戦��<寮�鏈�>鎸囦护</view> -->
+ </view>
+
+ </uni-section>
+
+
+
+ </swiper-item>
+ </swiper>
+
+
+ <u-modal :show="show" @confirm="confirm" :showCancelButton="true" @cancel="show=false" ref="uModal"
+ :asyncClose="true">
+
+ <slot>
+ <view style="width: 100%;height:100%;">
+ <view style="color:red">
+ 杩滅▼鎺у埗鎿嶄綔鍙兘瀛樺湪瀹夊叏椋庨櫓锛岃璋ㄦ厧鎿嶄綔
+ </view>
+ <u--input style="width: 100%;" placeholder="璇疯緭鍏ヤ簩绾у畨鍏ㄥ瘑鐮�" border="surround" password
+ clearable></u--input>
+ </view>
+ </slot>
+ </u-modal>
+ </view>
+</template>
+
+<script>
+ import get from 'lodash.get'
+ import dayjs from 'dayjs'
+
+ export default {
+ data() {
+ return {
+ //涓婁釜椤甸潰浼犻�掕繃鏉ョ殑鏁版嵁
+ option: {},
+ //鎿嶄綔鎸囦护log
+ logList: [],
+ //褰撳墠璁惧杩炴帴鐘舵��
+
+ //寮�鍏虫満鎸囦护 1-寮�鏈� 2-鍏虫満
+ cmd: -1,
+ show: false,
+ swiperList: ["鐩戞祴", "鎺у埗"],
+ swiperCurrent: 0,
+
+ notice: "2023-03-1812:00:001鍙锋満鍙颁綆娓╂姤璀�",
+ model: {
+ // 璁惧杩炴帴鐘舵��
+ connected: false,
+ realData: {}
+ },
+ queryParam: {
+ machineid: "",
+ tenantid: null
+ },
+ bannerList: [{
+ imageUrl: '../../static/image/zcy_gzj1.png'
+ }],
+ timer: null,
+ realFaults: [],
+ allFaults: [{
+ id: 1,
+ name: '璁惧鎬ュ仠锛堟�伙級',
+ type: 1,
+ position: {
+ top: 70,
+ left: 230
+ },
+ show: false
+ },
+ {
+ id: 2,
+ name: '宸﹀墠鎬ュ仠',
+ type: 1,
+ position: {
+ top: 100,
+ left: 250
+ },
+ show: false
+ },
+ {
+ id: 3,
+ name: '鍑烘枡鎬ュ仠',
+ type: 1,
+ position: {
+ top: 130,
+ left: 230
+ },
+ show: false
+ },
+ {
+ id: 4,
+ name: '闈㈡澘鎬ュ仠',
+ type: 1,
+ position: {
+ top: 160,
+ left: 250
+ },
+ show: false
+ },
+ {
+ id: 5,
+ name: '椋庣鍗囪秴鏃�',
+ type: 1,
+ position: {
+ top: 190,
+ left: 230
+ },
+ show: false
+ },
+ {
+ id: 6,
+ name: '椋庣闄嶈秴鏃�',
+ type: 1,
+ position: {
+ top: 220,
+ left: 250
+ },
+ show: false
+ },
+ {
+ id: 7,
+ name: '椋庢満杩囨祦',
+ type: 1,
+ position: {
+ top: 250,
+ left: 230
+ },
+ show: false
+ },
+ {
+ id: 8,
+ name: '婊氱瓛鍗囪秴鏃�',
+ type: 1,
+ position: {
+ top: 280,
+ left: 250
+ },
+ show: false
+ },
+ {
+ id: 9,
+ name: '婊氱瓛闄嶈秴鏃�',
+ type: 1,
+ position: {
+ top: 310,
+ left: 230
+ },
+ show: false
+ },
+ {
+ id: 10,
+ name: '婊氱瓛鐢垫満杩囨祦',
+ type: 1,
+ position: {
+ top: 340,
+ left: 250
+ },
+ show: false
+ },
+ {
+ id: 11,
+ name: '娓╁害澶辨帶',
+ type: 1,
+ position: {
+ top: 370,
+ left: 230
+ },
+ show: false
+ },
+
+ {
+ id: 12,
+ name: '宸﹀墠闂ㄦ姤璀�',
+ type: 2,
+ position: {
+ top: 100,
+ left: 0
+ },
+ show: false
+ },
+ {
+ id: 13,
+ name: '宸﹀悗闂ㄦ姤璀�',
+ type: 2,
+ position: {
+ top: 130,
+ left: 20
+ },
+ show: false
+ },
+ {
+ id: 14,
+ name: '鍙冲墠闂ㄦ姤璀�',
+ type: 2,
+ position: {
+ top: 160,
+ left: 0
+ },
+ show: false
+ },
+ {
+ id: 15,
+ name: '鍙冲悗闂ㄦ姤璀�',
+ type: 2,
+ position: {
+ top: 190,
+ left: 20
+ },
+ show: false
+ },
+ {
+ id: 16,
+ name: '婊氱瓛涓嶅湪楂樹綅',
+ type: 2,
+ position: {
+ top: 220,
+ left: 0
+ },
+ show: false
+ },
+ {
+ id: 17,
+ name: '椋庣涓嶅湪楂樹綅',
+ type: 2,
+ position: {
+ top: 250,
+ left: 20
+ },
+ show: false
+ },
+ {
+ id: 18,
+ name: '椋庣涓嶅湪浣庝綅',
+ type: 2,
+ position: {
+ top: 280,
+ left: 0
+ },
+ show: false
+ },
+ {
+ id: 19,
+ name: '鍔犵儹浣嶄紶鎰熷櫒鎶ヨ',
+ type: 2,
+ position: {
+ top: 310,
+ left: 20
+ },
+ show: false
+ },
+ {
+ id: 20,
+ name: '宸﹀墠椋庣楂樹綅',
+ type: 2,
+ position: {
+ top: 340,
+ left: 0
+ },
+ show: false
+ },
+ {
+ id: 21,
+ name: '宸﹀墠椋庣浣庝綅',
+ type: 2,
+ position: {
+ top: 370,
+ left: 20
+ },
+ show: false
+ },
+ {
+ id: 22,
+ name: '宸﹀悗椋庣楂樹綅',
+ type: 2,
+ position: {
+ top: 100,
+ left: 430
+ },
+ show: false
+ },
+ {
+ id: 23,
+ name: '宸﹀悗椋庣浣庝綅',
+ type: 2,
+ position: {
+ top: 130,
+ left: 450
+ },
+ show: false
+ },
+ {
+ id: 24,
+ name: '鍙冲墠椋庣楂樹綅',
+ type: 2,
+ position: {
+ top: 160,
+ left: 430
+ },
+ show: false
+ },
+ {
+ id: 25,
+ name: '鍙冲墠椋庣浣庝綅',
+ type: 2,
+ position: {
+ top: 190,
+ left: 450
+ },
+ show: false
+ },
+ {
+ id: 26,
+ name: '鍙冲悗椋庣楂樹綅',
+ type: 2,
+ position: {
+ top: 220,
+ left: 430
+ },
+ show: false
+ },
+ {
+ id: 27,
+ name: '鍙冲悗椋庣浣庝綅',
+ type: 2,
+ position: {
+ top: 250,
+ left: 450
+ },
+ show: false
+ },
+ {
+ id: 28,
+ name: '宸﹀墠婊氱瓛浣庝綅',
+ type: 2,
+ position: {
+ top: 280,
+ left: 430
+ },
+ show: false
+ },
+ {
+ id: 29,
+ name: '宸﹀悗婊氱瓛浣庝綅',
+ type: 2,
+ position: {
+ top: 310,
+ left: 450
+ },
+ show: false
+ },
+ {
+ id: 30,
+ name: '鍙冲墠婊氱瓛浣庝綅',
+ type: 2,
+ position: {
+ top: 340,
+ left: 430
+ },
+ show: false
+ },
+ {
+ id: 31,
+ name: '鍙冲悗婊氱瓛浣庝綅',
+ type: 2,
+ position: {
+ top: 370,
+ left: 450
+ },
+ show: false
+ },
+ ],
+
+
+
+
+ }
+ },
+ onShow() {
+ console.info("onShow")
+ },
+
+ onLoad(option) {
+ this.initPageData(option);
+
+
+ },
+ onBackPress() {
+
+ },
+ onHide() {
+
+
+ },
+ onUnload() {
+
+ },
+ mounted() {
+ this.queryEquStatu()
+ this.mqttData()
+ this.startTimer()
+ },
+ beforeDestroy() {
+ this.stopTimer()
+ uni.$off(this.$constant.MQTT_TOPIC_MESSAGE)
+ },
+ onReady() {
+
+
+ },
+ methods: {
+ mqttData() {
+ uni.$on(this.$constant.MQTT_TOPIC_MESSAGE, (data) => {
+ try {
+ // 1. 鏁版嵁瑙f瀽鍜岄獙璇�
+ const {
+ data: wdata,
+ topic
+ } = this.parseAndValidateMqttData(data);
+ if (!wdata || !topic) return;
+
+ // 2. 鍑嗗涓婚甯搁噺
+ const topics = this.prepareMqttTopics();
+
+ // 3. 鏇存柊鍒锋柊鏃堕棿
+ this.refreshTime = dayjs().format('HH:mm:ss');
+
+ // 4. 鏍规嵁涓婚澶勭悊鏁版嵁
+ switch (topic) {
+ case topics.updateEquStatu:
+ this.handleEquStatusUpdate(wdata);
+ break;
+ case topics.realData:
+ if (!this.model.connected) {
+ return false
+ }
+ this.mergeMqttRealData(wdata);
+ break;
+ //topic 瀹炴椂鎶ヨ
+ case topics.realFaultTopic:
+ case topics.oneceFaultTopic:
+ if (!this.model.connected) {
+ return false
+ }
+ if (wdata != null && Array.isArray(wdata) && wdata.length != 0) {
+ const realFaultNames = wdata.filter(item => item.tenantId == this.tenantId &&
+ item.equCode == this.option.code).map(item => item.faultName);
+ const realFaults = this.allFaults.filter(item =>
+ realFaultNames.some(name =>
+ name.startsWith(item.name)
+ ))
+ this.realFaults = realFaults
+ }
+
+ break
+ }
+ } catch (error) {
+ console.error('MQTT鏁版嵁澶勭悊閿欒:', error);
+ }
+ });
+ },
+ // 璁惧鏁版嵁鍜宮tqq瀹炴椂鏁版嵁鍚堝苟
+ mergeMqttRealData(mqttData) {
+ const {
+ tenantid,
+ machineid
+ } = mqttData;
+ if (!tenantid || !machineid) return;
+ const key = `${tenantid}_${machineid}`;
+
+ if (tenantid == this.option.tenantid && machineid == this.option.code) {
+ this.model = {
+ ...mqttData,
+ connected: this.model.connected
+ };
+
+ }
+ console.error(this.model)
+
+
+ },
+ handleEquStatusUpdate(wdata) {
+ const isSuccess = wdata?.success ?? false;
+ if (isSuccess) {
+ console.log("鎿嶄綔鎴愬姛");
+ } else {
+ console.log("鎿嶄綔澶辫触鎴栨湭杩斿洖 success 瀛楁");
+ }
+ this.model.connected = isSuccess;
+
+ },
+ startTimer() {
+ this.timer = setInterval(() => {
+ this.queryEquStatu()
+ }, 3000);
+ },
+ stopTimer() {
+ clearInterval(this.timer);
+ },
+ /**
+ * 鍒濆鍖栭〉闈㈡暟鎹�
+ * @param {Object} option - 椤甸潰鍙傛暟
+ */
+ initPageData(option) {
+ const {
+ loginTenantId,
+ username
+ } = this.getUserInfo();
+
+ // 鍚堝苟椤甸潰鍙傛暟鍜岀敤鎴蜂俊鎭�
+ this.option = {
+ ...option,
+ tenantid: loginTenantId,
+ username
+ };
+
+ // 鍒濆鍖栨煡璇㈠弬鏁�
+ this.queryParam = {
+ machineid: option.code,
+ tenantid: loginTenantId
+ };
+ },
+
+ /**
+ * 鑾峰彇鐢ㄦ埛淇℃伅
+ * @returns {Object} 鐢ㄦ埛淇℃伅瀵硅薄
+ */
+ getUserInfo() {
+ try {
+ const userinfo = uni.getStorageSync('userinfo');
+ return {
+ loginTenantId: userinfo?.loginTenantId,
+ username: userinfo?.username
+ };
+ } catch (error) {
+ console.error('鑾峰彇鐢ㄦ埛淇℃伅澶辫触:', error);
+ return {
+ loginTenantId: null,
+ username: null
+ };
+ }
+ },
+ // 杈呭姪鏂规硶锛氳В鏋愬拰楠岃瘉MQTT鏁版嵁
+ parseAndValidateMqttData(data) {
+ try {
+ const json = JSON.parse(data);
+ if (!json?.data || !json?.topic) return {
+ data: null,
+ topic: null
+ };
+ return {
+ data: json.data,
+ topic: json.topic
+ };
+ } catch (e) {
+ return {
+ data: null,
+ topic: null
+ };
+ }
+ },
+ // 杈呭姪鏂规硶锛氬噯澶嘙QTT涓婚
+ prepareMqttTopics() {
+ return {
+ updateEquStatu: this.$constant.SERVICE_RES_EQU_STATU
+ .replace('%s', this.deviceId),
+ realData: this.$constant.SERVICE_BROADCAST_TENANT_REAL_DATA
+ .replace('%s', this.tenantId),
+ realFaultTopic: this.$constant.SERVICE_BROADCAST_TENANT_REAL_FAULT
+ .replace('%s', this.tenantId),
+ oneceFaultTopic: this.$constant.SERVICE_ONECE_TENANT_REAL_FAULT.replace('%s', this
+ .deviceId)
+ };
+ },
+ //MQTT
+ queryEquStatu() {
+
+ //1.鏌ヨ璁惧瀹炴椂鐘舵��
+ const message = {
+ clientId: this.option.clientId,
+ timestamp: new Date(),
+ req: this.deviceId
+ }
+ let opts = {
+ topic: this.$constant.MOBILE_QUERY_EQU_STATU,
+ message: JSON.stringify(message),
+ }
+
+ this.$mqttTool.publish(opts).then(res => {
+ console.error(res)
+ })
+
+ },
+
+ sendEquCmd() {
+ //娣诲姞log
+ let log = this.getCurrentTime() + '鍙戦��' + (this.cmd == 1 ? "锛氥�婂紑鏈恒��" : "锛氥�婂叧鏈恒��") + '鎸囦护';
+ this.logList.push(log)
+
+ //1.鍙戦�佸紑鍏虫満鎸囦护 1-寮�鏈� 2-鍏虫満
+ const message = {
+ clientId: this.option.clientId,
+ cmd: this.cmd,
+ timestamp: new Date(),
+ req: this.deviceId
+ }
+ let opts = {
+ topic: this.$constant.MOBILE_REQ_EQU_CMD,
+ message: JSON.stringify(message),
+ }
+
+ this.$mqttTool.publish(opts).then(res => {
+ console.error(res)
+ })
+ },
+
+ showModal(cmd) {
+ this.show = true;
+ this.cmd = cmd;
+ },
+ confirm() {
+ this.sendEquCmd()
+ },
+
+ //tabs閫氱煡swiper鍒囨崲
+ tabsChange(index) {
+ this.swiperCurrent = index;
+ },
+ //swiper婊戝姩涓�
+ swiperTransition(e) {
+ this.$refs.tabs.setDx(e.detail.dx);
+ },
+ //swiper婊戝姩缁撴潫
+ swiperAnimationfinish(e) {
+ this.swiperCurrent = e.detail.current;
+ this.$refs.tabs.unlockDx();
+ },
+ getCurrentTime() {
+ // 鑾峰彇褰撳墠鏃堕棿
+ let now = new Date();
+ // 鏍煎紡鍖栨椂闂�
+ let year = now.getFullYear();
+ let month = (now.getMonth() + 1).toString().padStart(2, '0');
+ let day = now.getDate().toString().padStart(2, '0');
+ let hours = now.getHours().toString().padStart(2, '0');
+ let minutes = now.getMinutes().toString().padStart(2, '0');
+ let seconds = now.getSeconds().toString().padStart(2, '0');
+
+ // 杩斿洖缁撴灉
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ },
+
+
+ goBack() {
+ uni.navigateBack({
+ delta: 1
+ })
+ }
+ },
+ computed: {
+ deviceId() {
+ return uni.getStorageSync(this.$constant.DEVICE_ID);
+ },
+ tenantId() {
+ const userinfo = uni.getStorageSync('userinfo');
+ const tenantid = userinfo.loginTenantId
+ return tenantid + "";
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import "components/table/helang-table";
+
+ .swiper-box {
+ flex: 1;
+ }
+
+ .swiper-item {
+ height: 100%;
+ }
+
+ .custom-swiper {
+ min-height: 1100rpx;
+ }
+
+ .swiper-item-view {}
+
+ .fault-box {
+ width: 100%;
+ height: 460rpx;
+ position: relative;
+
+
+ .fault-inner {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 20rpx 0;
+ background: transparent;
+ overflow: hidden;
+
+ .fault-info {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ }
+
+ .fault-tag {
+ display: flex;
+ align-items: center;
+ margin-left: 6rpx;
+ height: 28rpx;
+ padding: 0 10rpx;
+ background: gray;
+ border-radius: 5rpx;
+ font-size: 22rpx;
+ font-weight: bold;
+ color: red;
+ white-space: nowrap;
+ /* 涓嶆崲琛� */
+ overflow: hidden;
+ /* 瓒呭嚭閮ㄥ垎闅愯棌 */
+ text-overflow: ellipsis;
+ /* 瓒呭嚭閮ㄥ垎鐢ㄧ渷鐣ュ彿琛ㄧず */
+ }
+
+ .fault-marker {
+ width: 20rpx;
+ height: 20rpx;
+ background: red;
+ border-radius: 50%;
+ }
+
+ .warn-marker {
+ width: 24rpx;
+ height: 24rpx;
+ background: orange;
+ border-radius: 50%;
+ }
+
+ .fault-text {
+ color: red;
+ }
+
+ .warn-text {
+ color: orange;
+ }
+
+ .fault-animal {
+
+ -webkit-animation: scaleout 2s infinite ease-in-out;
+ animation: scaleout 2s infinite ease-in-out;
+ }
+
+ @-webkit-keyframes scaleout {
+ 0% {
+ -webkit-transform: scale(1);
+ }
+
+ 100% {
+ -webkit-transform: scale(1.1);
+ opacity: 0;
+ }
+ }
+
+ @keyframes scaleout {
+ 0% {
+ transform: scale(1);
+ -webkit-transform: scale(1);
+ }
+
+ 100% {
+ transform: scale(1.1);
+ -webkit-transform: scale(1.1);
+ opacity: 0;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/pages/index/index.vue b/packageA/pages/index/index.vue
similarity index 100%
rename from pages/index/index.vue
rename to packageA/pages/index/index.vue
diff --git a/pages/login/switchMode.vue b/packageA/pages/login/switchMode.vue
similarity index 100%
rename from pages/login/switchMode.vue
rename to packageA/pages/login/switchMode.vue
diff --git a/pages/me/analy.vue b/packageA/pages/me/analy.vue
similarity index 98%
rename from pages/me/analy.vue
rename to packageA/pages/me/analy.vue
index b1033a6..80d8b1d 100644
--- a/pages/me/analy.vue
+++ b/packageA/pages/me/analy.vue
@@ -76,7 +76,7 @@
this.$refs.form.validate().then(res => {
uni.$u.toast('鏍¢獙閫氳繃')
uni.navigateTo({
- url:"/pages/analy/analyList"
+ url:"/packageA/pages/analy/analyList"
})
}).catch(errors => {
diff --git a/pages/me/control.vue b/packageA/pages/me/control.vue
similarity index 100%
rename from pages/me/control.vue
rename to packageA/pages/me/control.vue
diff --git a/pages/me/video.vue b/packageA/pages/me/video.vue
similarity index 100%
rename from pages/me/video.vue
rename to packageA/pages/me/video.vue
diff --git a/packageA/static/.DS_Store b/packageA/static/.DS_Store
new file mode 100644
index 0000000..12a201d
--- /dev/null
+++ b/packageA/static/.DS_Store
Binary files differ
diff --git a/packageA/static/image/ganzaoji-x.png b/packageA/static/image/ganzaoji-x.png
new file mode 100644
index 0000000..3e91f09
--- /dev/null
+++ b/packageA/static/image/ganzaoji-x.png
Binary files differ
diff --git a/static/image/pic_gz.jpg b/packageA/static/image/pic_gz.jpg
similarity index 100%
rename from static/image/pic_gz.jpg
rename to packageA/static/image/pic_gz.jpg
Binary files differ
diff --git a/static/image/pic_gzj.jpg b/packageA/static/image/pic_gzj.jpg
similarity index 100%
rename from static/image/pic_gzj.jpg
rename to packageA/static/image/pic_gzj.jpg
Binary files differ
diff --git a/static/image/zcy_equipment_run.gif b/packageA/static/image/zcy_equipment_run.gif
similarity index 100%
rename from static/image/zcy_equipment_run.gif
rename to packageA/static/image/zcy_equipment_run.gif
Binary files differ
diff --git a/static/image/zcy_gzj1.png b/packageA/static/image/zcy_gzj1.png
similarity index 100%
rename from static/image/zcy_gzj1.png
rename to packageA/static/image/zcy_gzj1.png
Binary files differ
diff --git a/pages.json b/pages.json
index 2914fb5..1ba8b1f 100644
--- a/pages.json
+++ b/pages.json
@@ -14,35 +14,61 @@
"enablePullDownRefresh": false
}
+ },
+ {
+ "path": "pages/tabBar/general",
+ "style": {
+ "navigationStyle": "custom"
+ }
+
+ },
+ {
+ "path": "pages/tabBar/device",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
+ {
+ "path": "pages/tabBar/warning",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
},
- {
- "path": "pages/index/index",
- "style": {
- "navigationBarTitleText": "uni-app"
- }
- },
- {
- "path": "pages/tabBar/main",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
-
- }
- }, {
+ {
"path": "pages/tabBar/formula",
"style": {
"navigationStyle": "custom"
}
- }, {
- "path": "pages/category/formulaDetail",
- "style": {
- "navigationStyle": "custom"
- }
-
- }, {
+ },
+ {
+ "path": "pages/tabBar/me",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+
+ }
+
+ /* {
+ "path": "pages/tabBar/main",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+
+ }
+ },
+ {
"path": "pages/tabBar/monitor",
"style": {
"navigationStyle": "custom",
@@ -51,108 +77,89 @@
}
}
- }, {
- "path": "pages/tabBar/me",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
- }
+ }, */
+
- }, {
- "path": "pages/tabBar/general",
- "style": {
- "navigationStyle": "custom"
- }
-
- }
-
- , {
- "path": "pages/charts/charts",
- "style": {
- "navigationBarTitleText": "鍥捐〃",
- "enablePullDownRefresh": false
- }
-
- }, {
- "path": "pages/me/analy",
- "style": {
- "navigationStyle": "custom"
- }
-
- }, {
- "path": "pages/analy/analyList",
- "style": {
- "navigationBarTitleText": "鐢熶骇璁板綍鍒嗘瀽",
- "enablePullDownRefresh": false
- }
-
- }, {
- "path": "pages/tabBar/demo",
- "style": {
- "navigationBarTitleText": "娴嬭瘯",
- "enablePullDownRefresh": false
- }
-
- }, {
- "path": "pages/me/control",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
- }
-
- },
- // {
- // "path": "pages/me/video",
- // "style": {
- // "navigationStyle": "custom",
- // "app-plus": {
- // "titleNView": false
- // }
- // }
-
- // },
- {
- "path": "pages/tabBar/device",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
- }
- },
- {
- "path": "pages/tabBar/warning",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
- }
- },
- {
- "path": "pages/device/control",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
- }
- },
- {
- "path": "pages/login/switchMode",
- "style": {
- "navigationStyle": "custom",
- "app-plus": {
- "titleNView": false
- }
- }
- }
-
- ],
+ ],
+ "subPackages": [
+ {
+ "root": "packageA",
+ "pages": [
+ {
+ "path": "pages/category/formulaDetail",
+ "style": {
+ "navigationStyle": "custom"
+ }
+
+ }, {
+ "path": "pages/charts/charts",
+ "style": {
+ "navigationBarTitleText": "鍥捐〃",
+ "enablePullDownRefresh": false
+ }
+
+ }, {
+ "path": "pages/me/analy",
+ "style": {
+ "navigationStyle": "custom"
+ }
+
+ }, {
+ "path": "pages/analy/analyList",
+ "style": {
+ "navigationBarTitleText": "鐢熶骇璁板綍鍒嗘瀽",
+ "enablePullDownRefresh": false
+ }
+
+ },
+ {
+ "path": "pages/me/control",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+
+ },
+ // {
+ // "path": "pages/me/video",
+ // "style": {
+ // "navigationStyle": "custom",
+ // "app-plus": {
+ // "titleNView": false
+ // }
+ // }
+
+ // },
+
+ {
+ "path": "pages/device/control",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
+ {
+ "path": "pages/login/switchMode",
+ "style": {
+ "navigationStyle": "custom",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "preloadRule": {
+ "packageA/pages/device/control": {
+ "network": "all",
+ "packages": ["packageA"]
+ }
+ },
"globalStyle": {
"navigationBarTextStyle": "white",
"navigationBarTitleText": "鍏板疂鏅鸿兘",
@@ -179,7 +186,7 @@
"pagePath": "pages/tabBar/warning",
"iconPath": "static/tabBar/analy.png",
"selectedIconPath": "static/tabBar/analy_cur.png",
- "text": "鎶ヨ閫氱煡"
+ "text": "鎶ヨ缁熻"
}, {
"pagePath": "pages/tabBar/formula",
"iconPath": "static/tabBar/order.png",
diff --git a/pages/device/control.vue b/pages/device/control.vue
deleted file mode 100644
index fd543fd..0000000
--- a/pages/device/control.vue
+++ /dev/null
@@ -1,658 +0,0 @@
-<template>
- <view class="container">
-
- <cu-custom bgColor="bg-gradual-blue" :isBack="true">
- <block slot="content">1#鏅鸿兘骞茬嚗鏈�</block>
- </cu-custom>
- <view class="uni-padding-wrap">
- <view class="page-section swiper">
- <view class="page-section-spacing">
- <swiper class="swiper" style="height: 450rpx;" circular="true" indicator-dots="true" autoplay="true"
- interval="3500" duration="600">
- <swiper-item class="swiper-list" v-for="(item, index) in bannerList" :key="index">
- <view class="swiper-item uni-bg-red">
- <image class="swiper-img" :src="item.imageUrl" mode="aspectFit"></image>
- </view>
- </swiper-item>
- </swiper>
- </view>
- </view>
- </view>
-
- <!-- 鍙�氳繃璁剧疆bar-animate-mode="worm"寮�鍚瘺姣涜櫕妯″紡-->
- <z-tabs ref="tabs" :current="swiperCurrent" :list="swiperList" @change="tabsChange"></z-tabs>
- <swiper class="custom-swiper" :current="swiperCurrent" @transition="swiperTransition"
- @animationfinish="swiperAnimationfinish">
- <swiper-item :key="0">
- <view class="swiper-item-view">
- <uni-section title="璁惧淇℃伅" type="line">
- <text class="text-bold text-black"></text>
- <view class="h-table">
- <view class="h-tr h-tr-2 h-thead">
- <view class="h-td">璁惧鐘舵��</view>
- <view class="h-td">杩愯鐘舵��</view>
- <view class="h-td">寮�鏈烘椂闂�</view>
- <view class="h-td">鎶ヨ淇℃伅</view>
-
- </view>
- <view class="h-tr h-tr-2">
- <view class="h-td">
- <u-tag v-if="connected" size="mini" text="鍦ㄧ嚎" type="success" plain
- plainFill></u-tag>
- <u-tag v-else size="mini" text="绂荤嚎" type="error" plain plainFill></u-tag>
- </view>
- <view class="h-td">
- <template v-if="runStatu">
- <u-tag size="mini" text="姝e湪骞茬嚗" type="success" plain plainFill></u-tag>
- </template>
- <template v-else>
- <u-tag size="mini" text="寰呮満" type="error" plain plainFill></u-tag>
- </template>
- </view>
- <view class="h-td">{{$lget(model,'windTemp')}}</view>
- <view class="h-td">{{$lget(model,'windTemp')}}</view>
- </view>
- </view>
- <view class="h-table">
- <view class="h-tr h-tr-2 h-thead">
- <view class="h-td">鐑</view>
- <view class="h-td">娓╁害</view>
- <view class="h-td">鐢佃兘</view>
- <view class="h-td">钂告苯</view>
-
- </view>
- <view class="h-tr h-tr-2">
- <view class="h-td">寮�</view>
- <view class="h-td">70鈩�</view>
- <view class="h-td">2.1kW路h</view>
- <view class="h-td">10m鲁</view>
- </view>
- </view>
- </uni-section>
-
- <uni-section title="鑽潗淇℃伅" type="line" class="margin-top-sm">
- <text class="text-bold text-black"></text>
- <view class="h-table">
- <view class="h-tr h-tr-2 h-thead">
- <view class="h-td">鐗╂枡</view>
- <view class="h-td">鎶曟枡閲�</view>
- <view class="h-td">鍒濆閲嶉噺</view>
- <view class="h-td">杩囩▼閲嶉噺</view>
-
- </view>
- <view class="h-tr h-tr-2">
- <view class="h-td">{{$lget(model,'herbName')}}</view>
- <view class="h-td">{{$lget(model,'envTemp') == "" ? "--" : $lget(model,'envTemp')}}m鲁
- </view>
- <view class="h-td">{{$lget(model,'envHum') == "" ? "--" :$lget(model,'envHum') }}kg
- </view>
- <view class="h-td">{{$lget(model,'windTemp')}}kg</view>
- </view>
- </view>
- <view class="h-table">
- <view class="h-tr h-tr-2 h-thead">
- <view class="h-td"> </view>
- <view class="h-td">鍒濆鍚按鐜�</view>
- <view class="h-td">褰撳墠鍚按鐜�</view>
- <view class="h-td">鐩爣鍚按鐜�</view>
-
- </view>
- <view class="h-tr h-tr-2">
- <view class="h-td"> </view>
- <view class="h-td">{{$lget(model,'envTemp') == "" ? "--" : $lget(model,'envTemp')}}%
- </view>
- <view class="h-td">{{$lget(model,'envHum') == "" ? "--" :$lget(model,'envHum') }}%
- </view>
- <view class="h-td">{{$lget(model,'windTemp')}}%</view>
- </view>
- </view>
- </uni-section>
-
-
-
- <uni-section title="杩涘害淇℃伅" type="line" class="margin-top-sm">
- <text class="text-bold text-black"></text>
- <view class="h-table">
- <view class="h-tr h-tr-2 h-thead">
- <view class="h-td">寮�濮嬫椂闂�</view>
- <view class="h-td">鍔犵儹鏃堕棿</view>
- <view class="h-td">杩愯鏃堕棿</view>
- </view>
- <view class="h-tr h-tr-2">
- <view class="h-td">10:10:10</view>
- <view class="h-td">10min</view>
- <view class="h-td">120min</view>
- </view>
- </view>
- <view class="h-table">
- <view class="h-tr h-tr-2 h-thead">
- <view class="h-td">褰撳墠闃舵</view>
- <view class="h-td">闃舵鏃堕棿</view>
- <view class="h-td">棰勮鏃堕棿</view>
- </view>
- <view class="h-tr h-tr-2">
- <view class="h-td">3</view>
- <view class="h-td">10min</view>
- <view class="h-td">120min</view>
- </view>
- </view>
- </uni-section>
- </view>
- </swiper-item>
- <swiper-item :key="1">
- <uni-section title="鎸囦护" type="line">
- <view class="flex justify-center padding-lg bg-white">
- <view class="margin-right-sm">
- <u-button :disabled="connected" text="寮�鏈�" type="success"
- @click="$u.throttle(showModal(1), 500)"></u-button>
- </view>
- <view class="margin-left-sm">
- <u-button :disabled="!connected" text="鍏虫満" type="error"
- @click="$u.throttle(showModal(2), 500)"></u-button>
- </view>
-
-
- </view>
- </uni-section>
-
-
- <uni-section title="鎺у埗鍙�" type="line" class="margin-top-sm ">
- <view class="padding-left-sm padding-right-sm padding-bottom-sm">
- <view class="text-sm text-gray" :class="{'margin-top-sm':index>0}" v-for="(log,index) in logList">{{log}}</view>
- <!-- <view class="text-sm text-gray margin-top-sm">12:00:10: 鍙戦��<寮�鏈�>鎸囦护</view> -->
- </view>
-
- </uni-section>
-
-
-
- </swiper-item>
- </swiper>
-
-
- <u-modal :show="show" @confirm="confirm" :showCancelButton="true" @cancel="show=false" ref="uModal"
- :asyncClose="true">
-
- <slot>
- <view style="width: 100%;height:100%;">
- <view style="color:red">
- 杩滅▼鎺у埗鎿嶄綔鍙兘瀛樺湪瀹夊叏椋庨櫓锛岃璋ㄦ厧鎿嶄綔
- </view>
- <u--input style="width: 100%;" placeholder="璇疯緭鍏ヤ簩绾у畨鍏ㄥ瘑鐮�" border="surround" password
- clearable></u--input>
- </view>
- </slot>
- </u-modal>
- </view>
-</template>
-
-<script>
- import get from 'lodash.get'
- // 鍥捐〃
- import uCharts from "@/components/u-charts/u-charts.js";
- var _self;
- var canvaArea = null;
- export default {
- data() {
- return {
- //涓婁釜椤甸潰浼犻�掕繃鏉ョ殑鏁版嵁
- option: {},
- //鎿嶄綔鎸囦护log
- logList: [],
- //褰撳墠璁惧杩炴帴鐘舵��
- connected: false,
- //寮�鍏虫満鎸囦护 1-寮�鏈� 2-鍏虫満
- cmd: -1,
- show: false,
- swiperList: ["鐩戞祴", "鎺у埗"],
- swiperCurrent: 0,
- chartData: {},
- opts: {
- color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
- "#ea7ccc"
- ],
- padding: [15, 10, 0, 15],
- dataLabel: false,
- dataPointShape: false,
- enableScroll: false,
- legend: {},
- update: true,
- xAxis: {
- disableGrid: true,
- labelCount: 6
- },
- yAxis: {
- gridType: "dash",
- dashLength: 2,
- },
- extra: {
- line: {
- type: "curve",
- width: 2,
- activeType: "hollow",
- linearType: "custom"
- }
- }
- },
- notice: "2023-03-1812:00:001鍙锋満鍙颁綆娓╂姤璀�",
- model: {},
- queryParam: {
- machineid: "",
- tenantid: null
- },
- bannerList: [{
- imageUrl: '../../static/image/zcy_gzj1.png'
- }]
-
-
- }
- },
- onShow() {
- console.info("onShow")
- this.startTimer()
-
- },
-
- onLoad(option) {
- const userinfo = uni.getStorageSync('userinfo');
- this.option = option
- this.option.tenantid = userinfo.loginTenantId
- this.option.username = userinfo.username
-
-
- //鍒濆鍖栨煡璇㈠弬鏁�
- this.queryParam.machineid = option.code
- this.queryParam.tenantid = userinfo.loginTenantId
-
- },
- onBackPress() {
- this.stopTimer()
- },
- onHide() {
- this.stopTimer()
-
- },
- onUnload() {
-
- },
- mounted() {
-
- },
- onReady() {
- //this.getServerData()
- // this.$mqttTool.message().then(res => {
- // console.error("瑙f瀽鏁版嵁")
- // if (res.topic == this.$constant.SERVICE_RES_EQU_STATU) {
- // const msgstr = res.message.toString();
- // const message = JSON.parse(msgstr);
- // console.error(message)
- // console.error(message.success)
- // }
- // })
- let _this = this
- this.$mqttTool.client.on('message', function(topic, message, buffer) {
-
- const msg = JSON.parse(message);
- if (topic == _this.$constant.SERVICE_RES_EQU_STATU.replace('equ', _this.deviceId)) {
- if (msg.success) {
- _this.connected = msg.connected
- } else {
- _this.connected = false
- }
- } else if (topic == _this.$constant.SERVICE_RES_EQU_CMD.replace('equ', _this.deviceId)) {
- //鍙戦�佹寚浠ゆ敹鍒板搷搴�
- //娣诲姞log
- let log = this.getCurrentTime() +'杩斿洖锛�' + + '鎸囦护' ;
- this.logList.push(log)
-
- setTimeout(() => {
- // 3绉掑悗鑷姩鍏抽棴
- uni.showToast({
- title: msg.msg,
- icon: 'none',
- mask: true
- });
- _this.show = false;
- }, 1000)
- }
- })
-
- this.queryEquStatu()
-
- },
- methods: {
- //MQTT
- queryEquStatu() {
-
- //1.鏌ヨ璁惧瀹炴椂鐘舵��
- const message = {
- clientId: this.option.clientId,
- timestamp: new Date(),
- req: this.deviceId
- }
- let opts = {
- topic: this.$constant.MOBILE_QUERY_EQU_STATU,
- message: JSON.stringify(message),
- }
-
- this.$mqttTool.publish(opts).then(res => {
- console.error(res)
- })
-
- },
-
- sendEquCmd() {
- //娣诲姞log
- let log = this.getCurrentTime() +'鍙戦��' + (this.cmd == 1 ? "锛氥�婂紑鏈恒��" : "锛氥�婂叧鏈恒��") + '鎸囦护' ;
- this.logList.push(log)
-
- //1.鍙戦�佸紑鍏虫満鎸囦护 1-寮�鏈� 2-鍏虫満
- const message = {
- clientId: this.option.clientId,
- cmd: this.cmd,
- timestamp: new Date(),
- req: this.deviceId
- }
- let opts = {
- topic: this.$constant.MOBILE_REQ_EQU_CMD,
- message: JSON.stringify(message),
- }
-
- this.$mqttTool.publish(opts).then(res => {
- console.error(res)
- })
-
- },
-
- showModal(cmd) {
- this.show = true;
- this.cmd = cmd;
- },
- confirm() {
- this.sendEquCmd()
- // setTimeout(() => {
- // // 3绉掑悗鑷姩鍏抽棴
- // uni.showToast({
- // title: '鎿嶄綔鎴愬姛~',
- // icon: 'none',
- // mask: true
- // });
- // this.show = false;
- // }, 3000)
-
-
-
-
- },
- startTimer() {
- console.info("鐩戞帶椤甸潰鏄剧ず")
- this.getRealData()
- //涓嶉棿鏂煡璇㈠緟鎿嶄綔骞茬嚗鏈虹殑鐘舵�侊紝瀹炴椂鏇存柊
- //this.queryEquStatu()
- if (!this.$monitorTimer) {
- this.$monitorTimer = setInterval(() => {
- console.info("瀹氭椂鍣ㄥ伐浣�")
- console.info(this.$monitorTimer)
- this.getRealData()
-
- /**
- * TODO 浣跨敤last_will浠f浛杞
- */
- //涓嶉棿鏂煡璇㈠緟鎿嶄綔骞茬嚗鏈虹殑鐘舵�侊紝瀹炴椂鏇存柊
- //this.queryEquStatu()
-
- }, 1000 * 12)
- }
-
- },
- stopTimer() {
- clearInterval(this.$monitorTimer)
- this.$monitorTimer = null
- console.info("鐩戞帶椤甸潰闅愯棌")
- console.info("瀹氭椂鍣ㄥ仠姝�")
- console.info(this.$monitorTimer)
- },
- //tabs閫氱煡swiper鍒囨崲
- tabsChange(index) {
- this.swiperCurrent = index;
- },
- //swiper婊戝姩涓�
- swiperTransition(e) {
- this.$refs.tabs.setDx(e.detail.dx);
- },
- //swiper婊戝姩缁撴潫
- swiperAnimationfinish(e) {
- this.swiperCurrent = e.detail.current;
- console.log(e.detail.current)
- this.$refs.tabs.unlockDx();
- },
- getCurrentTime() {
- // 鑾峰彇褰撳墠鏃堕棿
- let now = new Date();
- // 鏍煎紡鍖栨椂闂�
- let year = now.getFullYear();
- let month = (now.getMonth() + 1).toString().padStart(2, '0');
- let day = now.getDate().toString().padStart(2, '0');
- let hours = now.getHours().toString().padStart(2, '0');
- let minutes = now.getMinutes().toString().padStart(2, '0');
- let seconds = now.getSeconds().toString().padStart(2, '0');
-
- // 杩斿洖缁撴灉
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- },
- getServerData() {
- //妯℃嫙浠庢湇鍔″櫒鑾峰彇鏁版嵁鏃剁殑寤舵椂
- setTimeout(() => {
- let res = {
- categories: ["2018", "2019", "2020", "2021", "2022", "2023"],
- series: [{
- name: "鎴愪氦閲廇",
- data: [35, 8, null, 37, 4, 20]
- },
- {
- name: "鎴愪氦閲廈",
- connectNulls: true,
- data: [70, 40, null, 100, 44, 68]
- },
- {
- name: "鎴愪氦閲廋",
- data: [100, 80, null, 150, 112, 132]
- }
- ]
- };
- this.chartData = JSON.parse(JSON.stringify(res));
- }, 500);
- },
-
- /**
- * 缁勫缓鏁版嵁
- */
- createData() {
- //娓╁害鏁版嵁 10s涓�娆�
- let bellowsTemp = this.$lget(this.model, 'bellowsTemp');
- //绉伴噸鏁版嵁 锛堥噸閲忋�佸惈姘寸巼锛�
- let detailList = this.$lget(this.model, 'detailList');
- if (!bellowsTemp) return;
- let wmap = {} //鍙栧嚭鎵�鏈夐噸閲忔暟鎹�
- let mmap = {} //鍙栧嚭鎵�鏈夋俯搴︽暟鎹�
- let minW = null; //绗竴涓噸閲忔暟鎹�
- let minM = null; //绗竴涓俯搴︽暟鎹�
- let maxW = null; //鏈�鍚庝竴涓噸閲忔暟鎹�
- let maxM = null; //鏈�鍚庝竴涓俯搴︽暟鎹�
- //鍙栧嚭閲嶉噺鍜屽惈姘寸巼鏁版嵁
- if (detailList && detailList.length > 0) {
- for (var i = 0; i < detailList.length; i++) {
- let item = detailList[i]
- //姣忎釜鏃堕棿鑺傜偣閲嶉噺鏁版嵁
- wmap[item.totalTime] = item.weight
- mmap[item.totalTime] = item.moisture
- if (i == 0) {
- minW = item.weight
- minM = item.moisture
- }
- if (i == (detailList.length - 1)) {
- maxW = item.weight
- maxM = item.moisture
- }
- }
- }
- let tList = [] //娓╁害
- let wList = [] //閲嶉噺
- let mList = [] //鍚按鐜�
- let xList = [] //xAxis
- //鏍规嵁娓╁害鏁版嵁闀垮害锛岀敓鎴恱杞淬�侀噸閲忓拰鍚按鐜囨暟缁勭瓑
- for (let key in bellowsTemp) {
- //console.log(key + '---' + bellowsTemp[key])
- tList.push(bellowsTemp[key])
- wList.push(wmap[key] || null)
- mList.push(mmap[key] || null)
- xList.push(key)
- }
- //濉厖娴嬭瘯鏁版嵁 TODO 鍒犻櫎
- // for(let i = 1 ; i <= 10 ; i++){
- // tList.push(i*2)
- // wList.push(i*100)
- // mList.push(i*10)
- // xList.push(i)
- // }
-
- //绗竴涓暟鎹负绌� 璁剧疆涓虹涓�娆$О閲嶆暟鎹紙娌℃湁绉伴噸鏁版嵁鍒欒缃负0锛�
- if (!wList[0]) {
- wList[0] = minW || 0
- }
-
-
- if (!mList[0]) {
- mList[0] = minM || 0
- }
-
- //鏈�鍚庝竴涓暟鎹负绌� 璁剧疆涓烘渶鍚庝竴娆$О閲嶆暟鎹�
- if (!wList[wList.length - 1]) {
- wList[wList.length - 1] = maxW
- }
-
- if (!mList[mList.length - 1]) {
- mList[mList.length - 1] = maxM
- }
- // let weightList = detailList.map(item => {
- // return {type: item.weight, data: []}
- // })
-
- let series = [{
- name: '閲嶉噺',
- data: wList,
- connectNulls: true,
- color: '#facc14'
- }, {
- name: '鍚按',
- data: mList,
- connectNulls: true,
- color: '#2fc25b'
- }, {
- name: '娓╁害',
- data: tList,
- color: '#1890ff'
- }]
-
- // console.error(wmap)
- // console.error(mmap)
- // console.error("============")
- // console.error(wList)
- // console.error(mList)
- // console.error(tList)
- let res = {
- categories: xList,
- series: series
- }
- this.chartData = JSON.parse(JSON.stringify(res));
- },
- /**
- * 鑾峰彇瀹炴椂鏁版嵁
- */
- getRealData() {
- this.$api.getRealTimeData(this.queryParam).then((res) => {
- if (res.success) {
- this.model = res.result
- //鍒涘缓鍥捐〃鏁版嵁
- this.createData()
- }
- }).catch((err) => {
- console.log('request fail', err);
- })
- },
-
- goBack() {
- uni.navigateBack({
- delta: 1
- })
- }
- },
- computed: {
- deviceId() {
- return uni.getStorageSync(this.$constant.DEVICE_ID);
- },
- //杩愯鐘舵��
- runStatu() {
- let stop = this.$lget(this.model, 'stop');
- return !stop
-
- },
- //鎶ヨ鐘舵�� TODO 鏆傛椂涓嶇敤
- warmStatu() {
- if (this.runStatu) {
- if (this.model.envTemp < 50) {
- return true
- } else {
- return false
- }
- } else {
- return false
- }
-
-
- },
- //閰嶆柟鍚嶇О
- formulaName() {
- let name = this.$lget(this.model, 'herbName')
- let code = this.$lget(this.model, 'code')
- let formula = ""
- if (name) {
- formula = name;
- }
- if (code) {
- formula = formula + code
- }
- return formula
- },
- //骞茬嚗寮�濮嬫椂闂�
- startTime() {
- let detailList = this.$lget(this.model, 'detailList')
- if (detailList) {
- if (detailList.length > 0) {
- return detailList[0].tim
- }
- }
- return ""
- },
-
- }
- }
-</script>
-
-<style lang="scss" scoped>
- @import "components/table/helang-table";
-
- .swiper-box {
- flex: 1;
- }
-
- .swiper-item {
- height: 100%;
- }
-
- .custom-swiper {
- min-height: 1100rpx;
- }
-
- .swiper-item-view {}
-</style>
\ No newline at end of file
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 2091c20..416fbe6 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -44,8 +44,8 @@
show: false,
pass: "",
model: {
- username: "tongjitang",
- password: "123456"
+ username: "",
+ password: ""
},
rules: {
'username': {
@@ -95,13 +95,11 @@
},
switchMode() {
uni.navigateTo({
- url: "/pages/login/switchMode"
+ url: "/packageA/pages/login/switchMode"
})
},
forget() {
- uni.navigateTo({
- url: "/pages/tabBar/demo"
- })
+
},
submit() {
const mode = uni.getStorageSync('mode');
diff --git a/pages/tabBar/components/equList.vue b/pages/tabBar/components/equList.vue
new file mode 100644
index 0000000..04da7e9
--- /dev/null
+++ b/pages/tabBar/components/equList.vue
@@ -0,0 +1,224 @@
+<template>
+ <view class="app">
+ <z-paging ref="paging" v-model="dataList" show-refresher-update-time @query="queryList" :hide-empty-view="true">
+ <!-- 闇�瑕佸浐瀹氬湪椤堕儴涓嶆粴鍔ㄧ殑view鏀惧湪slot="top"鐨剉iew涓紝濡傛灉闇�瑕佽窡鐫�婊氬姩锛屽垯涓嶈璁剧疆slot="top" -->
+ <template #top>
+
+ <view class="card-box dynamic shadow">
+ <view class="title-box margin-bottom-sm">
+ <view style="width: 100vw;" class="left justify-between">
+ <view class="flex align-center">
+ <uni-text class="cuIcon-titles text-blue"></uni-text>
+ <view class="title">鎬昏</view>
+ </view>
+ <view>
+ <text class="text-gray text-sm">{{curDate}}</text>
+ </view>
+
+ </view>
+
+ </view>
+ <view class="flex flex-direction padding-xs">
+ <view class="flex">
+ <view class="flex-sub flex flex-direction">
+ <text class="text-df">鎶ヨ鎬绘暟</text>
+ <text class="text-bold text-sl margin-top-xs text-red margin-top-sm">{{count}}
+ <text class="text-gray text-sm margin-left-xs">娆�</text></text>
+
+ </view>
+ <view class="flex-twice flex flex-direction justify-between">
+ <view class="flex-sub flex">
+ <view class="flex flex-direction flex-sub">
+ <text class="text-gray text-xs">鎶ヨ淇℃伅</text>
+
+ <text class="text-black">鏁呴殰娆℃暟:</text>
+ <text class="margin-lr-xs text-red text-bold text-xl">{{faultCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+ <view class="flex flex-direction flex-sub">
+ <text class="text-gray text-xs">鏈哄彴淇℃伅</text>
+
+ <text class="text-black">鏁呴殰鏈哄彴:</text>
+ <text class="margin-lr-xs text-red">{{faultEqus}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+
+ </view>
+ <view class="flex-sub flex">
+ <view class="flex flex-direction flex-sub" >
+ <text class="text-white text-xs">鎶ヨ淇℃伅</text>
+
+ <text class="text-black">鍛婅娆℃暟:</text>
+ <text class="margin-lr-xs text-orange text-bold text-xl">{{alarmCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+ <view class="flex flex-direction flex-sub">
+ <text class="text-white text-xs">鏈哄彴淇℃伅</text>
+ <text class="text-black">鍛婅鏈哄彴:</text>
+ <text class="margin-lr-xs text-orange">{{alarmEqus}}</text>
+ <text class="text-gray text-xs"></text>
+
+ </view>
+
+ </view>
+
+ </view>
+
+ </view>
+
+ </view>
+
+
+
+ </view>
+
+
+
+ </template>
+ <view class="container">
+
+ <view class="equ-box borderTop">
+ <div v-for="i in 9" class="equ-item">
+
+ </div>
+
+ </view>
+ </view>
+
+
+
+
+ </z-paging>
+
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ dataList: [],
+ loading: false,
+ //瀹炴椂鎶ヨ鏁版嵁鏇存柊鏃堕棿锛堜竴鑸�10s锛�
+ refreshTime: '',
+ //鎶ヨ鎬绘暟
+ count: 0,
+ //鍛婅鎬绘暟
+ alarmCount: 0,
+ //鏁呴殰鎬绘暟
+ faultCount: 0,
+ //鏁呴殰鏈哄彴
+ faultEqus: "",
+ //鍛婅鏈哄彴
+ alarmEqus: "",
+ curDate: dayjs().format('YYYY-MM-DD'),
+ }
+ },
+ methods:{
+ queryList(pageNo, pageSize) {
+ this.loading = true;
+ // 缁勪欢鍔犺浇鏃朵細鑷姩瑙﹀彂姝ゆ柟娉曪紝鍥犳榛樿椤甸潰鍔犺浇鏃朵細鑷姩瑙﹀彂锛屾棤闇�鎵嬪姩璋冪敤
+ // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲
+ // 妯℃嫙璇锋眰鏈嶅姟鍣ㄨ幏鍙栧垎椤垫暟鎹紝璇锋浛鎹㈡垚鑷繁鐨勭綉缁滆姹�
+ const params = {
+ pageNo: pageNo,
+ pageSize: pageSize,
+ }
+ //
+
+
+ this.$api.querySampleList(params).then((res) => {
+ // // 灏嗚姹傜殑缁撴灉鏁扮粍浼犻�掔粰z-paging
+ //瀹炴椂鏁呴殰
+ if (this.tabCurrent === 0) {
+ this.queryRealFaultData()
+ }else if(this.tabCurrent === 1){
+ this.$refs.hisWarining.init();
+ }
+
+ this.$refs.paging.complete(res.result.records);
+ this.loading = false
+ }).catch(res => {
+ // 濡傛灉璇锋眰澶辫触鍐檛his.$refs.paging.complete(false);
+ // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊
+ // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲
+ this.$refs.paging.complete(false);
+ this.loading = false
+ })
+
+
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .container {
+ margin: 0 20rpx;
+ padding: 20rpx;
+ box-sizing: border-box;
+ background-color: white;
+ font-family: Helvetica Neue, Helvetica, sans-serif;
+
+ }
+
+ .card-box {
+ margin: 20rpx;
+ padding: 20rpx;
+ box-sizing: border-box;
+ background-color: white;
+ border-radius: 20rpx;
+ font-family: Helvetica Neue, Helvetica, sans-serif;
+
+ }
+
+ .title-box {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+
+ .left {
+ display: flex;
+ align-items: center;
+
+ .title {
+ margin: 0 10rpx;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ display: flex;
+ align-items: center;
+ .title {
+ margin: 0 10rpx;
+ font-weight: bold;
+ }
+ }
+ }
+
+ .equ-box {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 20rpx 0px;
+ justify-content: space-between;
+ }
+
+ .equ-item {
+ width: calc((100% - 20rpx)/2);
+ height: 200rpx;
+ border-radius: 20rpx;
+ background-color: #ecf5ff;
+ }
+
+ .borderTop {
+ border-top: 2rpx solid #f2f2f2;
+ padding-top: 20rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/tabBar/components/realWarning.vue b/pages/tabBar/components/realWarning.vue
index 7930f28..9eb657f 100644
--- a/pages/tabBar/components/realWarning.vue
+++ b/pages/tabBar/components/realWarning.vue
@@ -16,7 +16,7 @@
</view>
<view class="fault-box">
- <image style="width: 100%;border-radius: 20rpx; " src="../../../static/image/ganzaoji-x.png"
+ <image style="width: 100%;border-radius: 20rpx; " src="../../../packageA/static/image/ganzaoji-x.png"
mode="aspectFit">
</image>
@@ -56,7 +56,7 @@
<view style="height: 180rpx;display: flex;align-items: center;">
<view>
<image style="width: 80rpx;height: 80rpx;margin:20rpx;border-radius: 20rpx; "
- src="../../../static/image/pic_gz.jpg"></image>
+ src="../../../packageA/static/image/pic_gz.jpg"></image>
</view>
<view
style="display: flex;flex: 1;flex-direction: column; justify-content: space-between; ;height: 100%;padding: 20rpx;">
@@ -77,7 +77,7 @@
</view>
</view>
-
+ </view>
</view>
@@ -407,6 +407,7 @@
show: false
},
],
+
}
},
mounted() {
diff --git a/pages/tabBar/device.vue b/pages/tabBar/device.vue
index 9adac13..b1c0a83 100644
--- a/pages/tabBar/device.vue
+++ b/pages/tabBar/device.vue
@@ -18,14 +18,15 @@
<view class="title">鎬昏</view>
</view>
<view>
- <text
- class="text-gray margin-right-lg">{{curDate}}</text>
+ <text class="text-gray text-sm">{{curDate}}</text>
</view>
</view>
</view>
- <view class="flex flex-direction padding-xs">
+
+
+ <!-- <view class="flex flex-direction padding-xs">
<view class="flex">
<view class="flex-sub flex flex-direction text-center">
<text class="text-df">璁惧鎬绘暟</text>
@@ -52,7 +53,65 @@
</view>
+ </view> -->
+
+ <view class="flex flex-direction padding-xs">
+ <view class="flex">
+ <view class="flex-sub flex flex-direction">
+ <text class="text-df">鍦ㄧ嚎璁惧</text>
+ <text class="text-bold text-sl margin-top-xs text-green margin-top-sm">{{onlineCount}}
+ <text class="text-gray text-sm margin-left-xs">鍙�</text></text>
+
+ </view>
+ <view class="flex-twice flex flex-direction justify-between">
+ <view class="flex-sub flex">
+ <view class="flex flex-direction flex-sub">
+ <text class="text-gray text-xs">璁惧淇℃伅</text>
+
+ <text class="text-black">璁惧鎬绘暟:</text>
+ <text class="margin-lr-xs text-gray text-bold text-xl">{{equCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+ <view class="flex flex-direction flex-sub">
+ <text class="text-gray text-xs">鎶ヨ淇℃伅</text>
+
+ <text class="text-black">鏁呴殰鏈哄彴:</text>
+ <text class="margin-lr-xs text-red text-bold text-xl">{{faultEquCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+
+ </view>
+ <view class="flex-sub flex">
+ <view class="flex flex-direction flex-sub">
+ <text class="text-white text-xs">鎶ヨ淇℃伅</text>
+ <text class="text-black">鍋滅敤璁惧:</text>
+ <text class="margin-lr-xs text-orange text-bold text-xl">0</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+ <view class="flex flex-direction flex-sub">
+ <text class="text-white text-xs">鏈哄彴淇℃伅</text>
+ <text class="text-black">鍛婅鏈哄彴:</text>
+ <text
+ class="margin-lr-xs text-orange text-bold text-xl">{{alarmEquCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+ </view>
+
+ </view>
+
+ </view>
+
+ </view>
+
+
</view>
+
</view>
@@ -62,9 +121,9 @@
- <u-skeleton rows="20" :loading="loading" :title="false">
+ <u-skeleton rows="20" :loading="loading" :title="false">
<!-- 濡傛灉甯屾湜鍏朵粬view璺熺潃椤甸潰婊氬姩锛屽彲浠ユ斁鍦▃-paging鏍囩鍐� -->
- <view class="card-box dynamic shadow" v-for="(item,index) in dataList" :key="index"
+ <view class="card-item-box dynamic shadow" v-for="(item,index) in dataList" :key="index"
@click="itemClick(item)">
<view class="title-box">
<view class="left flex-sub">
@@ -72,48 +131,59 @@
<view class="title text-cut">{{$lget(item,'name')}}</view>
<view class="flex title text-green text-sm">
<u-tag v-if="item.online" size="mini" text="鍦ㄧ嚎" type="success" plain plainFill></u-tag>
- <u-tag v-else size="mini" text="绂荤嚎" type="warning" plain plainFill></u-tag>
- <u-tag v-if="item.online" class="margin-left-sm" size="mini" text="鍦ㄧ嚎" type="success" plain plainFill></u-tag>
- <u-tag v-else class="margin-left-sm" size="mini" text="鍋滄満" type="error" plain plainFill></u-tag>
+ <u-tag v-else size="mini" text="绂荤嚎" type="warning" plain plainFill></u-tag>
+ <view style="width: 20rpx;height: 2rpx"></view>
+ <template v-if="$lget(item,'realData.level')!= '--'">
+ <u-tag size="mini" :text="$lget(item,'realData.level')" plain plainFill></u-tag>
+ </template>
+
</view>
</view>
<view class="right" style="min-width: 240rpx;">
<!-- <u-badge :isDot="true" type="success"></u-badge> -->
<!-- <view class="title text-gray text-sm">寮�鏈烘椂闂�:</view> -->
- <view class="title text-gray text-sm">{{$lget(item,'upTime')}}</view>
+ <view class="title text-gray text-sm">{{$lget(item,'realData.workorder')}}</view>
</view>
</view>
<view class="info-box">
<view class="left flex-sub">
<view class="title text-sm">鐑樺共鑽潗:</view>
- <view class="title text-sm text-gray">--</view>
+ <view class="title text-sm">{{$lget(item,'realData.name')}}</view>
</view>
<view class="right" style="min-width: 240rpx;">
- <view class="title text-sm">鐑樺共鏃堕棿:</view>
- <view class="title text-sm text-gray">--</view>
+ <view class="title text-sm">鎶曟枡閲�:</view>
+ <view class="title text-sm text-gray">{{$lget(item,'realData.weight1')}}绛�</view>
+ </view>
+ </view>
+
+ <view class="info-box">
+ <view class="left flex-sub">
+ <view class="title text-sm">宸茬敤鏃堕棿:</view>
+ <view class="title text-sm">{{$lget(item,'realData.time3')}}min</view>
+ </view>
+ <view class="right" style="min-width: 240rpx;">
+ <view class="title text-sm">棰勬祴鍓╀綑:</view>
+ <view class="title text-sm text-gray">{{$lget(item,'realData.ai_total_time')}}min</view>
</view>
</view>
<view class="info-box">
<view class="left flex-sub">
<view class="title text-sm text-cut">鎶ヨ淇℃伅:</view>
- <view class="flex title text-sm">
- <template v-if="item.online && !item.fault">
- <u-tag size="mini" text="姝e父" type="success" plain plainFill></u-tag>
- </template>
- <template v-else-if="item.fault">
- <u-tag size="mini" text="娓╁害浼犳劅鍣ㄦ姤璀�" type="warning" plain plainFill></u-tag>
- <u-tag size="mini" class="margin-left-xs" text="鍓嶉棬鏈叧" type="warning" plain
- plainFill></u-tag>
- <u-tag size="mini" class="margin-left-xs" text="椋庣浣庝綅鎶ヨ" type="error" plain
- plainFill></u-tag>
- </template>
- <template v-else>
- </template>
- </view>
- </view>
+ <template v-if="item.errorData">
+ <view class="title text-sm text-red">鏁呴殰 {{item.errorData.length}}</view>
+ </template>
+ <template v-if="item.warnData">
+ <view class="title text-sm text-yellow">鍛婅 {{item.warnData.length}}</view>
+ </template>
+
+ </view>
+ <view class="right" style="min-width: 240rpx;">
+ <view class="title text-sm">鏇存柊鏃堕棿:</view>
+ <view class="title text-sm text-gray">{{ refreshTime}}</view>
+ </view>
</view>
</view>
@@ -124,46 +194,244 @@
</template>
<script>
+ import dayjs from 'dayjs'
export default {
data() {
return {
loading: true,
// v-model缁戝畾鐨勮繖涓彉閲忎笉瑕佸湪鍒嗛〉璇锋眰缁撴潫涓嚜宸辫祴鍊硷紒锛侊紒
dataList: [],
- curDate:uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
+ curDate: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
+ isProcessing: false,
+ // key->璁惧绉熸埛+code
+ dataMap: new Map(),
+ // 鏇存柊鏃堕棿
+ refreshTime: '',
+ alarmEquCount: 0,
+ faultEquCount: 0,
+ timer: null
+
}
- },
- onTabItemTap : function(e) {
- getApp().globalData.selectTab = e.index
+ },
+ mounted() {
+ this.startTimer()
+ this.mqttData()
+ },
+ beforeDestroy() {
+ this.stopTimer()
+ uni.$off(this.$constant.MQTT_TOPIC_MESSAGE)
+ },
+ onTabItemTap: function(e) {
+ getApp().globalData.selectTab = e.index
},
methods: {
queryList(pageNo, pageSize) {
this.loading = true;
- // 缁勪欢鍔犺浇鏃朵細鑷姩瑙﹀彂姝ゆ柟娉曪紝鍥犳榛樿椤甸潰鍔犺浇鏃朵細鑷姩瑙﹀彂锛屾棤闇�鎵嬪姩璋冪敤
- // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲
- // 妯℃嫙璇锋眰鏈嶅姟鍣ㄨ幏鍙栧垎椤垫暟鎹紝璇锋浛鎹㈡垚鑷繁鐨勭綉缁滆姹�
const params = {
pageNo: pageNo,
pageSize: pageSize,
}
this.$api.queryEquList(params).then((res) => {
- // // 灏嗚姹傜殑缁撴灉鏁扮粍浼犻�掔粰z-paging
this.$refs.paging.complete(res.result.records);
this.loading = false
}).catch(res => {
- // 濡傛灉璇锋眰澶辫触鍐檛his.$refs.paging.complete(false);
- // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊
- // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲
this.$refs.paging.complete(false);
this.loading = false
})
},
- itemClick(item) {
- uni.navigateTo({
- url: "/pages/device/control?code="+item.code+"&clientId="+item.clientId
+ // 璁惧鏁版嵁鍜宮tqq瀹炴椂鏁版嵁鍚堝苟
+ mergeMqttRealData(mqttData) {
+ const {
+ tenantid,
+ machineid
+ } = mqttData;
+ if (!tenantid || !machineid) return;
+ const key = `${tenantid}_${machineid}`;
+ const targetItem = this.dataList.find(item =>
+ item.tenantId === tenantid && item.code === machineid
+ );
+ if (targetItem) {
+ const updatedItem = {
+ ...targetItem,
+ realData: mqttData
+ };
+ this.$set(this.dataList, this.dataList.indexOf(targetItem), updatedItem);
+
+ }
+
+
+ },
+ startTimer() {
+ this.timer = setInterval(() => {
+ this.queryRealFaultData();
+ }, 3000);
+ },
+ stopTimer() {
+ clearInterval(this.timer);
+ },
+ queryRealFaultData() {
+ //鍙戦�佹暟鎹�
+ const message = {
+ req: this.deviceId,
+ tenantId: this.tenantId,
+ timeStamp: new Date(),
+
+ }
+ let opts = {
+ topic: this.$constant.MOBILE_REQ_EQU_REAL_FAULT,
+ message: JSON.stringify(message),
+ }
+
+ this.$mqttTool.publish(opts).then(res => {
+
})
+ },
+
+ itemClick(item) {
+ uni.navigateTo({
+ url: "/packageA/pages/device/control?code=" + item.code + "&name=" + item.name + "&clientId=" +
+ item.clientId
+ })
+ },
+ mqttData() {
+ uni.$on(this.$constant.MQTT_TOPIC_MESSAGE, (data) => {
+ try {
+ // 1. 鏁版嵁瑙f瀽鍜岄獙璇�
+ const {
+ data: wdata,
+ topic
+ } = this.parseAndValidateMqttData(data);
+ if (!wdata || !topic) return;
+
+ // 2. 鍑嗗涓婚甯搁噺
+ const topics = this.prepareMqttTopics();
+
+ // 3. 鏇存柊鍒锋柊鏃堕棿
+ this.refreshTime = dayjs().format('HH:mm:ss');
+
+ // 4. 鏍规嵁涓婚澶勭悊鏁版嵁
+ switch (topic) {
+ case topics.updateEquStatu:
+ this.handleEquipmentStatusUpdate(wdata);
+ break;
+ case topics.realData:
+ this.mergeMqttRealData(wdata);
+ break;
+ case topics.realFaultTopic:
+ case topics.oneceFaultTopic:
+ this.handleFaultData(wdata);
+ break;
+ }
+ } catch (error) {
+ console.error('MQTT鏁版嵁澶勭悊閿欒:', error);
+ }
+ });
+ },
+
+ // 杈呭姪鏂规硶锛氳В鏋愬拰楠岃瘉MQTT鏁版嵁
+ parseAndValidateMqttData(data) {
+ try {
+ const json = JSON.parse(data);
+ if (!json?.data || !json?.topic) return {
+ data: null,
+ topic: null
+ };
+ return {
+ data: json.data,
+ topic: json.topic
+ };
+ } catch (e) {
+ return {
+ data: null,
+ topic: null
+ };
+ }
+ },
+
+ // 杈呭姪鏂规硶锛氬噯澶嘙QTT涓婚
+ prepareMqttTopics() {
+ return {
+ updateEquStatu: this.$constant.SERVICE_BROADCAST_TENANT_UPDATE_EQU_STATU
+ .replace('%s', this.tenantId),
+ realData: this.$constant.SERVICE_BROADCAST_TENANT_REAL_DATA
+ .replace('%s', this.tenantId),
+ realFaultTopic: this.$constant.SERVICE_BROADCAST_TENANT_REAL_FAULT
+ .replace('%s', this.tenantId),
+ oneceFaultTopic: this.$constant.SERVICE_ONECE_TENANT_REAL_FAULT.replace('%s', this
+ .deviceId)
+ };
+ },
+
+ // 杈呭姪鏂规硶锛氬鐞嗚澶囩姸鎬佹洿鏂�
+ handleEquipmentStatusUpdate(wdata) {
+ const {
+ connected,
+ tenantId,
+ code
+ } = wdata;
+ const index = this.dataList.findIndex(item =>
+ (item.tenantId + "") === tenantId && item.code === code
+ );
+
+ if (index === -1) return;
+
+ // 鏇存柊鍦ㄧ嚎鐘舵��
+ this.$set(this.dataList[index], 'online', connected);
+
+ // 濡傛灉绂荤嚎锛屽垹闄ゅ疄鏃舵暟鎹�
+ if (!connected && this.dataList[index]?.realData) {
+ this.$delete(this.dataList[index], 'realData');
+ }
+ },
+
+ // 杈呭姪鏂规硶锛氬鐞嗘晠闅滄暟鎹�
+ handleFaultData(wdata) {
+ if (!Array.isArray(wdata)) return;
+
+ // 鎸夎澶囧垎缁勬晠闅滄暟鎹�
+ const faultMap = wdata.reduce((map, item) => {
+ const key = `${item.tenantId}_${item.equCode}`;
+ map.get(key)?.push(item) || map.set(key, [item]);
+ return map;
+ }, new Map());
+
+ // 鏇存柊姣忎釜璁惧鐨勬晠闅滀俊鎭�
+ faultMap.forEach((faults, key) => {
+ const [tenantId, equCode] = key.split("_");
+ const targetItem = this.dataList.find(i =>
+ i.tenantId == tenantId && i.code == equCode
+ );
+
+ if (targetItem) {
+ const updatedItem = {
+ ...targetItem,
+ errorData: faults.filter(f => f.faultType === 1).map(n => n.faultName),
+ warnData: faults.filter(f => f.faultType === 2).map(n => n.faultName),
+ };
+ this.$set(this.dataList, this.dataList.indexOf(targetItem), updatedItem);
+ }
+ });
+
+ this.faultEquCount = this.dataList.filter(item => {
+ return (
+ item.errorData &&
+ Array.isArray(item.errorData) &&
+ item.errorData.length > 0
+ );
+ }).length || 0;
+
+ this.alarmEquCount = this.dataList.filter(item => {
+ return (
+ item.warnData &&
+ Array.isArray(item.warnData) &&
+ item.warnData.length > 0
+ );
+ }).length || 0;
+
}
+
+
},
onReady() {
@@ -176,6 +444,14 @@
onlineCount() {
const list = this.dataList.filter(item => item.online)
return list.length
+ },
+ tenantId() {
+ const userinfo = uni.getStorageSync('userinfo');
+ const tenantid = userinfo.loginTenantId
+ return tenantid + "";
+ },
+ deviceId() {
+ return uni.getStorageSync(this.$constant.DEVICE_ID);
}
}
}
@@ -195,7 +471,24 @@
background-color: white;
border-radius: 20rpx;
font-family: Helvetica Neue, Helvetica, sans-serif;
+ }
+ .card-item-box {
+ margin: 0rpx 20rpx 10rpx 20rpx;
+ padding: 20rpx;
+ box-sizing: border-box;
+ background-color: white;
+ border-radius: 20rpx;
+ font-family: Helvetica Neue, Helvetica, sans-serif;
+ }
+
+ /* 绗簩涓強涔嬪悗鐨� item */
+ .card-item-box:not(:first-child) {
+ margin: 10rpx 20rpx;
+ }
+
+ .margin-left-sm {
+ margin-left: 20rpx;
}
diff --git a/pages/tabBar/formula.vue b/pages/tabBar/formula.vue
index fbd51e0..7a3e56b 100644
--- a/pages/tabBar/formula.vue
+++ b/pages/tabBar/formula.vue
@@ -61,7 +61,7 @@
showItem(item){
console.info(item)
uni.navigateTo({
- url:"/pages/category/formulaDetail"
+ url:"/packageA/pages/category/formulaDetail"
})
},
getImg() {
diff --git a/pages/tabBar/general.vue b/pages/tabBar/general.vue
index 5dd04a6..ffbf736 100644
--- a/pages/tabBar/general.vue
+++ b/pages/tabBar/general.vue
@@ -367,6 +367,9 @@
// #endif
// #ifdef APP-PLUS
url: 'wx://' + this.$api.mqttBaseUrl + ':8083/mqtt',
+ // #endif
+ // #ifdef MP-WEIXIN
+ url: 'wss://' + this.$api.mqttBaseUrl + '/mqtt', // 蹇呴』鐢� wss锛岀鍙i�氬父涓�443鍙渷鐣�
// #endif
clientId: this.deviceId,
username: account.username,
@@ -397,7 +400,9 @@
qos: 0
}).then(res => {
console.error(res)
- })
+ })
+
+
//璁㈤槄鍙戦�佹寚浠よ繑鍥炵粨鏋�
// this.$mqttTool.subscribe({
// topic: this.$constant.SERVICE_RES_EQU_CMD,
@@ -456,7 +461,7 @@
},
goCharts(e) {
uni.navigateTo({
- url: "/pages/charts/charts"
+ url: "/packageA/pages/charts/charts"
})
},
getOrderList(date1, date2) {
@@ -573,7 +578,6 @@
<style lang="scss" scoped>
.app {
width: 100%;
- max-height: 100vh;
overflow: hidden;
}
diff --git a/pages/tabBar/me.vue b/pages/tabBar/me.vue
index a451278..ad010a9 100644
--- a/pages/tabBar/me.vue
+++ b/pages/tabBar/me.vue
@@ -227,15 +227,15 @@
itemClick(mode) {
if (mode == 'control') {
uni.navigateTo({
- url: "/pages/me/control"
+ url: "/packageA/pages/me/control"
})
} else if (mode == 'video') {
uni.navigateTo({
- url: "/pages/me/video"
+ url: "/packageA/pages/me/video"
})
} else if (mode == 'analy') {
uni.navigateTo({
- url: "/pages/me/analy"
+ url: "/packageA/pages/me/analy"
})
} else if (mode == 'other') {
uni.navigateTo({
diff --git a/pages/tabBar/warning-new.vue b/pages/tabBar/warning-new.vue
new file mode 100644
index 0000000..0bc5e1e
--- /dev/null
+++ b/pages/tabBar/warning-new.vue
@@ -0,0 +1,267 @@
+<template>
+ <view class="app">
+ <z-paging ref="paging" v-model="dataList" show-refresher-update-time @query="queryList" :hide-empty-view="true">
+ <!-- 闇�瑕佸浐瀹氬湪椤堕儴涓嶆粴鍔ㄧ殑view鏀惧湪slot="top"鐨剉iew涓紝濡傛灉闇�瑕佽窡鐫�婊氬姩锛屽垯涓嶈璁剧疆slot="top" -->
+ <template #top>
+ <cu-custom bgColor="bg-gradual-blue" :isBack="false" :isRight="true" @rightclick="">
+ <block slot="content">鎶ヨ鏈哄彴</block>
+ </cu-custom>
+ <view class="card-box dynamic shadow">
+ <view class="title-box margin-bottom-sm">
+ <view style="width: 100vw;" class="left justify-between">
+ <view class="flex align-center">
+ <uni-text class="cuIcon-titles text-blue"></uni-text>
+ <view class="title">鎬昏</view>
+ </view>
+ <view>
+ <text class="text-gray text-sm">{{curDate}}</text>
+ </view>
+
+ </view>
+
+ </view>
+ <view class="flex flex-direction padding-xs">
+ <view class="flex">
+ <view class="flex-sub flex flex-direction">
+ <text class="text-df">鎶ヨ鎬绘暟</text>
+ <text class="text-bold text-sl margin-top-xs text-red margin-top-sm">{{count}}
+ <text class="text-gray text-sm margin-left-xs">娆�</text></text>
+
+ </view>
+ <view class="flex-twice flex flex-direction justify-between">
+ <view class="flex-sub flex">
+ <view class="flex flex-direction flex-sub">
+ <text class="text-gray text-xs">鎶ヨ淇℃伅</text>
+
+ <text class="text-black">鏁呴殰娆℃暟:</text>
+ <text class="margin-lr-xs text-red text-bold text-xl">{{faultCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+ <view class="flex flex-direction flex-sub">
+ <text class="text-gray text-xs">鏈哄彴淇℃伅</text>
+
+ <text class="text-black">鏁呴殰鏈哄彴:</text>
+ <text class="margin-lr-xs text-red">{{faultEqus}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+
+ </view>
+ <view class="flex-sub flex">
+ <view class="flex flex-direction flex-sub">
+ <text class="text-white text-xs">鎶ヨ淇℃伅</text>
+
+ <text class="text-black">鍛婅娆℃暟:</text>
+ <text class="margin-lr-xs text-orange text-bold text-xl">{{alarmCount}}</text>
+ <text class="text-gray text-xs"></text>
+
+
+ </view>
+ <view class="flex flex-direction flex-sub">
+ <text class="text-white text-xs">鏈哄彴淇℃伅</text>
+ <text class="text-black">鍛婅鏈哄彴:</text>
+ <text class="margin-lr-xs text-orange">{{alarmEqus}}</text>
+ <text class="text-gray text-xs"></text>
+
+ </view>
+
+ </view>
+
+ </view>
+
+ </view>
+
+ </view>
+
+
+
+ </view>
+
+
+
+ </template>
+ <view class="container">
+ <view class="flex align-center">
+ <uni-text class="cuIcon-titles text-blue"></uni-text>
+ <view class="title">璁惧鍒楄〃</view>
+ </view>
+ <view class="equ-box">
+ <div v-for="(item,index) in dataList" :key="index" class="equ-item">
+
+ </div>
+
+ </view>
+ </view>
+
+
+
+
+ </z-paging>
+
+ </view>
+</template>
+
+<script>
+
+ import dayjs from 'dayjs'
+ export default {
+
+ data() {
+ return {
+ loading: true,
+ dataList: [],
+ curDate: dayjs().format('YYYY-MM-DD'),
+ //瀹炴椂鎶ヨ鏁版嵁鏇存柊鏃堕棿锛堜竴鑸�10s锛�
+ refreshTime: '',
+ //鎶ヨ鎬绘暟
+ count: 0,
+ //鍛婅鎬绘暟
+ alarmCount: 0,
+ //鏁呴殰鎬绘暟
+ faultCount: 0,
+ //鏁呴殰鏈哄彴
+ faultEqus: "",
+ //鍛婅鏈哄彴
+ alarmEqus: "",
+ }
+ },
+ onTabItemTap: function(e) {
+ getApp().globalData.selectTab = e.index
+ },
+ onShow() {
+
+ },
+ onReady() {
+
+ },
+ methods: {
+
+ queryList(pageNo, pageSize) {
+ this.loading = true;
+ const params = {
+ pageNo: pageNo,
+ pageSize: pageSize,
+ }
+
+ this.$api.queryEquList(params).then((res) => {
+ this.$refs.paging.complete(res.result.records);
+ this.loading = false
+ }).catch(res => {
+
+ this.$refs.paging.complete(false);
+ this.loading = false
+ })
+
+ },
+
+ queryRealFaultData() {
+ //鍙戦�佹暟鎹�
+ const message = {
+ req: this.deviceId,
+ tenantId: this.tenantId,
+ timeStamp: new Date(),
+
+ }
+ let opts = {
+ topic: this.$constant.MOBILE_REQ_EQU_REAL_FAULT,
+ message: JSON.stringify(message),
+ }
+
+ this.$mqttTool.publish(opts).then(res => {
+ //console.error(res)
+ })
+ },
+
+
+
+
+
+
+ },
+ onReady() {
+
+ },
+ computed: {
+ tenantId() {
+ const userinfo = uni.getStorageSync('userinfo');
+ const tenantid = userinfo.loginTenantId
+ return tenantid + "";
+ },
+ deviceId() {
+ return uni.getStorageSync(this.$constant.DEVICE_ID);
+ },
+
+ },
+ }
+</script>
+
+<style lang="scss" scoped>
+ .container {
+ margin: 0 20rpx;
+ padding: 20rpx;
+ box-sizing: border-box;
+ background-color: white;
+ font-family: Helvetica Neue, Helvetica, sans-serif;
+ border-radius: 20rpx;
+
+ }
+
+ .card-box {
+ margin: 20rpx;
+ padding: 20rpx;
+ box-sizing: border-box;
+ background-color: white;
+ border-radius: 20rpx;
+ font-family: Helvetica Neue, Helvetica, sans-serif;
+
+ }
+
+ .title-box {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+
+ .left {
+ display: flex;
+ align-items: center;
+
+ .title {
+ margin: 0 10rpx;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ display: flex;
+ align-items: center;
+
+ .title {
+ margin: 0 10rpx;
+ font-weight: bold;
+ }
+ }
+ }
+
+ .equ-box {
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: 20rpx;
+ gap: 20rpx 0px;
+ justify-content: space-between;
+ }
+
+ .equ-item {
+ width: calc((100% - 20rpx)/2);
+ height: 200rpx;
+ border-radius: 20rpx;
+ background-color: #ecf5ff;
+ }
+
+ .borderTop {
+ border-top: 2rpx solid #f2f2f2;
+ padding-top: 20rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/tabBar/warning.vue b/pages/tabBar/warning.vue
index 590c26f..c3aed9d 100644
--- a/pages/tabBar/warning.vue
+++ b/pages/tabBar/warning.vue
@@ -4,7 +4,7 @@
<!-- 闇�瑕佸浐瀹氬湪椤堕儴涓嶆粴鍔ㄧ殑view鏀惧湪slot="top"鐨剉iew涓紝濡傛灉闇�瑕佽窡鐫�婊氬姩锛屽垯涓嶈璁剧疆slot="top" -->
<template #top>
<cu-custom bgColor="bg-gradual-blue" :isBack="false" :isRight="true" @rightclick="rclick">
- <block slot="content">鎶ヨ</block>
+ <block slot="content">鎶ヨ缁熻</block>
</cu-custom>
@@ -33,6 +33,7 @@
</view>
</view>
+
<view class="flex flex-direction padding-xs">
<view class="flex">
<view class="flex-sub flex flex-direction">
@@ -114,8 +115,8 @@
</view>
<!-- 濡傛灉甯屾湜鍏朵粬view璺熺潃椤甸潰婊氬姩锛屽彲浠ユ斁鍦▃-paging鏍囩鍐� -->
- <real-warning ref="realWarining" v-if="tabCurrent === 0" @handleData="realHandleData"></real-warning>
- <his-warning ref="hisWarining" v-else @handleData="hisHandleData"></his-warning>
+ <!-- <real-warning ref="realWarining" v-if="tabCurrent === 0" @handleData="realHandleData"></real-warning> -->
+ <his-warning ref="hisWarining" v-if="tabCurrent === 0" @handleData="hisHandleData"></his-warning>
</z-paging>
@@ -139,18 +140,20 @@
// v-model缁戝畾鐨勮繖涓彉閲忎笉瑕佸湪鍒嗛〉璇锋眰缁撴潫涓嚜宸辫祴鍊硷紒锛侊紒
dataList: [],
curDate: dayjs().format('YYYY-MM-DD'),
- tabList: [{
- name: '瀹炴椂鎶ヨ',
- // badge: {
- // count: 6
- // }
- }, {
+ tabList: [
+ // {
+ // name: '瀹炴椂鎶ヨ',
+ // // badge: {
+ // // count: 6
+ // // }
+ // },
+ {
name: '鎶ヨ缁熻',
}],
- equList: [{
+ equList: [/* {
code: 1,
name: '1#骞茬嚗鏈�'
- },
+ }, */
{
code: 2,
name: '2#骞茬嚗鏈�'
diff --git a/private.wx8aa7310d86d0b80d.key b/private.wx8aa7310d86d0b80d.key
deleted file mode 100644
index 8f82259..0000000
--- a/private.wx8aa7310d86d0b80d.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAtRvOKvFO0xk1Kwn+v19FgkvW/gIWXg/prT8gPbtlIK8reX+J
-Xnom+DmQzgX8ECstbvl0xh1nxdY+IgV7pY+dR2QHj7al7B4ukwTu4k6d4dM95TGP
-noJXl+VhS6Cssexzhk8n6ozkCtdHP1vv4zkMdkP9DirbZb7ccxhI40gXkzQu2xav
-GTl2/XzuWwuLPBTjIhIY61++hzCxjnKpm2+9xUg60FIu+azr6zt4/eu81RJd/e/4
-nGOdR0NpkmIDuGaVlzfuyh3dr2+XXU65FWuijyFacVB4jqRpYr0/zZtCoQDvlKAm
-LvTlYgYXtBpN286nPq64czn+vHYsRY/wI3mF8QIDAQABAoIBACixH6iMYV6S6lxK
-OZ+8Az0cVyjpRSdLQgC4D0FvinBGi2kYG8BLh9f77yorNBBZ8zJdADzHPJq54Wn5
-e2eelgMFWaGTs0ITIfnMgPP+IAEuWljVwuQlexLY6fx5FHRBoU9LF7feghphdlOp
-D4QpPECSVBhLztHUiWmeyjmu6AUdsqpQX8E5shD9j2yXLznz3X1S1AGzwKAwQOYL
-FiZ/wFX59opd693LdMEq/262RHjnSOoT8OAbq7t6I/WVdp1hqEBXqyyUnu0SBOtn
-S0Bz6xAaHOZCiNzvtMhEiDVlqvIiODqS0nh7D/d2iyuU9nni0Ckale7WYNYnu5kE
-Xyao7cUCgYEA2NXYwy80QnHm/mE0TMhuhDvFNEmTwOexUEDIciajsi/EzgA55jmv
-KLNPWgAwebYc0si+obfImLWxwPvgD3goND7jq8WSH+fdryRvN0IpXkA/zIVjgTxb
-UcFH0XMlmo0tYYXJbIbpwVXRIOyCay2kKhdJg1v/1sygk/Y9hN0xuHsCgYEA1dIB
-pSmbuRRhaK4d5sHmZLhuoeXLmj/GkmCQJw03cA8aBpkvCaDmiyPCdIhH7Ju0IC1N
-YgTPqeJBv2cA3TNbOqC0uXFY5cnq/XWzbHr5DEZOmHfRgy3EKx7EZ5d3lJMRNvF9
-x99WUyudChNFBpEBcO7zCW27RAFHhpk13ooHrYMCgYEAgu8uwz3/2peZGsZrpGnr
-gmHtRROg6v19bq6P245FjtWVi6dLTyBKCtOr+PbgTr6PTSD3LAQkV0JwIc52kCDI
-djP7mr/k6utCS/4+QinrfQRjAgcR/PoLUqTZzzou3NKfMqJs7OHSyXIepDjsz/dx
-iBEjzPSC2pwZ4v7wSwiee30CgYEAzdE0XDNM/j6r9QOFLNaAW3tcouJ7taKmFch1
-eeGy917SAn/5Ux9aS5zEVT/JW+wU2tRApJVU/4YXG5Ketk31Bt4imE6O78IJPKjL
-aSSGDlau2Pyc49Rt+8PF8qFOLenSrDyQgpBsm+pjY4tg6g0yge7AatcBZ1iD7QAV
-Zn0fHtkCgYEAjzdUZ74EaKYuVrQIr0cCOxl5PympiFla5Ued01yBqRbWjOfNPVkg
-einVTdOdSlZtLIFpNKWDqFES7JZQ+UG3k8mECPPAIEMpQXchXRafZWUOYWks9l9I
-1yb0Ka/NP+FoSPmZcQYqK5TMCHqyZtxy9vNixXTRiypiz8+SLgzEzTA=
------END RSA PRIVATE KEY-----
diff --git a/private.wxe6f8a31c3df63a20.key b/private.wxe6f8a31c3df63a20.key
new file mode 100644
index 0000000..c53ba44
--- /dev/null
+++ b/private.wxe6f8a31c3df63a20.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA0BFj3BZsxbfJdpVxGZTwHHrmHTZtdJ708RwgJb5qcOWu8m7S
+KxOhXiObzMxCVYrsPtfnbvd6QbfdP7XKF2DK2cvzoNcX+6H3WQW9GYZOumV8vMHY
+YFQNtJMw5a41+M18baDDRglGy2U0i/dg/WRi0EDbaaf6PlqouPym06iQp5cQx6nQ
+pHFyeH1RYOxx6ygqielyjMGCVtwh6yQyAt9R4IYsJpW6VS9Yu8YvP5w4Bc/P+KnN
+M7OsV9a5nMew6KJUfXa0eU2HRnWtPYx7W2OTxT0zTdO90Iknetg8LMO9cmgEt9mX
+74JCc7TwGf5RBmieQK14wYkZSK9EbGjMAfDmrQIDAQABAoIBAGEA2oePROLhDmHk
+xjfhAhilC4dvCpSmTxfhvvMZ1VIRIwEPvZgrrL3Q6CAQ0pRDEmUyD0niwvLEn7fG
+LxO7IpdryIeiACJmnoS4cjLmNOodyovN6+ztAv6+6LsL/0mhs3MA0klipcjJxDfE
++0jndlIVCrY1hCtx5NtpnvVqzxXyNqzo/qs07euThUUvclNJsN8+YM2OJwGLpY/z
+lAsyYlohqfwVALTdFJoAdrcjN4nDS4xGue4Fj8XaDRAD4cayhG6cMO1acRYW0u+a
+2+XaeKGeHQCea/6E/6hJ0KmcT9nWbSLD09xfxvyovxXMe7msvX7k4WJUKLvXcqZh
+rVoj2NkCgYEA7X9Ead5qQtFzS805tEtV1dRPJGDpooX6NJl3BzqceJXd6jhnTsSv
+OqrK4p5Hrog4EF3MzVB7PtRS156emZ7MWe4qQTQu69+Vy1MxZwxcIN7N3lWlE2A9
+aAFqx65UEVlsApfZvP2Q5PBi1yknP8cngih5fd8R9P6rG0/l6OrF0iMCgYEA4Ecs
+8y46UdmIiBwYj8mDb8OzrOZ+b7IpPIiltc92kLqC9HsNDMlo5XwilsjCsX+lnMl6
+xFwT5hY54BCvouvkdtr4EJcvWARCUpIUmkbU6/hkc4dLMrvlaP8N1JWnT4vWBz4j
+OXiKMkreLFMGNZviY121dfCDA4MSs6UL3OAG6O8CgYEAudtp14vmDmpI1x5AtTZr
+cs4WLTrmO3iriHQ8sNyOTNPDeaMwPXUwSDIWWehR4mTZsv0k49vCxzVzqyeHqGKc
+Oxhl2ucSfSZY3Gg7dhA3HMYfx4mwiIw9IeJSBPgI9BbNru3UyNCKjo8MWqLrAz9A
+TNyNzxI9xENz9gi9vFvV+Y8CgYEAiQ+WTcsbgvfQ83VQIVdCRuQvguOdsz8K6l6L
+/q8Zw1roOuaUVBMmUtBpBwML0JO0rzuGFkg7NOqyVdd8rrFAfs5UuTbbjQuVSIbT
+pnDRIKA9K0ksUIX5rg/o8NjAVeGcW/LCbhXXRuLwIeBfNBXe5WDYS4o/Vr8ch8K+
+nC4gqusCgYA0vgMDTpCtFv1oR2Id/saRA1+oClB4xclJfYZiMVAAo0yVvRFoqoBP
+QFbVWt6Tdll5fV7LNpre11ckRF8B8nYA8HxYZ1UhHSVgrTwQYsH8Tx2w+ung58UU
+lLNHHmxb7Z+0+5ZgMXvpNcwHocpfT5uTUbo2PtvHl1ldZTumjP63Hw==
+-----END RSA PRIVATE KEY-----
--
Gitblit v1.9.3