临时提交

master
blak-kong 2 years ago
parent c2cfcd5f90
commit 5c85dc7e5d

188
package-lock.json generated

@ -9,9 +9,8 @@
"version": "1.0.0",
"dependencies": {
"@antmjs/vantui": "^3.2.2",
"@babel/runtime": "^7.7.7",
"@flossom-npm/iot-translater": "^1.0.14",
"@flossom-npm/iot-translater-we100": "^1.0.74",
"@flossom-npm/iot-translater": "^1.0.8",
"@flossom-npm/iot-translater-we100": "^1.0.66",
"@reduxjs/toolkit": "^2.0.1",
"@taroify/core": "^0.1.1-alpha.8",
"@tarojs/components": "3.6.19",
@ -35,11 +34,11 @@
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-redux": "^9.0.3",
"taro-ui": "^3.2.0",
"terser-webpack-plugin": "^5.3.9"
"taro-ui": "^3.2.0"
},
"devDependencies": {
"@babel/core": "^7.8.0",
"@babel/runtime": "^7.7.7",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"@tarojs/cli": "3.6.19",
"@tarojs/taro-loader": "3.6.19",
@ -61,6 +60,7 @@
"react-refresh": "^0.11.0",
"stylelint": "9.3.0",
"taro-plugin-compiler-optimization": "^1.0.4",
"terser-webpack-plugin": "^5.3.9",
"thread-loader": "^4.0.2",
"ts-node": "^10.9.1",
"typescript": "^4.1.0",
@ -4254,15 +4254,15 @@
}
},
"node_modules/@flossom-npm/iot-translater": {
"version": "1.0.14",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater/-/1.0.14/iot-translater-1.0.14.tgz",
"integrity": "sha512-rpqLLgYoX/vFVS8jGtk6AfTxyXtrSnX94LvMROUOslZBLC40PuzClLGWr4E9qXdCqeneOA9jssZrZbHysfd7yA==",
"version": "1.0.8",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater/-/1.0.8/iot-translater-1.0.8.tgz",
"integrity": "sha512-mx2TvBzqexz3vwol3AElnHde5LYBBk/KD6iXF08MRdexipIVQBr6DZX2tJztvPyx61GY3oFToPbej3m/sFZEQg==",
"license": "ISC"
},
"node_modules/@flossom-npm/iot-translater-we100": {
"version": "1.0.74",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater-we100/-/1.0.74/iot-translater-we100-1.0.74.tgz",
"integrity": "sha512-6FgvU+YVjdLeiU96E5fhqXgcvT2rh0ZNkOpLK647abtezVYge/WcFotjZezkw9QHSBK8qrBpS8XbQFkRSt/nWw==",
"version": "1.0.66",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater-we100/-/1.0.66/iot-translater-we100-1.0.66.tgz",
"integrity": "sha512-dZNvUONleoGddwv2qLZQWUCoFPNi4MKPL/F1YDrePQyUawm0nAGkh6ZBOUPtmFN5ENXs4QlfPVy0wALJioCtKA==",
"license": "ISC"
},
"node_modules/@gar/promisify": {
@ -4672,6 +4672,7 @@
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz",
"integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
@ -8089,6 +8090,7 @@
"version": "8.44.7",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.44.7.tgz",
"integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "*",
@ -8099,6 +8101,7 @@
"version": "3.7.7",
"resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
"integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/eslint": "*",
@ -8109,6 +8112,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/expect": {
@ -8239,6 +8243,7 @@
"version": "7.0.15",
"resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/json5": {
@ -9201,6 +9206,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz",
"integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/helper-numbers": "1.11.6",
@ -9211,24 +9217,28 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
"integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-api-error": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
"integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-buffer": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
"integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-numbers": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
"integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/floating-point-hex-parser": "1.11.6",
@ -9240,12 +9250,14 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
"integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-wasm-section": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
"integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.11.6",
@ -9258,6 +9270,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
"integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
@ -9267,6 +9280,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
"integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@xtuc/long": "4.2.2"
@ -9276,12 +9290,14 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
"integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/wasm-edit": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
"integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.11.6",
@ -9298,6 +9314,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
"integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.11.6",
@ -9311,6 +9328,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
"integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.11.6",
@ -9323,6 +9341,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
"integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.11.6",
@ -9337,6 +9356,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
"integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@webassemblyjs/ast": "1.11.6",
@ -9356,12 +9376,14 @@
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/@xtuc/long": {
"version": "4.2.2",
"resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/abab": {
@ -9441,6 +9463,7 @@
"version": "1.9.0",
"resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"acorn": "^8"
@ -9537,6 +9560,7 @@
"version": "6.12.6",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
@ -9595,6 +9619,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"ajv": "^6.9.1"
@ -11741,6 +11766,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6.0"
@ -14257,6 +14283,7 @@
"version": "5.15.0",
"resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
"integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.4",
@ -14270,6 +14297,7 @@
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz",
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@ -14890,6 +14918,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz",
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
@ -14903,6 +14932,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
@ -15104,6 +15134,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"estraverse": "^5.2.0"
@ -15116,6 +15147,7 @@
"version": "5.3.0",
"resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
@ -15166,6 +15198,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.8.x"
@ -16194,6 +16227,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true,
"license": "MIT"
},
"node_modules/fast-levenshtein": {
@ -17273,6 +17307,7 @@
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true,
"license": "BSD-2-Clause"
},
"node_modules/global-dirs": {
@ -20607,6 +20642,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true,
"license": "MIT"
},
"node_modules/json-schema": {
@ -20650,6 +20686,7 @@
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true,
"license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
@ -21042,6 +21079,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
"integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6.11.5"
@ -27302,6 +27340,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@ -27435,6 +27474,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "^5.1.0"
@ -29442,6 +29482,7 @@
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
"funding": [
{
"type": "github",
@ -29580,6 +29621,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.8",
@ -29886,6 +29928,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
"integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"randombytes": "^2.1.0"
@ -32938,6 +32981,7 @@
"version": "5.24.0",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.24.0.tgz",
"integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@ -32956,6 +33000,7 @@
"version": "5.3.9",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
"integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"dev": true,
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5",
@ -32985,6 +33030,7 @@
"version": "2.20.3",
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true,
"license": "MIT"
},
"node_modules/text-encoding": {
@ -34241,6 +34287,7 @@
"version": "4.4.1",
"resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
@ -34742,6 +34789,7 @@
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz",
"integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true,
"license": "MIT",
"dependencies": {
"glob-to-regexp": "^0.4.1",
@ -34784,6 +34832,7 @@
"version": "5.89.0",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz",
"integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@ -35218,12 +35267,14 @@
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
"dev": true,
"license": "MIT"
},
"node_modules/webpack/node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz",
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@ -35233,6 +35284,7 @@
"version": "3.2.3",
"resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10.13.0"
@ -38848,14 +38900,14 @@
}
},
"@flossom-npm/iot-translater": {
"version": "1.0.14",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater/-/1.0.14/iot-translater-1.0.14.tgz",
"integrity": "sha512-rpqLLgYoX/vFVS8jGtk6AfTxyXtrSnX94LvMROUOslZBLC40PuzClLGWr4E9qXdCqeneOA9jssZrZbHysfd7yA=="
"version": "1.0.8",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater/-/1.0.8/iot-translater-1.0.8.tgz",
"integrity": "sha512-mx2TvBzqexz3vwol3AElnHde5LYBBk/KD6iXF08MRdexipIVQBr6DZX2tJztvPyx61GY3oFToPbej3m/sFZEQg=="
},
"@flossom-npm/iot-translater-we100": {
"version": "1.0.74",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater-we100/-/1.0.74/iot-translater-we100-1.0.74.tgz",
"integrity": "sha512-6FgvU+YVjdLeiU96E5fhqXgcvT2rh0ZNkOpLK647abtezVYge/WcFotjZezkw9QHSBK8qrBpS8XbQFkRSt/nWw=="
"version": "1.0.66",
"resolved": "https://gitea.ecolite.co/api/packages/huangbangxin/npm/%40flossom-npm%2Fiot-translater-we100/-/1.0.66/iot-translater-we100-1.0.66.tgz",
"integrity": "sha512-dZNvUONleoGddwv2qLZQWUCoFPNi4MKPL/F1YDrePQyUawm0nAGkh6ZBOUPtmFN5ENXs4QlfPVy0wALJioCtKA=="
},
"@gar/promisify": {
"version": "1.1.3",
@ -39134,6 +39186,7 @@
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz",
"integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
"dev": true,
"requires": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
@ -41647,6 +41700,7 @@
"version": "8.44.7",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.44.7.tgz",
"integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==",
"dev": true,
"requires": {
"@types/estree": "*",
"@types/json-schema": "*"
@ -41656,6 +41710,7 @@
"version": "3.7.7",
"resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
"integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
"dev": true,
"requires": {
"@types/eslint": "*",
"@types/estree": "*"
@ -41664,7 +41719,8 @@
"@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"@types/expect": {
"version": "1.20.4",
@ -41781,7 +41837,8 @@
"@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
"@types/json5": {
"version": "0.0.29",
@ -42558,6 +42615,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz",
"integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
"dev": true,
"requires": {
"@webassemblyjs/helper-numbers": "1.11.6",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6"
@ -42566,22 +42624,26 @@
"@webassemblyjs/floating-point-hex-parser": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
"integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw=="
"integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
"integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q=="
"integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
"integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA=="
"integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
"dev": true
},
"@webassemblyjs/helper-numbers": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
"integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
"requires": {
"@webassemblyjs/floating-point-hex-parser": "1.11.6",
"@webassemblyjs/helper-api-error": "1.11.6",
@ -42591,12 +42653,14 @@
"@webassemblyjs/helper-wasm-bytecode": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
"integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA=="
"integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
"integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.6",
"@webassemblyjs/helper-buffer": "1.11.6",
@ -42608,6 +42672,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
"integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
@ -42616,6 +42681,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
"integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
@ -42623,12 +42689,14 @@
"@webassemblyjs/utf8": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
"integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA=="
"integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
"integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.6",
"@webassemblyjs/helper-buffer": "1.11.6",
@ -42644,6 +42712,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
"integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.6",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6",
@ -42656,6 +42725,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
"integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.6",
"@webassemblyjs/helper-buffer": "1.11.6",
@ -42667,6 +42737,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
"integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.6",
"@webassemblyjs/helper-api-error": "1.11.6",
@ -42680,6 +42751,7 @@
"version": "1.11.6",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
"integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.6",
"@xtuc/long": "4.2.2"
@ -42694,12 +42766,14 @@
"@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"dev": true
},
"@xtuc/long": {
"version": "4.2.2",
"resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true
},
"abab": {
"version": "2.0.6",
@ -42760,6 +42834,7 @@
"version": "1.9.0",
"resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true,
"requires": {}
},
"acorn-jsx": {
@ -42827,6 +42902,7 @@
"version": "6.12.6",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@ -42867,6 +42943,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true,
"requires": {}
},
"anser": {
@ -44430,7 +44507,8 @@
"chrome-trace-event": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true
},
"ci-info": {
"version": "3.9.0",
@ -46244,6 +46322,7 @@
"version": "5.15.0",
"resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
"integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@ -46252,7 +46331,8 @@
"tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz",
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true
}
}
},
@ -46803,6 +46883,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz",
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"requires": {
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
@ -46811,7 +46892,8 @@
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
}
}
},
@ -46850,6 +46932,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
"requires": {
"estraverse": "^5.2.0"
}
@ -46857,7 +46940,8 @@
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true
},
"estree-walker": {
"version": "2.0.2",
@ -46889,7 +46973,8 @@
"events": {
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true
},
"exec-async": {
"version": "2.2.0",
@ -47672,7 +47757,8 @@
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
"fast-levenshtein": {
"version": "2.0.6",
@ -48453,7 +48539,8 @@
"glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
"global-dirs": {
"version": "3.0.1",
@ -50766,7 +50853,8 @@
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"json-schema": {
"version": "0.4.0",
@ -50806,7 +50894,8 @@
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@ -51075,7 +51164,8 @@
"loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
"integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg=="
"integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true
},
"loader-utils": {
"version": "2.0.4",
@ -55576,7 +55666,8 @@
"punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true
},
"pupa": {
"version": "2.1.1",
@ -55659,6 +55750,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
"requires": {
"safe-buffer": "^5.1.0"
}
@ -57166,7 +57258,8 @@
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
},
"safe-json-stringify": {
"version": "1.2.0",
@ -57246,6 +57339,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@ -57477,6 +57571,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
"integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
}
@ -59755,6 +59850,7 @@
"version": "5.24.0",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.24.0.tgz",
"integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
"dev": true,
"requires": {
"@jridgewell/source-map": "^0.3.3",
"acorn": "^8.8.2",
@ -59765,7 +59861,8 @@
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
}
}
},
@ -59773,6 +59870,7 @@
"version": "5.3.9",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
"integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"dev": true,
"requires": {
"@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5",
@ -60684,6 +60782,7 @@
"version": "4.4.1",
"resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}
@ -61048,6 +61147,7 @@
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz",
"integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true,
"requires": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
@ -61080,6 +61180,7 @@
"version": "5.89.0",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz",
"integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
"@types/estree": "^1.0.0",
@ -61110,17 +61211,20 @@
"es-module-lexer": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w=="
"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
"dev": true
},
"tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz",
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true
},
"webpack-sources": {
"version": "3.2.3",
"resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true
}
}
},

@ -36,8 +36,8 @@
"author": "",
"dependencies": {
"@antmjs/vantui": "^3.2.2",
"@flossom-npm/iot-translater": "^1.0.14",
"@flossom-npm/iot-translater-we100": "^1.0.74",
"@flossom-npm/iot-translater": "^1.0.8",
"@flossom-npm/iot-translater-we100": "^1.0.66",
"@reduxjs/toolkit": "^2.0.1",
"@taroify/core": "^0.1.1-alpha.8",
"@tarojs/components": "3.6.19",
@ -65,6 +65,7 @@
},
"devDependencies": {
"@babel/core": "^7.8.0",
"@babel/runtime": "^7.7.7",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"@tarojs/cli": "3.6.19",
"@tarojs/taro-loader": "3.6.19",
@ -86,11 +87,10 @@
"react-refresh": "^0.11.0",
"stylelint": "9.3.0",
"taro-plugin-compiler-optimization": "^1.0.4",
"terser-webpack-plugin": "^5.3.9",
"thread-loader": "^4.0.2",
"ts-node": "^10.9.1",
"typescript": "^4.1.0",
"webpack": "^5.78.0",
"terser-webpack-plugin": "^5.3.9",
"@babel/runtime": "^7.7.7"
"webpack": "^5.78.0"
}
}

@ -50,7 +50,7 @@ import { DeviceToolKit as DeviceToolKitFR200 } from "@flossom-npm/iot-translater
import { showModal, msg } from "@/utils/traoAPI";
// const { InstrumentTypeEnum, OtaDeviceTypeEnum } = app.globalData;
import InstrumentTypeEnum from "../instrumentTypeEnum";
import InstrumentTypeEnum from "../InstrumentTypeEnum";
import OtaDeviceTypeEnum from "../OtaDeviceTypeEnum";
let isGetVersionTimer: any = null;
@ -70,7 +70,7 @@ let searchBluetootTimersNum = 0; // 搜索蓝牙秒数
let connectionTimer: any = null; // 连接蓝牙定时器
let connectionTimerNum = 0;
let sendPairingTimer: any = null;
let sendPairingTimer: any = null; // 发送配对
import "./index.less";
@ -146,7 +146,7 @@ class ConnectionBluetoot extends Component<any, any> {
/** 开始连接 */
connection() {
this.setState({
isConnection: true,
isConnection: false,
});
//初始化 蓝牙连接
this.bluetoothInit();
@ -213,7 +213,7 @@ class ConnectionBluetoot extends Component<any, any> {
openBluetoothAdapter() {
openBluetoothAdapter()
.then((res) => {
console.info("openBluetoothAdapter res value =>", res);
console.log("openBluetoothAdapter res value =>", res);
let { errno, errMsg } = res;
if (errno == 0) {
this.startBluetoothDevicesDiscovery();
@ -236,7 +236,7 @@ class ConnectionBluetoot extends Component<any, any> {
this.close();
});
} else {
console.info("openBluetoothAdapter err value => ", err);
console.log("openBluetoothAdapter err value => ", err);
this.failErrorCode(errno, errMsg);
}
});
@ -298,6 +298,8 @@ class ConnectionBluetoot extends Component<any, any> {
// };
// let type = this.props.yiqiInfo.model || "FR200";
let type = "WE200";
// this.props.yiqiInfo.model = type;
console.log(" this.props.yiqiInfo.model", this.props.yiqiInfo.model);
// console.info('搜索到到蓝牙设备 value => ', item.devices[0]?.name)
for (let i = 0; i < item.devices.length; i++) {
if (
@ -307,18 +309,13 @@ class ConnectionBluetoot extends Component<any, any> {
: item.devices[i].name
).indexOf(`${type}`) !== -1
) {
console.info("连接的设备信息", item.devices[i], type);
console.log("连接的设备信息", item.devices[i], type);
let params = {
deviceId: item.devices[i].deviceId,
servicesuuid: item.devices[i].serviceId,
characteristicsuuid0: item.devices[i].characteristics[0].uuid,
characteristicsuuid1: item.devices[i].characteristics[1].uuid,
characteristicId: "",
};
this.props.setBluetoothInfo(params);
this.props.setDeviceId(params);
setTimeout(() => {
console.log("this.props.bluetoothInfo", this.props.bluetoothInfo);
clearInterval(searchBluetootTimers);
Taro.stopBluetoothDevicesDiscovery(); //停止搜索蓝牙
// app.globalData.deviceInfo.deviceId = item.devices[i].deviceId;
@ -333,6 +330,7 @@ class ConnectionBluetoot extends Component<any, any> {
/** 5.新建蓝牙连接 */
async createBLEConnection() {
console.log("========新建蓝牙连接========");
this.setState({ isConnection: true }); // 开始蓝牙连接
try {
await closeBLEConnection(this.props.bluetoothInfo.deviceId);
} catch (e) {}
@ -344,7 +342,7 @@ class ConnectionBluetoot extends Component<any, any> {
console.log("createBLEConnection", res);
let { errno, errMsg } = res;
if (errno == 0) {
if (this.props.yiqiInfo.model === "WL200") {
if (deviceInfo.model === "WL200") {
this.setState({
connectionStatus: true,
});
@ -373,11 +371,16 @@ class ConnectionBluetoot extends Component<any, any> {
getBLEDeviceServices(this.props.bluetoothInfo.deviceId)
.then((res) => {
console.log("特征值", res);
let bluetoothInfo = this.props.bluetoothInfo;
bluetoothInfo.servicesuuid = res.servicesuuid;
bluetoothInfo.characteristicsuuid1 = res.characteristicsuuid1;
bluetoothInfo.characteristicsuuid0 = res.characteristicsuuid0;
this.props.setBluetoothInfo(bluetoothInfo);
let params = {
deviceId: this.props.bluetoothInfo.deviceId,
servicesuuid: res.servicesuuid,
characteristicsuuid1: res.characteristicsuuid1,
characteristicsuuid0: res.characteristicsuuid0,
};
console.log("getBLEDeviceServices", params);
// 获取并修改蓝牙特征值
this.props.setBluetoothInfo(params);
setTimeout(() => {
this.notifyBLECharacteristicValueChange();
@ -385,7 +388,7 @@ class ConnectionBluetoot extends Component<any, any> {
})
.catch((err) => {
let { errno, errMsg } = err;
console.info("getBLEDeviceServices error =>", err);
console.log("getBLEDeviceServices error =>", err);
this.failErrorCode(errno, errMsg);
});
}
@ -395,7 +398,6 @@ class ConnectionBluetoot extends Component<any, any> {
console.log("7.通知BLE特征值更改");
const { yiqiInfo: deviceInfo } = this.props;
const bluetoothInfo = this.props.bluetoothInfo;
console.log("bluetoothInfo", bluetoothInfo);
notifyBLECharacteristicValueChange({
deviceId: bluetoothInfo.deviceId,
servicesuuid: bluetoothInfo.servicesuuid,
@ -405,9 +407,12 @@ class ConnectionBluetoot extends Component<any, any> {
.then((ress) => {
let { errno, errMsg } = ress;
if (errno == 0) {
// 订阅特征码变化
Taro.onBLECharacteristicValueChange((value) => {
console.info("onBLECharacteristicValueChange value => ", value);
// 配对成功进入?
console.log("onBLECharacteristicValueChange value => ", value);
let str = ab2hex(value.value); //转为16进制字符串
console.log("转为16进制字符串 str", str);
let connectionStatus = [
"FR200",
"WL200",
@ -415,228 +420,132 @@ class ConnectionBluetoot extends Component<any, any> {
"FR390",
"M01",
].includes(deviceInfo.model);
const isFRDevice = ["FR200", "FR380", "FR390"].includes(
deviceInfo.model
);
if (isFRDevice) {
this.setState({
connectionStatus,
});
log.info(
commandMap.reciviedBLECommand,
`仪器模式: ${deviceInfo.model}`,
value
);
filterBleData(str).forEach((item) => {
console.log("设备响应数据===》", item);
if (item.indexOf(`dbf0a8010155`) !== -1) {
//配对成功
log.info("蓝牙配对成功");
clearInterval(sendPairingTimer);
this.setState({ islian: true });
console.log("获取设备版本号");
this.sendGetVersion();
sendgetversionTimer = setInterval(() => {
this.sendGetVersion();
}, 1000);
}
if (item.indexOf("dbf0a0030b") !== -1) {
// 版本号获取成功
clearInterval(sendgetversionTimer);
let v1 = String(hex2int(str.substring(10, 12))).padStart(
2,
"0"
);
let v2 = String(hex2int(str.substring(12, 14))).padStart(
2,
"0"
);
let v3 = String(hex2int(str.substring(14, 16))).padStart(
2,
"0"
);
let versionInfo = {
v1,
v2,
v3,
version: `${v1}${v2}${v3}`,
};
this.setState({ versionInfo });
console.log("版本号:" + versionInfo.version);
log.info(
commandMap.versionInfoCG,
`connection_guide, ${deviceInfo.type}:${versionInfo.version}`
);
if (
deviceInfo.model == "FR380" ||
deviceInfo.model == "FR390"
) {
console.log("跳转护理页");
// this.triggerEvent("offlineChange", this.state);
this.offlineChange(this.state);
} else {
if (this.state.isgetoffline) {
// 获取离线记录
console.log("获取离线记录(总)");
this.sendofflistSummary();
} else {
console.log("跳转护理页");
// that.triggerEvent("offlineChange", this.state);
this.offlineChange(this.state);
}
}
}
if (item.indexOf("dbf0a0020b") !== -1) {
//离线护理记录(总)获取成功
// 先获取记录总条数,再获取详细
console.log("获取离线记录总条数====>", item);
log.info(
commandMap.finishOfflineData,
`接收到总的离线记录=》${item}`
);
// this.state.offlineDataindex =
// 7 || Number(item.substring(24, 2));
let offlineDataindex = 7 || Number(item.substring(24, 2));
this.setState({ offlineDataindex });
if (this.state.offlineDataindex > 0) {
this.sendofflist();
} else {
// this.triggerEvent("offlineChange", that.data);
this.offlineChange(this.state);
}
}
if (item.indexOf("dbf0a00211") !== -1) {
//设备响应离线护理记录(细)
log.info(
commandMap.finishOfflineData,
"接收到详细离线记录, 准备进入sendofflist"
);
this.sendOfflistPost(str);
this.sendofflist();
}
if (item.indexOf("dbf0a001006dde") !== -1) {
// 同步时间
// that.sendAsyncTime()
}
});
} else {
let jsonStatus: any = null;
let querySubDeviceArrayBuffer;
if (deviceInfo.model == "WL200") {
// querySubDeviceArrayBuffer = deviceToolKitInstanceWL200.toBleCommand(bleCommandSamples.querySubDevice);
// jsonStatus = deviceToolKitInstanceWL200.toJsonStatus(value.value);
jsonStatus = deviceToolKitInstanceM01.toJsonStatus(value.value);
querySubDeviceArrayBuffer =
deviceToolKitInstanceM01.toBleCommand(
bleCommandSamples.querySubDevice as any
); // todo
} else if (deviceInfo.model == "M01") {
jsonStatus = deviceToolKitInstanceM01.toJsonStatus(value.value);
querySubDeviceArrayBuffer =
deviceToolKitInstanceM01.toBleCommand(
bleCommandSamples.querySubDevice as any
);
}
log.info(
commandMap.reciviedBLECommand,
`仪器模式: ${deviceInfo.model}`,
jsonStatus
let jsonStatus: any = null;
let querySubDeviceArrayBuffer;
if (deviceInfo.model == "WL200") {
// querySubDeviceArrayBuffer =
// deviceToolKitInstanceWL200.toBleCommand(
// bleCommandSamples.querySubDevice as any
// );
// jsonStatus = deviceToolKitInstanceWL200.toJsonStatus(
// value.value
// );
jsonStatus = deviceToolKitInstanceM01.toJsonStatus(value.value);
querySubDeviceArrayBuffer = deviceToolKitInstanceM01.toBleCommand(
bleCommandSamples.querySubDevice as any
); // todo
} else if (deviceInfo.model == "M01") {
jsonStatus = deviceToolKitInstanceM01.toJsonStatus(value.value);
querySubDeviceArrayBuffer = deviceToolKitInstanceM01.toBleCommand(
bleCommandSamples.querySubDevice as any
);
if (jsonStatus?.commandType === "BleMatch") {
switch (jsonStatus?.bleCommandType) {
case "SendMatchCode":
if (jsonStatus.matchedSuccess) {
console.log("蓝牙配对成功");
clearInterval(sendPairingTimer);
if (overTimer) clearTimeout(overTimer);
if (this.state.connectionSuccess) return;
this.setState({
connectionSuccess: true,
connectionStatus,
});
// 暂时不需要查询是否连接子设备, 直接进入查询版本信息
this.detectVersionUpdate();
/*if(deviceInfo.type == instrumentTypeEnum.M01) {
}
// log.info(
// commandMap.reciviedBLECommand,
// `仪器模式: ${deviceInfo.model}`,
// jsonStatus
// );
console.log(
commandMap.reciviedBLECommand,
`仪器模式: ${deviceInfo.model}`,
jsonStatus
);
console.log("jsonStatus", jsonStatus);
if (jsonStatus?.commandType === "BleMatch") {
switch (jsonStatus?.bleCommandType) {
case "SendMatchCode":
if (jsonStatus.matchedSuccess) {
console.log("BleMatch蓝牙配对成功");
clearInterval(sendPairingTimer);
if (overTimer) clearTimeout(overTimer);
this.setState({
connectionSuccess: true,
connectionStatus,
islian: true, // 不需要离线记录但暂未完全删除这部分逻辑所以直接设为true
});
this.detectVersionUpdate();
// todo 连接成功需删除离线记录,暂时未缓存离线记录
if (this.state.connectionSuccess) return;
// 暂时不需要查询是否连接子设备, 直接进入查询版本信息
// this.detectVersionUpdate();
/*if(deviceInfo.type == instrumentTypeEnum.M01) {
this.detectVersionUpdate()
} else {
this.sendQuerySubDevice(querySubDeviceArrayBuffer)
}*/
}
break;
case "BleStatusSync":
if (jsonStatus.connectMessage?.connectType == "CONNECTED") {
switch (jsonStatus.connectMessage?.deviceName) {
case OtaDeviceTypeEnum.WE100:
case OtaDeviceTypeEnum.FACIALMASK:
console.log("面膜连上了 value => ", jsonStatus);
this.detectVersionUpdate();
break;
case OtaDeviceTypeEnum.WL200:
console.log("面罩连上了 value => ", jsonStatus);
this.detectVersionUpdate();
break;
default:
break;
}
break;
case "BleStatusSync":
if (jsonStatus.connectMessage?.connectType == "CONNECTED") {
switch (jsonStatus.connectMessage?.deviceName) {
case OtaDeviceTypeEnum.WE100:
case OtaDeviceTypeEnum.FACIALMASK:
console.log("面膜连上了 value => ", jsonStatus);
this.detectVersionUpdate();
break;
case OtaDeviceTypeEnum.WL200:
console.log("面罩连上了 value => ", jsonStatus);
this.detectVersionUpdate();
break;
default:
break;
}
}
console.info("BleStatusSync value => ", jsonStatus);
break;
case "QueryMatchStatus":
console.info("QueryMatchStatus value => ", jsonStatus);
break;
default:
break;
}
} else if (jsonStatus?.commandType === "InfoQuery") {
switch (jsonStatus.infoQueryType) {
case "versionInfo":
if (this.state.hasVersionInfo) return;
clearTimeout(isGetVersionTimer);
this.setState({
hasVersionInfo: true, // 已返回版本信息
connectionStatus: true,
subDeviceConnectedStatus: true,
synchronousStatus: true,
});
const deviceVersionNo = jsonStatus.versionNo;
const latestVersionNo = deviceInfo.iot_versions;
// const isNeedToUpdateBl = isNeedToUpdate(deviceVersionNo, latestVersionNo)
// 判断是否需要升级
// M01和WL200 不需要在这里进行蓝牙更新
// if (isNeedToUpdateBl) {
// const pages = getCurrentPages();
// const matchPageList = [{
// route: 'pages/MatrixWL200/pages/index/index'
// },{
// route: 'pages/MatrixM01/pages/index/index'
// }];
// const hadOpen = checkSameKey(pages, matchPageList, 'route');
// if (!hadOpen) {
// this.triggerEvent("pairingChange", { deviceVersionNo });
this.pairingChange({ deviceVersionNo });
// }
// } else {
// this.sendSyncRecording()
// }
break;
case "offlineClockSummary":
clearTimeout(isGetSyncRecordingTimer);
if (this.state.hasSyncRecord) return;
this.setState({
hasSyncRecord: true,
synchronousStatus: true,
});
console.info("offlineClockSummary value =>", jsonStatus);
// this.triggerEvent("pairingChange", this.state);
this.pairingChange(this.state);
// TODO 查询离线记录结果
default:
break;
}
}
console.log("BleStatusSync value => ", jsonStatus);
break;
case "QueryMatchStatus":
console.log("QueryMatchStatus value => ", jsonStatus);
break;
default:
break;
}
} else if (jsonStatus?.commandType === "InfoQuery") {
console.log("查询版本信息", jsonStatus);
switch (jsonStatus.infoQueryType) {
case "versionInfo":
if (this.state.hasVersionInfo) return;
clearTimeout(isGetVersionTimer);
this.setState({
hasVersionInfo: true, // 已返回版本信息
connectionStatus: true,
subDeviceConnectedStatus: true,
synchronousStatus: true,
});
const deviceVersionNo = jsonStatus.versionNo;
const latestVersionNo = deviceInfo.iot_versions;
// const isNeedToUpdateBl = isNeedToUpdate(deviceVersionNo, latestVersionNo)
// 判断是否需要升级
// M01和WL200 不需要在这里进行蓝牙更新
// if (isNeedToUpdateBl) {
// const pages = getCurrentPages();
// const matchPageList = [{
// route: 'pages/MatrixWL200/pages/index/index'
// },{
// route: 'pages/MatrixM01/pages/index/index'
// }];
// const hadOpen = checkSameKey(pages, matchPageList, 'route');
// if (!hadOpen) {
// this.triggerEvent("pairingChange", { deviceVersionNo });
this.pairingChange({ deviceVersionNo });
// }
// } else {
// this.sendSyncRecording()
// }
break;
case "offlineClockSummary":
clearTimeout(isGetSyncRecordingTimer);
if (this.state.hasSyncRecord) return;
this.setState({
hasSyncRecord: true,
synchronousStatus: true,
});
console.log("offlineClockSummary value =>", jsonStatus);
// this.triggerEvent("pairingChange", this.state);
this.pairingChange(this.state);
// TODO 查询离线记录结果
default:
break;
}
}
});
@ -648,7 +557,7 @@ class ConnectionBluetoot extends Component<any, any> {
* type3 we100
* type4 FR380
*/
console.log("发送配对码");
console.log("发送配对码", deviceInfo.model);
if (deviceInfo.model == "FR200") {
if (sendPairingTimer) clearInterval(sendPairingTimer);
sendPairingTimer = setInterval(() => {
@ -657,6 +566,7 @@ class ConnectionBluetoot extends Component<any, any> {
} else if (deviceInfo.model == "WL200" || deviceInfo.model == "M01") {
if (sendPairingTimer) clearInterval(sendPairingTimer);
sendPairingTimer = setInterval(() => {
console.log("test WL200");
this.sendPairingSignal();
}, 1000);
} else if (
@ -672,7 +582,7 @@ class ConnectionBluetoot extends Component<any, any> {
overTimer = setTimeout(() => {
if (this.state.islian) {
console.log("超时跳转护理页");
log.info("超时跳转护理页");
// log.info("超时跳转护理页");
// 已配对成功,其它操作导致超时未跳转则直接跳转
// this.triggerEvent("offlineChange", this.state);
this.offlineChange(this.state);
@ -696,7 +606,8 @@ class ConnectionBluetoot extends Component<any, any> {
sendGetVersion() {
const { yiqiInfo: deviceInfo } = this.props;
const isFRDevice = ["FR200", "FR380", "FR390"].includes(deviceInfo.model);
log.info(commandMap.sendVersionCommand, `仪器:${deviceInfo.type}`);
// log.info(commandMap.sendVersionCommand, `仪器:${deviceInfo.model}`);
console.log(commandMap.sendVersionCommand, `仪器:${deviceInfo.model}`);
if (isFRDevice) {
writeBLECharacteristicValue({
//发送获取仪器版本号
@ -710,7 +621,7 @@ class ConnectionBluetoot extends Component<any, any> {
// const otaDeviceType = deviceInfo.type == instrumentTypeEnum.WL200 ? OtaDeviceTypeEnum.WL200 : OtaDeviceTypeEnum.WE100;
// 通过发箍连 都用we100
const otaDeviceType =
deviceInfo.type == InstrumentTypeEnum.WL200
deviceInfo.model == InstrumentTypeEnum.WL200
? OtaDeviceTypeEnum.WE100
: OtaDeviceTypeEnum.WE100;
const versionCommand = {
@ -719,7 +630,7 @@ class ConnectionBluetoot extends Component<any, any> {
otaDeviceType,
};
const value =
deviceInfo.type == InstrumentTypeEnum.WL200
deviceInfo.model == InstrumentTypeEnum.WL200
? deviceToolKitInstanceM01.toBleCommand(versionCommand as any)
: deviceToolKitInstanceM01.toBleCommand(versionCommand as any);
// const value = deviceInfo.type == instrumentTypeEnum.WL200 ? deviceToolKitInstanceWL200.toBleCommand(versionCommand) : deviceToolKitInstanceM01.toBleCommand(versionCommand);
@ -732,7 +643,7 @@ class ConnectionBluetoot extends Component<any, any> {
// log.info()
if (this.state.offlineDataindex == this.state.offlineDataList.length) {
console.log("离线记录获取完成");
log.info(commandMap.finishOfflineData, this.state.offlineDataList);
// log.info(commandMap.finishOfflineData, this.state.offlineDataList);
/****
*
* ****/
@ -747,7 +658,7 @@ class ConnectionBluetoot extends Component<any, any> {
return false;
}
console.log("发送获取离线记录(细)指令");
log.info(commandMap.finishOfflineData, "发送获取离线记录(细)指令");
// log.info(commandMap.finishOfflineData, "发送获取离线记录(细)指令");
writeBLECharacteristicValue({
//发送获取离线记录
deviceId: this.props.bluetoothInfo.deviceId,
@ -762,7 +673,7 @@ class ConnectionBluetoot extends Component<any, any> {
let str = "DBF0A00200";
console.log("发送离线记录汇总指令 ==》", str);
this.setState({ offlineDataList: [] }); // 置空重查离线记录
log.info(commandMap.finishOfflineData, `发送获取离线记录(总)指令`);
// log.info(commandMap.finishOfflineData, `发送获取离线记录(总)指令`);
writeBLECharacteristicValue({
//发送获取离线记录
deviceId: this.props.bluetoothInfo.deviceId,
@ -773,9 +684,12 @@ class ConnectionBluetoot extends Component<any, any> {
});
}
/** 9.发送配对码 */
sendPairingSignal() {
console.log("9.发送配对码 sendPairingSignal");
const { yiqiInfo: deviceInfo } = this.props;
log.info(commandMap.sendMatchCode, `仪器:${deviceInfo.type}发送匹配码`);
// log.info(commandMap.sendMatchCode, `仪器:${deviceInfo.model}发送匹配码`);
console.log(commandMap.sendMatchCode, `仪器:${deviceInfo.model}发送匹配码`);
let matchArrayBuffer: any = null;
switch (deviceInfo.model) {
case InstrumentTypeEnum.FR200:
@ -784,7 +698,12 @@ class ConnectionBluetoot extends Component<any, any> {
);
break;
case InstrumentTypeEnum.WL200:
matchArrayBuffer = deviceToolKitInstanceWL200.toBleCommand(
console.log("WL200无法配对只能用M01");
console.log("正在发送WL200", bleCommandSamples.match);
// matchArrayBuffer = deviceToolKitInstanceWL200.toBleCommand(
// bleCommandSamples.match as any
// );
matchArrayBuffer = deviceToolKitInstanceM01.toBleCommand(
bleCommandSamples.match as any
);
break;
@ -814,15 +733,17 @@ class ConnectionBluetoot extends Component<any, any> {
default:
break;
}
if (matchArrayBuffer)
sendCommand({ value: matchArrayBuffer })
.then(() => {})
.catch((e) => {
// 下发配对指令失败,走重连操作
clearInterval(sendPairingTimer);
// wx.closeBLEConnection();
this.createBLEConnection();
});
if (matchArrayBuffer) console.log("matchArrayBuffer", matchArrayBuffer);
sendCommand({ value: matchArrayBuffer })
.then((res) => {
console.log("matchArrayBuffer res", res);
})
.catch((e) => {
// 下发配对指令失败,走重连操作
clearInterval(sendPairingTimer);
// wx.closeBLEConnection();
this.createBLEConnection();
});
}
/** 发送记录 */
@ -900,7 +821,7 @@ class ConnectionBluetoot extends Component<any, any> {
errorCode(errno, errMsg) {
clearInterval(searchBluetootTimers);
clearInterval(sendgetversionTimer);
console.info("errorCode err => ", errno, errMsg);
// console.info("errorCode err => ", errno, errMsg);
if (errno == 10001 || errno == 10009) {
let t2 =
errno == 10001
@ -974,10 +895,11 @@ class ConnectionBluetoot extends Component<any, any> {
}
failErrorCode(errno, errMsg) {
console.info("failErrorCode err => ", errno, errMsg);
console.log("failErrorCode err => ", errno, errMsg);
clearInterval(searchBluetootTimers);
clearInterval(sendgetversionTimer);
log.info("连接仪器失败", errno, errMsg);
// log.info("连接仪器失败", errno, errMsg);
console.log("连接仪器失败", errno, errMsg);
let errorText = "";
switch (errno) {
case 1500101:
@ -1080,6 +1002,8 @@ class ConnectionBluetoot extends Component<any, any> {
// this.sendSyncRecording()
// }, 5000);
}
/** 发送同步记录 */
sendSyncRecording() {
const { yiqiInfo: deviceInfo } = this.props;
const versionCommand = {
@ -1109,6 +1033,11 @@ class ConnectionBluetoot extends Component<any, any> {
this.props.confirm("confirm");
};
onReconnect = () => {
console.log("onReconnect");
// this.props.confirm("confirm");
};
pairingChange = (data) => {
this.props.pairingChange(data);
};
@ -1118,17 +1047,21 @@ class ConnectionBluetoot extends Component<any, any> {
};
render() {
let { name, isConnection, connectionStatus } = this.state;
let { name, isConnection, connectionStatus, connectionSuccess, error } =
this.state;
let { yiqiInfo } = this.props;
return (
<Block>
<DeviceConnectPopup
close={this.onClose}
confirm={this.onConfirm}
reconnect={this.onReconnect}
data={yiqiInfo}
isShow={true}
connectionStatus={connectionStatus}
// connectionStatus={connectionStatus}
connectionSuccess={connectionSuccess}
isConnection={isConnection}
error={error}
title="面罩模式启动中"
/>
<View>{name}</View>

@ -1,66 +1,66 @@
/**蓝牙命令合集*/
export const bleCommandSamples = {
/**发送配对码*/
match: {
commandType: "BleMatch",
bleCommandType: "SendMatchCode",
},
/**查询附属设备的配对状态*/
querySubDevice: {
commandType: "BleMatch",
bleCommandType: "QueryMatchStatus",
},
/**查询设备状态指令*/
queryDeviceStatus: {
commandType: "DeviceStatusSync",
deviceSyncCommandType: 'queryDeviceStatus'
},
/**查询版本指令*/
queryDeviceVersionStatus: {
commandType: "InfoQuery",
infoQueryType: 'versionInfo',
otaDeviceType: ''
},
/**查询当前记录*/
queryCurrentMaskReportInfo: {
commandType: "InfoQuery",
infoQueryType: 'currentMaskReportInfo'
}
/**发送配对码*/
match: {
commandType: "BleMatch",
bleCommandType: "SendMatchCode",
},
/**查询附属设备的配对状态*/
querySubDevice: {
commandType: "BleMatch",
bleCommandType: "QueryMatchStatus",
},
/**查询设备状态指令*/
queryDeviceStatus: {
commandType: "DeviceStatusSync",
deviceSyncCommandType: "queryDeviceStatus",
},
/**查询版本指令*/
queryDeviceVersionStatus: {
commandType: "InfoQuery",
infoQueryType: "versionInfo",
otaDeviceType: "",
},
/**查询当前记录*/
queryCurrentMaskReportInfo: {
commandType: "InfoQuery",
infoQueryType: "currentMaskReportInfo",
},
};
/**控制设备命令合集*/
export const deviceCommandSamples = {
/**控制设备暂停 pause暂停 working启动 end关闭*/
pause:{
commandType: "DeviceControl",
workStatus: "pause",
},
standby:{
commandType: "DeviceControl",
workStatus: "standby",
},
end:{
commandType: "DeviceControl",
workStatus: "end",
},
/*
* powerfulSoothing 强效舒缓 01
* Stability 维稳维护 02
* Brighten 均色提亮 03
* FirmSkin 紧致淡纹 04
* Custom 自定义模式 05
* WaterLightEssence 水光精华模式 11
* ShapeBeautyEssence 塑颜精华模式 12
* DiyFacial DIY面膜模式 13
* FacialMaskCustom 面膜定制模式 1A
*/
work:{
commandType: "DeviceControl",
workStatus: "working",
workMode: "",
},
gear:{
commandType: "DeviceControl",
partitionStatus: [{gear: 1},{gear: 1},{gear: 1},{gear: 1},]
}
/**控制设备暂停 pause暂停 working启动 end关闭*/
pause: {
commandType: "DeviceControl",
workStatus: "pause",
},
standby: {
commandType: "DeviceControl",
workStatus: "standby",
},
end: {
commandType: "DeviceControl",
workStatus: "end",
},
/*
* powerfulSoothing 强效舒缓 01
* Stability 维稳维护 02
* Brighten 均色提亮 03
* FirmSkin 紧致淡纹 04
* Custom 自定义模式 05
* WaterLightEssence 水光精华模式 11
* ShapeBeautyEssence 塑颜精华模式 12
* DiyFacial DIY面膜模式 13
* FacialMaskCustom 面膜定制模式 1A
*/
work: {
commandType: "DeviceControl",
workStatus: "working",
workMode: "",
},
gear: {
commandType: "DeviceControl",
partitionStatus: [{ gear: 1 }, { gear: 1 }, { gear: 1 }, { gear: 1 }],
},
};

@ -1,3 +1,8 @@
.common-box {
width: 670rpx;
height: 1150rpx;
box-sizing: border-box;
}
.site-popup-content-box {
margin: 0;
}
@ -33,17 +38,6 @@
box-sizing: border-box;
}
.upload-tips-common-box {
padding: 50rpx 20rpx 44rpx 20rpx;
.tips-message {
margin-top: 30rpx;
text-align: center;
font-size: 28rpx;
line-height: 45rpx;
color: #666;
}
}
.popup-btn-one {
display: flex;
margin-top: 60rpx;
@ -62,3 +56,65 @@
font-family: PingFang SC;
}
}
.block,
.block2 {
display: flex;
align-items: center;
position: relative;
width: 100%;
box-sizing: border-box;
display: flex;
column-gap: 30rpx;
// padding-top: 10px;
margin: 0 auto 10px;
text-align: center;
.icon {
/* margin-top: 5rpx; */
width: 36rpx;
min-width: 36rpx;
height: 36rpx;
image {
width: 100%;
height: 100%;
vertical-align: middle;
}
}
}
.block {
margin-top: 80rpx;
}
.block2 {
margin-top: 40rpx;
}
.images,
.videos {
display: block;
width: 600rpx;
height: 600rpx;
border-radius: 30rpx;
// width: 100%;
// height: 100%;
overflow: hidden;
}
.error-block {
display: block;
text-align: center;
color: #030000;
.tip1 {
margin-top: 80rpx;
font-size: 28rpx;
font-weight: 400;
}
.tip2 {
margin-top: 40rpx;
font-size: 28rpx;
font-weight: 400;
}
}
.device-popup-btns {
margin-top: 60rpx;
}

@ -30,7 +30,6 @@ export default class DeviceConnectPopup extends Component<any, any> {
super(props);
this.state = {
name: "蓝牙提示弹窗",
current: 0,
toRight: false,
isClick: false,
};
@ -60,14 +59,32 @@ export default class DeviceConnectPopup extends Component<any, any> {
this.props.confirm();
};
onReconnect = () => {
this.props.reconnect();
};
onClickStop = (e) => {
e.stopPropagation();
};
isImage = (url) => {
if (url) {
if (url.includes(".mp4")) {
return false;
}
}
return true;
};
render() {
let { isShow, data, isLarge, title, connectionStatus, isConnection } =
this.props;
let { current } = this.state;
let {
isShow,
data,
// connectionStatus,
isConnection,
connectionSuccess,
error,
} = this.props;
return (
<Block>
@ -84,72 +101,119 @@ export default class DeviceConnectPopup extends Component<any, any> {
className="at-icon at-icon-close site-close"
onClick={this.onClose}
></View>
<View className={classnames("common-box upload-tips-common-box")}>
<View className={classnames("common-popup-title", "margin-samll")}>
{data.bluetoothConnectingTitle}
</View>
<View className="site-popup-content-box">
<Video src={data.bluetoothConnecting} />
<View className="block">
<View className="icon">
{connectionStatus ? (
<Image
className="images"
src={require("../../../img/selected_success.png")}
mode="aspectFill"
/>
) : (
<Image
className="images"
src={require("../../../img/select_success.png")}
mode="aspectFill"
/>
)}
</View>
{isConnection && <View></View>}
<View className="tip1">skinpilot</View>
{!error && (
<View className={classnames("common-box upload-tips-common-box")}>
<View
className={classnames("common-popup-title", "margin-samll")}
>
{data.bluetoothConnectingTitle}
</View>
</View>
<View className="common-popup-btns">
<Button className="common-popup-btn2" onClick={this.onClose}>
</Button>
<Button className="common-popup-btn2" onClick={this.onConfirm}>
</Button>
</View>
{/* <View>
{data.length === 1 && (
<View className="popup-btn-one">
<Button className="popup-btn" onClick={this.onClose}>
</Button>
<View className="site-popup-content-box">
{this.isImage(data.bluetoothConnecting) ? (
<Video className="videos" src={data.bluetoothConnecting} />
) : (
<Image
className="images"
src={data.bluetoothConnecting}
mode="aspectFill"
/>
)}
<View className="block">
<View className="icon">
{isConnection ? (
<Block>
<Image
className="images"
src={require("../../../img/selected_success.png")}
mode="aspectFill"
/>
<View className="tip">
{data.bluetoothConnectingContent}
</View>
</Block>
) : (
<Block>
<Image
className="images"
src={require("../../../img/select_success.png")}
mode="aspectFill"
/>
<View className="tip success">
{data.bluetoothConnectingContent}
</View>
</Block>
)}
</View>
</View>
)}
{data.length > 1 && current === 0 && (
<View className="popup-btn-one">
<Button className="popup-btn" onClick={this.onPrev}>
</Button>
<View className="block2">
<View className="icon">
{connectionSuccess ? (
<Block>
<Image
className="images"
src={require("../../../img/selected_success.png")}
mode="aspectFill"
/>
<View className="tip"></View>
</Block>
) : (
<Block>
<Image
className="images"
src={require("../../../img/select_success.png")}
mode="aspectFill"
/>
<View className="tip success">
</View>
</Block>
)}
</View>
</View>
)}
{data.length > 1 && (
<View className="common-popup-btns">
<Button className="common-popup-btn2" onClick={this.onPrev}>
{current > 0 && current < data.length - 1 && "上一步"}
</Button>
<Button className="common-popup-btn2" onClick={this.onNext}>
{current > 0 && current < data.length - 1 && "下一步"}
{current > 0 && current === data.length - 1 && "知道了"}
</Button>
</View>
<View className="common-popup-btns">
<Button className="common-popup-btn2" onClick={this.onClose}>
</Button>
<Button className="common-popup-btn2" onClick={this.onConfirm}>
</Button>
</View>
</View>
)}
{error && (
<View className={classnames("common-box")}>
<View
className={classnames("common-popup-title", "margin-samll")}
>
{data.bluetoothConnectFailTitle}
</View>
<View className="site-popup-content-box">
<Video className="videos" src={data.bluetoothConnectFail} />
<View className="error-block">
<View className="tip1"></View>
<View className="tip2">
{data.bluetoothConnectFailContent}
</View>
</View>
)}
</View> */}
</View>
</View>
<View className="common-popup-btns device-popup-btns">
<Button className="common-popup-btn2" onClick={this.onClose}>
</Button>
<Button
className="common-popup-btn2"
onClick={this.onReconnect}
>
</Button>
</View>
</View>
)}
</Popup>
</Block>
);

@ -0,0 +1,54 @@
import Taro from "@tarojs/taro";
import classnames from "classnames";
import { Component, PropsWithChildren, useEffect, useState } from "react";
import { Block, View, Text, Image, Input, Button } from "@tarojs/components";
/*** redux ***/
import { connect } from "react-redux";
import { userRefresh, tokenRefresh } from "@/store/features/userInfo";
/*** redux end ***/
import Navbar from "@/components/navbar/navbar";
import "./iotCarePlan.less";
class IotCarePlan extends Component<any, any> {
constructor(props) {
super(props);
this.state = {
name: "iotCarePlan",
};
}
async onLoad() {}
componentDidMount() {}
componentWillUnmount() {}
componentDidShow() {}
componentDidHide() {}
async initData() {}
render() {
let { name } = this.state;
return (
<Block>
<Navbar titleSlot="美容仪名字" isBack={true} />
<View>{name}</View>
</Block>
);
}
}
const mapStateToProps = (state) => ({
// background: state.navigation.background,
});
const mapDispatchToProps = (dispatch) => ({
// userRefresh(data) {
// dispatch(userRefresh(data));
// },
});
export default connect(mapStateToProps, mapDispatchToProps)(IotCarePlan);

@ -6,7 +6,7 @@ const deviceInfoReducer = createSlice({
name: "deviceinfo", // store的名字
initialState: {
bluetoothInfo: {
deviceId: "5FF5FD4F-9EF9-3CB6-AD89-F915B55E5DE9", // 先测试一下
deviceId: "", // 先测试一下
servicesuuid: "",
characteristicsuuid0: "",
characteristicsuuid1: "",
@ -19,8 +19,6 @@ const deviceInfoReducer = createSlice({
},
setBluetoothInfo(state, { payload }) {
console.log("setBluetoothInfo payload", payload);
// state.bluetoothInfo = JSON.parse(JSON.stringify(payload));
// console.log("state.bluetoothInfo", state.bluetoothInfo);
state.bluetoothInfo.deviceId = payload.deviceId;
if (payload.servicesuuid) {
state.bluetoothInfo.servicesuuid = payload.servicesuuid;
@ -36,6 +34,7 @@ const deviceInfoReducer = createSlice({
}
},
setDeviceId(state, { payload }) {
console.log("setDeviceId state", state);
console.log("setDeviceId payload", payload);
state.bluetoothInfo.deviceId = payload.deviceId;
},

@ -1,6 +1,5 @@
import Taro from "@tarojs/taro";
import store from "../store";
const deviceInfo = store.getState().deviceInfo;
import { msg, back, showModal, go, loading } from "./traoAPI";
// const app = getApp();
@ -155,6 +154,7 @@ export const writeBLECharacteristicValue = (info, completeCallback) => {
};
export const sendCommand = (info) => {
const deviceInfo = store.getState().deviceInfo;
return new Promise((reslove, reject) => {
Taro.writeBLECharacteristicValue({
deviceId: deviceInfo.bluetoothInfo.deviceId,
@ -162,7 +162,6 @@ export const sendCommand = (info) => {
characteristicId: deviceInfo.bluetoothInfo.characteristicsuuid0,
value: info.value,
success(res) {
console.log(info.value);
reslove(res);
},
fail(err) {

@ -1,30 +1,38 @@
var log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null
import Taro from "@tarojs/taro";
module.exports = {
// var logger = Taro.getRealtimeLogManager ? Taro.getRealtimeLogManager() : null;
var logger = Taro.getRealtimeLogManager();
const log = {
debug() {
if (!log) return
log.debug.apply(log, arguments)
if (!logger) return;
logger.debug.apply(logger, arguments);
},
info() {
if (!log) return
log.info.apply(log, arguments)
if (!logger) return;
console.log("logger.info", logger.info, arguments);
logger.info.apply(logger, arguments);
},
warn() {
if (!log) return
log.warn.apply(log, arguments)
if (!logger) return;
logger.warn.apply(logger, arguments);
},
error() {
if (!log) return
log.error.apply(log, arguments)
if (!logger) return;
logger.error.apply(logger, arguments);
},
setFilterMsg(msg) {
// 从基础库2.7.3开始支持
if (!logger || !logger.setFilterMsg) return;
if (typeof msg !== "string") return;
logger.setFilterMsg(msg);
},
setFilterMsg(msg) { // 从基础库2.7.3开始支持
if (!log || !log.setFilterMsg) return
if (typeof msg !== 'string') return
log.setFilterMsg(msg)
addFilterMsg(msg) {
// 从基础库2.8.1开始支持
if (!logger || !logger.addFilterMsg) return;
if (typeof msg !== "string") return;
logger.addFilterMsg(msg);
},
addFilterMsg(msg) { // 从基础库2.8.1开始支持
if (!log || !log.addFilterMsg) return
if (typeof msg !== 'string') return
log.addFilterMsg(msg)
}
}
};
export default log;

@ -13,13 +13,13 @@ import formdata from "./wxFormdata/formData";
import store from "../store";
import { tokenRefresh } from "../store/features/userInfo";
const global = store.getState().globalStore;
const global_requestUrlList = []; // 全局正在请求的url地址防止多次点击
// api调用失败重试次数
let api_retry_count = 0;
export const Ajax = (params) => {
const global = store.getState().globalStore;
const app = Taro.getApp();
const domain = global.domain;
// Taro.showLoading({
@ -51,7 +51,7 @@ export const Ajax = (params) => {
},
data: params.data,
success(res) {
console.log("res", res);
// console.log("res", res);
if (res.data.code == 401 || res.data.code == 403) {
// 自动重新登录
Taro.removeStorageSync("token");

Loading…
Cancel
Save