Pārlūkot izejas kodu

ver:0.0.2
desc:1. 查询以及配置指令开发 路径 /config
poster:张晓宇

xiaoyuzhang 4 gadi atpakaļ
vecāks
revīzija
b01678219a

+ 298 - 271
.idea/workspace.xml

@@ -1,16 +1,22 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <project version="4">
3
+  <component name="BookmarkManager">
4
+    <bookmark url="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js" line="32" />
5
+  </component>
3 6
   <component name="ChangeListManager">
4 7
     <list default="true" id="9ae72f43-a1a0-4e71-8c9a-da776f48ee97" name="Default" comment="">
5
-      <change type="DELETED" beforePath="$PROJECT_DIR$/static/server/protocal/protocal.js" afterPath="" />
6
-      <change type="DELETED" beforePath="$PROJECT_DIR$/static/server/socketClient.js" afterPath="" />
8
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/renderer/components/Config.vue" />
9
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/static/server/protocal/commonFunction.js" />
10
+      <change type="DELETED" beforePath="$PROJECT_DIR$/src/renderer/components/Scan.vue" afterPath="" />
7 11
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
8 12
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/package-lock.json" afterPath="$PROJECT_DIR$/package-lock.json" />
9 13
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
10 14
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" afterPath="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" />
11
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue" afterPath="$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue" />
15
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/router/index.js" afterPath="$PROJECT_DIR$/src/renderer/router/index.js" />
12 16
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/renderer/store/modules/socket.js" afterPath="$PROJECT_DIR$/src/renderer/store/modules/socket.js" />
13 17
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/app.js" afterPath="$PROJECT_DIR$/static/server/app.js" />
18
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/protocal/checksum.js" afterPath="$PROJECT_DIR$/static/server/protocal/checksum.js" />
19
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" afterPath="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" />
14 20
     </list>
15 21
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
16 22
     <option name="TRACKING_ENABLED" value="true" />
@@ -20,125 +26,107 @@
20 26
     <option name="LAST_RESOLUTION" value="IGNORE" />
21 27
   </component>
22 28
   <component name="FileEditorManager">
23
-    <splitter split-orientation="horizontal" split-proportion="0.53501403">
24
-      <split-first>
25
-        <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
26
-          <file leaf-file-name="LandingPage.vue" pinned="false" current-in-tab="true">
27
-            <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
28
-              <provider selected="true" editor-type-id="text-editor">
29
-                <state relative-caret-position="442">
30
-                  <caret line="260" column="61" lean-forward="false" selection-start-line="260" selection-start-column="8" selection-end-line="260" selection-end-column="61" />
31
-                  <folding>
32
-                    <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
33
-                    <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
34
-                    <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
35
-                    <element signature="e#2134#2164#0" expanded="true" />
36
-                    <element signature="e#3266#9912#0" expanded="false" />
37
-                    <element signature="e#10353#12901#0" expanded="false" />
38
-                  </folding>
39
-                </state>
40
-              </provider>
41
-            </entry>
42
-          </file>
43
-          <file leaf-file-name="SystemInformation.vue" pinned="false" current-in-tab="false">
44
-            <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue">
45
-              <provider selected="true" editor-type-id="text-editor">
46
-                <state relative-caret-position="544">
47
-                  <caret line="41" column="22" lean-forward="false" selection-start-line="41" selection-start-column="22" selection-end-line="41" selection-end-column="36" />
48
-                  <folding />
49
-                </state>
50
-              </provider>
51
-            </entry>
52
-          </file>
53
-          <file leaf-file-name="package.json" pinned="false" current-in-tab="false">
54
-            <entry file="file://$PROJECT_DIR$/package.json">
55
-              <provider selected="true" editor-type-id="text-editor">
56
-                <state relative-caret-position="323">
57
-                  <caret line="67" column="18" lean-forward="false" selection-start-line="67" selection-start-column="5" selection-end-line="67" selection-end-column="18" />
58
-                  <folding />
59
-                </state>
60
-              </provider>
61
-            </entry>
62
-          </file>
63
-          <file leaf-file-name="main.js" pinned="false" current-in-tab="false">
64
-            <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
65
-              <provider selected="true" editor-type-id="text-editor">
66
-                <state relative-caret-position="390">
67
-                  <caret line="32" column="27" lean-forward="false" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
68
-                  <folding>
69
-                    <element signature="e#0#21#0" expanded="true" />
70
-                  </folding>
71
-                </state>
72
-              </provider>
73
-            </entry>
74
-          </file>
75
-          <file leaf-file-name="app.js" pinned="false" current-in-tab="false">
76
-            <entry file="file://$PROJECT_DIR$/static/server/app.js">
77
-              <provider selected="true" editor-type-id="text-editor">
78
-                <state relative-caret-position="363">
79
-                  <caret line="90" column="45" lean-forward="false" selection-start-line="90" selection-start-column="33" selection-end-line="90" selection-end-column="45" />
80
-                  <folding />
81
-                </state>
82
-              </provider>
83
-            </entry>
84
-          </file>
85
-          <file leaf-file-name="socket.js" pinned="false" current-in-tab="false">
86
-            <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
87
-              <provider selected="true" editor-type-id="text-editor">
88
-                <state relative-caret-position="1383">
89
-                  <caret line="85" column="50" lean-forward="false" selection-start-line="85" selection-start-column="50" selection-end-line="85" selection-end-column="50" />
90
-                  <folding />
91
-                </state>
92
-              </provider>
93
-            </entry>
94
-          </file>
95
-          <file leaf-file-name="socketServer.js" pinned="false" current-in-tab="false">
96
-            <entry file="file://$PROJECT_DIR$/static/server/socketServer.js">
97
-              <provider selected="true" editor-type-id="text-editor">
98
-                <state relative-caret-position="34">
99
-                  <caret line="2" column="16" lean-forward="false" selection-start-line="2" selection-start-column="16" selection-end-line="2" selection-end-column="16" />
100
-                  <folding />
101
-                </state>
102
-              </provider>
103
-            </entry>
104
-          </file>
105
-        </leaf>
106
-      </split-first>
107
-      <split-second>
108
-        <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
109
-          <file leaf-file-name="App.vue" pinned="false" current-in-tab="true">
110
-            <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
111
-              <provider selected="true" editor-type-id="text-editor">
112
-                <state relative-caret-position="153">
113
-                  <caret line="9" column="0" lean-forward="false" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
114
-                  <folding />
115
-                </state>
116
-              </provider>
117
-            </entry>
118
-          </file>
119
-          <file leaf-file-name="command.js" pinned="false" current-in-tab="false">
120
-            <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
121
-              <provider selected="true" editor-type-id="text-editor">
122
-                <state relative-caret-position="221">
123
-                  <caret line="13" column="22" lean-forward="false" selection-start-line="13" selection-start-column="22" selection-end-line="13" selection-end-column="22" />
124
-                  <folding />
125
-                </state>
126
-              </provider>
127
-            </entry>
128
-          </file>
129
-          <file leaf-file-name="checksum.js" pinned="false" current-in-tab="false">
130
-            <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
131
-              <provider selected="true" editor-type-id="text-editor">
132
-                <state relative-caret-position="0">
133
-                  <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
134
-                  <folding />
135
-                </state>
136
-              </provider>
137
-            </entry>
138
-          </file>
139
-        </leaf>
140
-      </split-second>
141
-    </splitter>
29
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
30
+      <file leaf-file-name="LandingPage.vue" pinned="false" current-in-tab="false">
31
+        <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
32
+          <provider selected="true" editor-type-id="text-editor">
33
+            <state relative-caret-position="340">
34
+              <caret line="263" column="11" lean-forward="false" selection-start-line="263" selection-start-column="11" selection-end-line="263" selection-end-column="11" />
35
+              <folding>
36
+                <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
37
+                <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
38
+                <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
39
+                <element signature="e#2196#2226#0" expanded="true" />
40
+                <element signature="e#3477#9957#0" expanded="false" />
41
+              </folding>
42
+            </state>
43
+          </provider>
44
+        </entry>
45
+      </file>
46
+      <file leaf-file-name="package.json" pinned="false" current-in-tab="false">
47
+        <entry file="file://$PROJECT_DIR$/package.json">
48
+          <provider selected="true" editor-type-id="text-editor">
49
+            <state relative-caret-position="205">
50
+              <caret line="111" column="26" lean-forward="true" selection-start-line="111" selection-start-column="26" selection-end-line="111" selection-end-column="26" />
51
+              <folding>
52
+                <marker date="1587894241338" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
53
+                <marker date="1587894241338" expanded="true" signature="3747:3752" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
54
+              </folding>
55
+            </state>
56
+          </provider>
57
+        </entry>
58
+      </file>
59
+      <file leaf-file-name="Config.vue" pinned="false" current-in-tab="false">
60
+        <entry file="file://$PROJECT_DIR$/src/renderer/components/Config.vue">
61
+          <provider selected="true" editor-type-id="text-editor">
62
+            <state relative-caret-position="369">
63
+              <caret line="100" column="45" lean-forward="false" selection-start-line="100" selection-start-column="45" selection-end-line="100" selection-end-column="45" />
64
+              <folding>
65
+                <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
66
+              </folding>
67
+            </state>
68
+          </provider>
69
+        </entry>
70
+      </file>
71
+      <file leaf-file-name="checksum.js" pinned="false" current-in-tab="false">
72
+        <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
73
+          <provider selected="true" editor-type-id="text-editor">
74
+            <state relative-caret-position="102">
75
+              <caret line="6" column="1" lean-forward="false" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
76
+              <folding />
77
+            </state>
78
+          </provider>
79
+        </entry>
80
+      </file>
81
+      <file leaf-file-name="sendProtocal.js" pinned="false" current-in-tab="false">
82
+        <entry file="file://$PROJECT_DIR$/static/server/protocal/sendProtocal.js">
83
+          <provider selected="true" editor-type-id="text-editor">
84
+            <state relative-caret-position="374">
85
+              <caret line="85" column="28" lean-forward="false" selection-start-line="85" selection-start-column="28" selection-end-line="85" selection-end-column="28" />
86
+              <folding>
87
+                <element signature="e#132#277#0" expanded="false" />
88
+                <element signature="e#314#459#0" expanded="false" />
89
+                <element signature="e#501#646#0" expanded="false" />
90
+                <element signature="e#686#831#0" expanded="false" />
91
+                <element signature="e#867#966#0" expanded="false" />
92
+              </folding>
93
+            </state>
94
+          </provider>
95
+        </entry>
96
+      </file>
97
+      <file leaf-file-name="index.js" pinned="false" current-in-tab="false">
98
+        <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
99
+          <provider selected="true" editor-type-id="text-editor">
100
+            <state relative-caret-position="272">
101
+              <caret line="17" column="22" lean-forward="false" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="22" />
102
+              <folding />
103
+            </state>
104
+          </provider>
105
+        </entry>
106
+      </file>
107
+      <file leaf-file-name="app.js" pinned="false" current-in-tab="true">
108
+        <entry file="file://$PROJECT_DIR$/static/server/app.js">
109
+          <provider selected="true" editor-type-id="text-editor">
110
+            <state relative-caret-position="374">
111
+              <caret line="197" column="1" lean-forward="true" selection-start-line="197" selection-start-column="1" selection-end-line="197" selection-end-column="1" />
112
+              <folding />
113
+            </state>
114
+          </provider>
115
+        </entry>
116
+      </file>
117
+      <file leaf-file-name="commonFunction.js" pinned="false" current-in-tab="false">
118
+        <entry file="file://$PROJECT_DIR$/static/server/protocal/commonFunction.js">
119
+          <provider selected="true" editor-type-id="text-editor">
120
+            <state relative-caret-position="578">
121
+              <caret line="37" column="46" lean-forward="false" selection-start-line="37" selection-start-column="46" selection-end-line="37" selection-end-column="46" />
122
+              <folding>
123
+                <element signature="n#!!block;n#pressureDataProcess#0" expanded="false" />
124
+              </folding>
125
+            </state>
126
+          </provider>
127
+        </entry>
128
+      </file>
129
+    </leaf>
142 130
   </component>
143 131
   <component name="FileTemplateManagerImpl">
144 132
     <option name="RECENT_TEMPLATES">
@@ -156,6 +144,7 @@
156 144
       <find>log4js</find>
157 145
       <find>socket.io</find>
158 146
       <find>wrapper</find>
147
+      <find>getChartOption</find>
159 148
     </findStrings>
160 149
     <dirStrings>
161 150
       <dir>E:\node\electronVueDemo</dir>
@@ -170,22 +159,25 @@
170 159
         <option value="$PROJECT_DIR$/static/socketClient.js" />
171 160
         <option value="$PROJECT_DIR$/static/server/bin/www.js" />
172 161
         <option value="$PROJECT_DIR$/static/server/socketClient.js" />
173
-        <option value="$PROJECT_DIR$/src/renderer/router/index.js" />
174 162
         <option value="$PROJECT_DIR$/src/renderer/components/Scan.vue" />
175 163
         <option value="$PROJECT_DIR$/static/server/socketServer.js" />
176 164
         <option value="$PROJECT_DIR$/src/renderer/store/index.js" />
177
-        <option value="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" />
178 165
         <option value="$PROJECT_DIR$/src/main/index.js" />
179 166
         <option value="$PROJECT_DIR$/src/renderer/App.vue" />
180 167
         <option value="$PROJECT_DIR$/static/server/protocal/protocal.js" />
181 168
         <option value="$PROJECT_DIR$/src/renderer/main.js" />
182 169
         <option value="$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
183 170
         <option value="$PROJECT_DIR$/src/renderer/utils/FunctionSet.js" />
184
-        <option value="$PROJECT_DIR$/package.json" />
185
-        <option value="$PROJECT_DIR$/static/server/app.js" />
186
-        <option value="$PROJECT_DIR$/src/renderer/store/modules/socket.js" />
187 171
         <option value="$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue" />
172
+        <option value="$PROJECT_DIR$/src/renderer/store/modules/socket.js" />
173
+        <option value="$PROJECT_DIR$/src/renderer/router/index.js" />
174
+        <option value="$PROJECT_DIR$/static/server/protocal/checksum.js" />
175
+        <option value="$PROJECT_DIR$/static/server/protocal/sendProtocal.js" />
188 176
         <option value="$PROJECT_DIR$/src/renderer/components/LandingPage.vue" />
177
+        <option value="$PROJECT_DIR$/static/server/app.js" />
178
+        <option value="$PROJECT_DIR$/src/renderer/components/Config.vue" />
179
+        <option value="$PROJECT_DIR$/static/server/protocal/commonFunction.js" />
180
+        <option value="$PROJECT_DIR$/package.json" />
189 181
       </list>
190 182
     </option>
191 183
   </component>
@@ -226,7 +218,6 @@
226 218
     </navigator>
227 219
     <panes>
228 220
       <pane id="Scope" />
229
-      <pane id="Scratches" />
230 221
       <pane id="ProjectPane">
231 222
         <subPane>
232 223
           <expand>
@@ -258,14 +249,6 @@
258 249
               <item name="renderer" type="2a2b976b:PhpTreeStructureProvider$1" />
259 250
               <item name="components" type="2a2b976b:PhpTreeStructureProvider$1" />
260 251
             </path>
261
-            <path>
262
-              <item name="electronVueDemo" type="b2602c69:ProjectViewProjectNode" />
263
-              <item name="electronVueDemo" type="2a2b976b:PhpTreeStructureProvider$1" />
264
-              <item name="src" type="2a2b976b:PhpTreeStructureProvider$1" />
265
-              <item name="renderer" type="2a2b976b:PhpTreeStructureProvider$1" />
266
-              <item name="components" type="2a2b976b:PhpTreeStructureProvider$1" />
267
-              <item name="LandingPage" type="2a2b976b:PhpTreeStructureProvider$1" />
268
-            </path>
269 252
             <path>
270 253
               <item name="electronVueDemo" type="b2602c69:ProjectViewProjectNode" />
271 254
               <item name="electronVueDemo" type="2a2b976b:PhpTreeStructureProvider$1" />
@@ -324,24 +307,25 @@
324 307
           <select />
325 308
         </subPane>
326 309
       </pane>
310
+      <pane id="Scratches" />
327 311
     </panes>
328 312
   </component>
329 313
   <component name="PropertiesComponent">
330 314
     <property name="settings.editor.selected.configurable" value="reference.webide.settings.project.settings.php" />
331 315
     <property name="WebServerToolWindowFactoryState" value="false" />
332 316
     <property name="nodejs_interpreter_path" value="C:/Program Files/nodejs/node" />
333
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
317
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../vueWithEcharts" />
334 318
   </component>
335 319
   <component name="RecentsManager">
320
+    <key name="MoveFile.RECENT_KEYS">
321
+      <recent name="E:\electronVueDemo\static\server" />
322
+    </key>
336 323
     <key name="CopyFile.RECENT_KEYS">
324
+      <recent name="E:\node\electronVueDemo\src\renderer\components" />
325
+      <recent name="E:\node\electronVueDemo\static\server\protocal" />
337 326
       <recent name="E:\node\electronVueDemo\src\renderer\utils" />
338 327
       <recent name="E:\node\electronVueDemo\src\renderer" />
339
-      <recent name="E:\node\electronVueDemo\src\renderer\components" />
340 328
       <recent name="E:\electronVueDemo\src\renderer\store\modules" />
341
-      <recent name="E:\electronVueDemo\static\server" />
342
-    </key>
343
-    <key name="MoveFile.RECENT_KEYS">
344
-      <recent name="E:\electronVueDemo\static\server" />
345 329
     </key>
346 330
   </component>
347 331
   <component name="RunDashboard">
@@ -380,32 +364,35 @@
380 364
       <workItem from="1587454791924" duration="6275000" />
381 365
       <workItem from="1587463147171" duration="23027000" />
382 366
       <workItem from="1587557912413" duration="32543000" />
367
+      <workItem from="1587719159460" duration="1879000" />
368
+      <workItem from="1587865170010" duration="21946000" />
383 369
     </task>
384 370
     <servers />
385 371
   </component>
386 372
   <component name="TimeTrackingManager">
387
-    <option name="totallyTimeSpent" value="61845000" />
373
+    <option name="totallyTimeSpent" value="90434000" />
388 374
   </component>
389 375
   <component name="ToolWindowManager">
390 376
     <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
377
+    <editor active="true" />
391 378
     <layout>
392
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.23880596" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
379
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24413647" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
393 380
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
394 381
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
395 382
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
396
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
383
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32861805" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
397 384
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
398 385
       <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
399
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24047878" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
400 386
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
401
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4352557" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
402
-      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
387
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2491839" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
403 388
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
389
+      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
404 390
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
405 391
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
406 392
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
407 393
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
408 394
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
395
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
409 396
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
410 397
     </layout>
411 398
   </component>
@@ -422,22 +409,70 @@
422 409
     <watches-manager />
423 410
   </component>
424 411
   <component name="editorHistoryManager">
425
-    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
412
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
413
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
414
+    <entry file="file://$PROJECT_DIR$/static/server/app.js">
415
+      <provider selected="true" editor-type-id="text-editor">
416
+        <state relative-caret-position="363">
417
+          <caret line="91" column="45" lean-forward="false" selection-start-line="91" selection-start-column="40" selection-end-line="91" selection-end-column="45" />
418
+          <folding />
419
+        </state>
420
+      </provider>
421
+    </entry>
422
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
423
+      <provider selected="true" editor-type-id="text-editor">
424
+        <state relative-caret-position="221">
425
+          <caret line="13" column="22" lean-forward="false" selection-start-line="13" selection-start-column="22" selection-end-line="13" selection-end-column="22" />
426
+          <folding />
427
+        </state>
428
+      </provider>
429
+    </entry>
430
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
426 431
       <provider selected="true" editor-type-id="text-editor">
427 432
         <state relative-caret-position="289">
428
-          <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" />
433
+          <caret line="269" column="37" lean-forward="false" selection-start-line="269" selection-start-column="37" selection-end-line="269" selection-end-column="37" />
434
+          <folding>
435
+            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
436
+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
437
+            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
438
+            <element signature="e#2196#2226#0" expanded="true" />
439
+            <element signature="e#3477#9957#0" expanded="false" />
440
+          </folding>
441
+        </state>
442
+      </provider>
443
+    </entry>
444
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/FunctionSet.js">
445
+      <provider selected="true" editor-type-id="text-editor">
446
+        <state relative-caret-position="51">
447
+          <caret line="6" column="24" lean-forward="true" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
448
+          <folding />
449
+        </state>
450
+      </provider>
451
+    </entry>
452
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
453
+      <provider selected="true" editor-type-id="text-editor">
454
+        <state relative-caret-position="17">
455
+          <caret line="65" column="1" lean-forward="true" selection-start-line="65" selection-start-column="1" selection-end-line="65" selection-end-column="1" />
429 456
           <folding>
430 457
             <element signature="e#0#21#0" expanded="false" />
431 458
           </folding>
432 459
         </state>
433 460
       </provider>
434 461
     </entry>
462
+    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
463
+      <provider selected="true" editor-type-id="text-editor">
464
+        <state relative-caret-position="289">
465
+          <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" />
466
+          <folding />
467
+        </state>
468
+      </provider>
469
+    </entry>
435 470
     <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
436 471
       <provider selected="true" editor-type-id="text-editor">
437 472
         <state relative-caret-position="187">
438 473
           <caret line="19" column="5" lean-forward="false" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
439 474
           <folding>
440
-            <element signature="e#0#21#0" expanded="true" />
475
+            <element signature="e#0#21#0" expanded="false" />
441 476
           </folding>
442 477
         </state>
443 478
       </provider>
@@ -476,9 +511,8 @@
476 511
             <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
477 512
             <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
478 513
             <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
479
-            <element signature="e#2134#2164#0" expanded="true" />
480
-            <element signature="e#3266#9912#0" expanded="false" />
481
-            <element signature="e#10353#12901#0" expanded="false" />
514
+            <element signature="e#2196#2226#0" expanded="true" />
515
+            <element signature="e#3477#9957#0" expanded="false" />
482 516
           </folding>
483 517
         </state>
484 518
       </provider>
@@ -499,19 +533,15 @@
499 533
         </state>
500 534
       </provider>
501 535
     </entry>
502
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js">
503
-      <provider selected="true" editor-type-id="text-editor">
504
-        <state relative-caret-position="1785">
505
-          <caret line="202" column="29" lean-forward="false" selection-start-line="202" selection-start-column="12" selection-end-line="202" selection-end-column="29" />
506
-          <folding />
507
-        </state>
508
-      </provider>
509
-    </entry>
536
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
510 537
     <entry file="file://$PROJECT_DIR$/package.json">
511 538
       <provider selected="true" editor-type-id="text-editor">
512 539
         <state relative-caret-position="612">
513 540
           <caret line="36" column="33" lean-forward="false" selection-start-line="36" selection-start-column="33" selection-end-line="36" selection-end-column="33" />
514
-          <folding />
541
+          <folding>
542
+            <marker date="1587894241338" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
543
+            <marker date="1587894241338" expanded="true" signature="3747:3752" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
544
+          </folding>
515 545
         </state>
516 546
       </provider>
517 547
     </entry>
@@ -519,9 +549,7 @@
519 549
       <provider selected="true" editor-type-id="text-editor">
520 550
         <state relative-caret-position="0">
521 551
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
522
-          <folding>
523
-            <element signature="e#0#21#0" expanded="false" />
524
-          </folding>
552
+          <folding />
525 553
         </state>
526 554
       </provider>
527 555
     </entry>
@@ -529,7 +557,6 @@
529 557
       <provider selected="true" editor-type-id="text-editor">
530 558
         <state relative-caret-position="561">
531 559
           <caret line="33" column="27" lean-forward="false" selection-start-line="33" selection-start-column="27" selection-end-line="33" selection-end-column="27" />
532
-          <folding />
533 560
         </state>
534 561
       </provider>
535 562
     </entry>
@@ -538,7 +565,7 @@
538 565
         <state relative-caret-position="272">
539 566
           <caret line="23" column="27" lean-forward="false" selection-start-line="23" selection-start-column="27" selection-end-line="23" selection-end-column="27" />
540 567
           <folding>
541
-            <element signature="e#0#21#0" expanded="true" />
568
+            <element signature="e#0#21#0" expanded="false" />
542 569
           </folding>
543 570
         </state>
544 571
       </provider>
@@ -555,7 +582,9 @@
555 582
       <provider selected="true" editor-type-id="text-editor">
556 583
         <state relative-caret-position="1734">
557 584
           <caret line="102" column="41" lean-forward="true" selection-start-line="102" selection-start-column="41" selection-end-line="102" selection-end-column="41" />
558
-          <folding />
585
+          <folding>
586
+            <element signature="e#0#21#0" expanded="false" />
587
+          </folding>
559 588
         </state>
560 589
       </provider>
561 590
     </entry>
@@ -563,18 +592,10 @@
563 592
       <provider selected="true" editor-type-id="text-editor">
564 593
         <state relative-caret-position="0">
565 594
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
566
-          <folding />
567
-        </state>
568
-      </provider>
569
-    </entry>
570
-    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js">
571
-      <provider selected="true" editor-type-id="text-editor">
572
-        <state relative-caret-position="578">
573
-          <caret line="34" column="0" lean-forward="false" selection-start-line="34" selection-start-column="0" selection-end-line="34" selection-end-column="0" />
574
-          <folding />
575 595
         </state>
576 596
       </provider>
577 597
     </entry>
598
+    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js" />
578 599
     <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
579 600
       <provider selected="true" editor-type-id="text-editor">
580 601
         <state relative-caret-position="374">
@@ -587,198 +608,204 @@
587 608
       <provider selected="true" editor-type-id="text-editor">
588 609
         <state relative-caret-position="221">
589 610
           <caret line="16" column="47" lean-forward="true" selection-start-line="16" selection-start-column="47" selection-end-line="16" selection-end-column="47" />
590
-          <folding />
591 611
         </state>
592 612
       </provider>
593 613
     </entry>
594
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/Scan.vue">
614
+    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
595 615
       <provider selected="true" editor-type-id="text-editor">
596
-        <state relative-caret-position="255">
597
-          <caret line="15" column="3" lean-forward="true" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
616
+        <state relative-caret-position="204">
617
+          <caret line="12" column="25" lean-forward="false" selection-start-line="12" selection-start-column="25" selection-end-line="12" selection-end-column="25" />
598 618
           <folding />
599 619
         </state>
600 620
       </provider>
601 621
     </entry>
602
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/index.js">
622
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/rsa.js" />
623
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/commonFunction.js" />
624
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js" />
625
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/global.js">
603 626
       <provider selected="true" editor-type-id="text-editor">
604
-        <state relative-caret-position="170">
605
-          <caret line="13" column="6" lean-forward="false" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
606
-          <folding />
627
+        <state relative-caret-position="85">
628
+          <caret line="5" column="29" lean-forward="false" selection-start-line="5" selection-start-column="29" selection-end-line="5" selection-end-column="29" />
607 629
         </state>
608 630
       </provider>
609 631
     </entry>
610
-    <entry file="file://$PROJECT_DIR$/static/server/bin/www.js">
632
+    <entry file="file://$PROJECT_DIR$/src/main/index.js">
611 633
       <provider selected="true" editor-type-id="text-editor">
612
-        <state relative-caret-position="204">
613
-          <caret line="12" column="25" lean-forward="false" selection-start-line="12" selection-start-column="25" selection-end-line="12" selection-end-column="25" />
614
-          <folding />
634
+        <state relative-caret-position="391">
635
+          <caret line="23" column="4" lean-forward="false" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="4" />
636
+          <folding>
637
+            <element signature="e#0#45#0" expanded="false" />
638
+          </folding>
615 639
         </state>
616 640
       </provider>
617 641
     </entry>
618
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/rsa.js">
642
+    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
619 643
       <provider selected="true" editor-type-id="text-editor">
620
-        <state relative-caret-position="0">
621
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
622
-          <folding />
644
+        <state relative-caret-position="272">
645
+          <caret line="32" column="27" lean-forward="false" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
646
+          <folding>
647
+            <element signature="e#0#21#0" expanded="false" />
648
+          </folding>
623 649
         </state>
624 650
       </provider>
625 651
     </entry>
626
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/commonFunction.js">
652
+    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js" />
653
+    <entry file="file://$PROJECT_DIR$/static/server/socketServer.js">
627 654
       <provider selected="true" editor-type-id="text-editor">
628
-        <state relative-caret-position="0">
629
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
655
+        <state relative-caret-position="34">
656
+          <caret line="2" column="16" lean-forward="false" selection-start-line="2" selection-start-column="16" selection-end-line="2" selection-end-column="16" />
630 657
           <folding />
631 658
         </state>
632 659
       </provider>
633 660
     </entry>
634
-    <entry file="file://$PROJECT_DIR$/src/renderer/utils/FunctionSet.js">
661
+    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
635 662
       <provider selected="true" editor-type-id="text-editor">
636
-        <state relative-caret-position="782">
637
-          <caret line="46" column="22" lean-forward="false" selection-start-line="46" selection-start-column="22" selection-end-line="46" selection-end-column="22" />
663
+        <state relative-caret-position="289">
664
+          <caret line="17" column="0" lean-forward="false" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
638 665
           <folding />
639 666
         </state>
640 667
       </provider>
641 668
     </entry>
642
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/protocal.js">
669
+    <entry file="file://$PROJECT_DIR$/src/renderer/utils/FunctionSet.js">
643 670
       <provider selected="true" editor-type-id="text-editor">
644
-        <state relative-caret-position="2193">
645
-          <caret line="226" column="2" lean-forward="false" selection-start-line="226" selection-start-column="2" selection-end-line="242" selection-end-column="5" />
671
+        <state relative-caret-position="748">
672
+          <caret line="44" column="6" lean-forward="true" selection-start-line="5" selection-start-column="1" selection-end-line="44" selection-end-column="6" />
646 673
           <folding />
647 674
         </state>
648 675
       </provider>
649 676
     </entry>
650
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
677
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
651 678
       <provider selected="true" editor-type-id="text-editor">
652
-        <state relative-caret-position="221">
653
-          <caret line="13" column="22" lean-forward="false" selection-start-line="13" selection-start-column="22" selection-end-line="13" selection-end-column="22" />
654
-          <folding />
679
+        <state relative-caret-position="102">
680
+          <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
681
+          <folding>
682
+            <element signature="e#0#21#0" expanded="false" />
683
+          </folding>
655 684
         </state>
656 685
       </provider>
657 686
     </entry>
658
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/global.js">
687
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/index.js">
659 688
       <provider selected="true" editor-type-id="text-editor">
660
-        <state relative-caret-position="85">
661
-          <caret line="5" column="29" lean-forward="false" selection-start-line="5" selection-start-column="29" selection-end-line="5" selection-end-column="29" />
689
+        <state relative-caret-position="0">
690
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
662 691
           <folding />
663 692
         </state>
664 693
       </provider>
665 694
     </entry>
666
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/sendProtocal.js">
695
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/index.js">
667 696
       <provider selected="true" editor-type-id="text-editor">
668
-        <state relative-caret-position="782">
669
-          <caret line="46" column="4" lean-forward="false" selection-start-line="46" selection-start-column="4" selection-end-line="46" selection-end-column="4" />
697
+        <state relative-caret-position="170">
698
+          <caret line="13" column="6" lean-forward="false" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
670 699
           <folding />
671 700
         </state>
672 701
       </provider>
673 702
     </entry>
674
-    <entry file="file://$PROJECT_DIR$/src/main/index.js">
703
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/Scan.vue">
675 704
       <provider selected="true" editor-type-id="text-editor">
676
-        <state relative-caret-position="391">
677
-          <caret line="23" column="4" lean-forward="false" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="4" />
678
-          <folding>
679
-            <element signature="e#0#45#0" expanded="false" />
680
-          </folding>
705
+        <state relative-caret-position="255">
706
+          <caret line="15" column="3" lean-forward="true" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
707
+          <folding />
681 708
         </state>
682 709
       </provider>
683 710
     </entry>
684
-    <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
711
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue">
685 712
       <provider selected="true" editor-type-id="text-editor">
686
-        <state relative-caret-position="0">
687
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
713
+        <state relative-caret-position="544">
714
+          <caret line="41" column="22" lean-forward="false" selection-start-line="41" selection-start-column="35" selection-end-line="41" selection-end-column="36" />
688 715
           <folding />
689 716
         </state>
690 717
       </provider>
691 718
     </entry>
692
-    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
719
+    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
693 720
       <provider selected="true" editor-type-id="text-editor">
694
-        <state relative-caret-position="153">
695
-          <caret line="9" column="0" lean-forward="false" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
721
+        <state relative-caret-position="272">
722
+          <caret line="17" column="22" lean-forward="false" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="22" />
696 723
           <folding />
697 724
         </state>
698 725
       </provider>
699 726
     </entry>
700
-    <entry file="file://$PROJECT_DIR$/src/renderer/router/index.js">
727
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/checksum.js">
701 728
       <provider selected="true" editor-type-id="text-editor">
702
-        <state relative-caret-position="255">
703
-          <caret line="15" column="6" lean-forward="true" selection-start-line="15" selection-start-column="6" selection-end-line="15" selection-end-column="6" />
704
-          <folding>
705
-            <element signature="e#0#21#0" expanded="false" />
706
-          </folding>
729
+        <state relative-caret-position="102">
730
+          <caret line="6" column="1" lean-forward="false" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
731
+          <folding />
707 732
         </state>
708 733
       </provider>
709 734
     </entry>
710
-    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
735
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/sendProtocal.js">
711 736
       <provider selected="true" editor-type-id="text-editor">
712
-        <state relative-caret-position="390">
713
-          <caret line="32" column="27" lean-forward="false" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
737
+        <state relative-caret-position="374">
738
+          <caret line="85" column="28" lean-forward="false" selection-start-line="85" selection-start-column="28" selection-end-line="85" selection-end-column="28" />
714 739
           <folding>
715
-            <element signature="e#0#21#0" expanded="true" />
740
+            <element signature="e#132#277#0" expanded="false" />
741
+            <element signature="e#314#459#0" expanded="false" />
742
+            <element signature="e#501#646#0" expanded="false" />
743
+            <element signature="e#686#831#0" expanded="false" />
744
+            <element signature="e#867#966#0" expanded="false" />
716 745
           </folding>
717 746
         </state>
718 747
       </provider>
719 748
     </entry>
720
-    <entry file="file://$PROJECT_DIR$/static/server/socketClient.js">
749
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/command.js">
721 750
       <provider selected="true" editor-type-id="text-editor">
722
-        <state relative-caret-position="1071">
723
-          <caret line="97" column="0" lean-forward="false" selection-start-line="97" selection-start-column="0" selection-end-line="97" selection-end-column="24" />
751
+        <state relative-caret-position="241">
752
+          <caret line="15" column="1" lean-forward="false" selection-start-line="15" selection-start-column="1" selection-end-line="15" selection-end-column="1" />
724 753
           <folding />
725 754
         </state>
726 755
       </provider>
727 756
     </entry>
728
-    <entry file="file://$PROJECT_DIR$/static/server/app.js">
757
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/Config.vue">
729 758
       <provider selected="true" editor-type-id="text-editor">
730
-        <state relative-caret-position="363">
731
-          <caret line="90" column="45" lean-forward="false" selection-start-line="90" selection-start-column="33" selection-end-line="90" selection-end-column="45" />
732
-          <folding />
759
+        <state relative-caret-position="369">
760
+          <caret line="100" column="45" lean-forward="false" selection-start-line="100" selection-start-column="45" selection-end-line="100" selection-end-column="45" />
761
+          <folding>
762
+            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
763
+          </folding>
733 764
         </state>
734 765
       </provider>
735 766
     </entry>
736
-    <entry file="file://$PROJECT_DIR$/static/server/socketServer.js">
767
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
737 768
       <provider selected="true" editor-type-id="text-editor">
738
-        <state relative-caret-position="34">
739
-          <caret line="2" column="16" lean-forward="false" selection-start-line="2" selection-start-column="16" selection-end-line="2" selection-end-column="16" />
740
-          <folding />
769
+        <state relative-caret-position="340">
770
+          <caret line="263" column="11" lean-forward="false" selection-start-line="263" selection-start-column="11" selection-end-line="263" selection-end-column="11" />
771
+          <folding>
772
+            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
773
+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
774
+            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
775
+            <element signature="e#2196#2226#0" expanded="true" />
776
+            <element signature="e#3477#9957#0" expanded="false" />
777
+          </folding>
741 778
         </state>
742 779
       </provider>
743 780
     </entry>
744
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/modules/socket.js">
781
+    <entry file="file://$PROJECT_DIR$/static/server/protocal/commonFunction.js">
745 782
       <provider selected="true" editor-type-id="text-editor">
746
-        <state relative-caret-position="1383">
747
-          <caret line="85" column="50" lean-forward="false" selection-start-line="85" selection-start-column="50" selection-end-line="85" selection-end-column="50" />
748
-          <folding />
783
+        <state relative-caret-position="578">
784
+          <caret line="37" column="46" lean-forward="false" selection-start-line="37" selection-start-column="46" selection-end-line="37" selection-end-column="46" />
785
+          <folding>
786
+            <element signature="n#!!block;n#pressureDataProcess#0" expanded="false" />
787
+          </folding>
749 788
         </state>
750 789
       </provider>
751 790
     </entry>
752 791
     <entry file="file://$PROJECT_DIR$/package.json">
753 792
       <provider selected="true" editor-type-id="text-editor">
754
-        <state relative-caret-position="323">
755
-          <caret line="67" column="18" lean-forward="false" selection-start-line="67" selection-start-column="5" selection-end-line="67" selection-end-column="18" />
756
-          <folding />
793
+        <state relative-caret-position="205">
794
+          <caret line="111" column="26" lean-forward="true" selection-start-line="111" selection-start-column="26" selection-end-line="111" selection-end-column="26" />
795
+          <folding>
796
+            <marker date="1587894241338" expanded="true" signature="1638:1669" ph="{&quot;axios&quot;: &quot;^0.18.0&quot;...}" />
797
+            <marker date="1587894241338" expanded="true" signature="3747:3752" ph="{&quot;utf-8-validate&quot;: &quot;^5.0.2&quot;...}" />
798
+          </folding>
757 799
         </state>
758 800
       </provider>
759 801
     </entry>
760
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage/SystemInformation.vue">
802
+    <entry file="file://$PROJECT_DIR$/static/server/app.js">
761 803
       <provider selected="true" editor-type-id="text-editor">
762
-        <state relative-caret-position="544">
763
-          <caret line="41" column="22" lean-forward="false" selection-start-line="41" selection-start-column="22" selection-end-line="41" selection-end-column="36" />
804
+        <state relative-caret-position="374">
805
+          <caret line="197" column="1" lean-forward="true" selection-start-line="197" selection-start-column="1" selection-end-line="197" selection-end-column="1" />
764 806
           <folding />
765 807
         </state>
766 808
       </provider>
767 809
     </entry>
768
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/LandingPage.vue">
769
-      <provider selected="true" editor-type-id="text-editor">
770
-        <state relative-caret-position="442">
771
-          <caret line="260" column="61" lean-forward="false" selection-start-line="260" selection-start-column="8" selection-end-line="260" selection-end-column="61" />
772
-          <folding>
773
-            <element signature="n#style#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
774
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
775
-            <element signature="n#style#0;n#chart#0;n#div#0;n#div#0;n#template#0;n#!!top" expanded="true" />
776
-            <element signature="e#2134#2164#0" expanded="true" />
777
-            <element signature="e#3266#9912#0" expanded="false" />
778
-            <element signature="e#10353#12901#0" expanded="false" />
779
-          </folding>
780
-        </state>
781
-      </provider>
782
-    </entry>
783 810
   </component>
784 811
 </project>

+ 280 - 64
package-lock.json

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "name": "zxy",
3
-  "version": "0.0.1",
3
+  "version": "0.0.2",
4 4
   "lockfileVersion": 1,
5 5
   "requires": true,
6 6
   "dependencies": {
@@ -524,8 +524,7 @@
524 524
     "ansi-regex": {
525 525
       "version": "2.1.1",
526 526
       "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1570188663907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz",
527
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
528
-      "dev": true
527
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
529 528
     },
530 529
     "ansi-styles": {
531 530
       "version": "2.2.1",
@@ -900,8 +899,7 @@
900 899
     "aproba": {
901 900
       "version": "1.2.0",
902 901
       "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
903
-      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=",
904
-      "dev": true
902
+      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo="
905 903
     },
906 904
     "archiver": {
907 905
       "version": "2.1.1",
@@ -937,7 +935,6 @@
937 935
       "version": "1.1.5",
938 936
       "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
939 937
       "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
940
-      "dev": true,
941 938
       "requires": {
942 939
         "delegates": "1.0.0",
943 940
         "readable-stream": "2.3.7"
@@ -2384,8 +2381,7 @@
2384 2381
     "base64-js": {
2385 2382
       "version": "1.3.1",
2386 2383
       "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz",
2387
-      "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=",
2388
-      "dev": true
2384
+      "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE="
2389 2385
     },
2390 2386
     "base64id": {
2391 2387
       "version": "2.0.0",
@@ -2431,7 +2427,6 @@
2431 2427
       "version": "1.5.0",
2432 2428
       "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbindings%2Fdownload%2Fbindings-1.5.0.tgz",
2433 2429
       "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=",
2434
-      "dev": true,
2435 2430
       "optional": true,
2436 2431
       "requires": {
2437 2432
         "file-uri-to-path": "1.0.0"
@@ -2504,6 +2499,27 @@
2504 2499
         }
2505 2500
       }
2506 2501
     },
2502
+    "bleno": {
2503
+      "version": "0.5.0",
2504
+      "resolved": "http://registry.npm.taobao.org/bleno/download/bleno-0.5.0.tgz",
2505
+      "integrity": "sha1-gLZM4yrZAhJnkBZmEYOCM9gpI5Y=",
2506
+      "requires": {
2507
+        "bluetooth-hci-socket": "0.5.1",
2508
+        "bplist-parser": "0.0.6",
2509
+        "debug": "2.6.9",
2510
+        "xpc-connection": "0.1.4"
2511
+      },
2512
+      "dependencies": {
2513
+        "debug": {
2514
+          "version": "2.6.9",
2515
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
2516
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
2517
+          "requires": {
2518
+            "ms": "2.0.0"
2519
+          }
2520
+        }
2521
+      }
2522
+    },
2507 2523
     "blob": {
2508 2524
       "version": "0.0.5",
2509 2525
       "resolved": "https://registry.npm.taobao.org/blob/download/blob-0.0.5.tgz?cache=0&sync_timestamp=1580722883513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fblob%2Fdownload%2Fblob-0.0.5.tgz",
@@ -2533,6 +2549,28 @@
2533 2549
         "bluebird": "3.7.2"
2534 2550
       }
2535 2551
     },
2552
+    "bluetooth-hci-socket": {
2553
+      "version": "0.5.1",
2554
+      "resolved": "http://registry.npm.taobao.org/bluetooth-hci-socket/download/bluetooth-hci-socket-0.5.1.tgz",
2555
+      "integrity": "sha1-774hUk/Bz10/rl1RNl1WHUq77Qs=",
2556
+      "optional": true,
2557
+      "requires": {
2558
+        "debug": "2.6.9",
2559
+        "nan": "2.14.1",
2560
+        "usb": "1.6.3"
2561
+      },
2562
+      "dependencies": {
2563
+        "debug": {
2564
+          "version": "2.6.9",
2565
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
2566
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
2567
+          "optional": true,
2568
+          "requires": {
2569
+            "ms": "2.0.0"
2570
+          }
2571
+        }
2572
+      }
2573
+    },
2536 2574
     "bn.js": {
2537 2575
       "version": "4.11.8",
2538 2576
       "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz",
@@ -2678,6 +2716,12 @@
2678 2716
         }
2679 2717
       }
2680 2718
     },
2719
+    "bplist-parser": {
2720
+      "version": "0.0.6",
2721
+      "resolved": "https://registry.npm.taobao.org/bplist-parser/download/bplist-parser-0.0.6.tgz",
2722
+      "integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk=",
2723
+      "optional": true
2724
+    },
2681 2725
     "brace-expansion": {
2682 2726
       "version": "1.1.11",
2683 2727
       "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
@@ -2796,7 +2840,6 @@
2796 2840
       "version": "5.6.0",
2797 2841
       "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.6.0.tgz?cache=0&sync_timestamp=1586909009855&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.6.0.tgz",
2798 2842
       "integrity": "sha1-oxdJ3H2B2E2wir+Te2uMQDP2J4Y=",
2799
-      "dev": true,
2800 2843
       "requires": {
2801 2844
         "base64-js": "1.3.1",
2802 2845
         "ieee754": "1.1.13"
@@ -3456,8 +3499,7 @@
3456 3499
     "chownr": {
3457 3500
       "version": "1.1.4",
3458 3501
       "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchownr%2Fdownload%2Fchownr-1.1.4.tgz",
3459
-      "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=",
3460
-      "dev": true
3502
+      "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs="
3461 3503
     },
3462 3504
     "chrome-trace-event": {
3463 3505
       "version": "1.0.2",
@@ -3746,8 +3788,7 @@
3746 3788
     "code-point-at": {
3747 3789
       "version": "1.1.0",
3748 3790
       "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
3749
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
3750
-      "dev": true
3791
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
3751 3792
     },
3752 3793
     "collection-visit": {
3753 3794
       "version": "1.0.0",
@@ -4040,8 +4081,7 @@
4040 4081
     "console-control-strings": {
4041 4082
       "version": "1.1.0",
4042 4083
       "resolved": "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz",
4043
-      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4044
-      "dev": true
4084
+      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
4045 4085
     },
4046 4086
     "consolidate": {
4047 4087
       "version": "0.15.1",
@@ -4178,8 +4218,7 @@
4178 4218
     "core-util-is": {
4179 4219
       "version": "1.0.2",
4180 4220
       "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
4181
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
4182
-      "dev": true
4221
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
4183 4222
     },
4184 4223
     "crc": {
4185 4224
       "version": "3.8.0",
@@ -4600,8 +4639,7 @@
4600 4639
     "deep-extend": {
4601 4640
       "version": "0.6.0",
4602 4641
       "resolved": "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz",
4603
-      "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=",
4604
-      "dev": true
4642
+      "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw="
4605 4643
     },
4606 4644
     "deep-is": {
4607 4645
       "version": "0.1.3",
@@ -4802,6 +4840,12 @@
4802 4840
         "repeating": "2.0.1"
4803 4841
       }
4804 4842
     },
4843
+    "detect-libc": {
4844
+      "version": "1.0.3",
4845
+      "resolved": "http://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz",
4846
+      "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
4847
+      "optional": true
4848
+    },
4805 4849
     "detect-node": {
4806 4850
       "version": "2.0.4",
4807 4851
       "resolved": "http://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz",
@@ -5393,7 +5437,6 @@
5393 5437
       "version": "1.4.4",
5394 5438
       "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz?cache=0&sync_timestamp=1569416367473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz",
5395 5439
       "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
5396
-      "dev": true,
5397 5440
       "requires": {
5398 5441
         "once": "1.4.0"
5399 5442
       }
@@ -5848,6 +5891,12 @@
5848 5891
         "fill-range": "2.2.4"
5849 5892
       }
5850 5893
     },
5894
+    "expand-template": {
5895
+      "version": "2.0.3",
5896
+      "resolved": "https://registry.npm.taobao.org/expand-template/download/expand-template-2.0.3.tgz",
5897
+      "integrity": "sha1-bhSz/O4POmNA7LV9LokYaSBSpHw=",
5898
+      "optional": true
5899
+    },
5851 5900
     "expand-tilde": {
5852 5901
       "version": "2.0.2",
5853 5902
       "resolved": "http://registry.npm.taobao.org/expand-tilde/download/expand-tilde-2.0.2.tgz",
@@ -6089,7 +6138,6 @@
6089 6138
       "version": "1.0.0",
6090 6139
       "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-uri-to-path%2Fdownload%2Ffile-uri-to-path-1.0.0.tgz",
6091 6140
       "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
6092
-      "dev": true,
6093 6141
       "optional": true
6094 6142
     },
6095 6143
     "filename-regex": {
@@ -6544,8 +6592,7 @@
6544 6592
     "fs-constants": {
6545 6593
       "version": "1.0.0",
6546 6594
       "resolved": "https://registry.npm.taobao.org/fs-constants/download/fs-constants-1.0.0.tgz",
6547
-      "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=",
6548
-      "dev": true
6595
+      "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0="
6549 6596
     },
6550 6597
     "fs-extra": {
6551 6598
       "version": "0.30.0",
@@ -7203,7 +7250,6 @@
7203 7250
       "version": "2.7.4",
7204 7251
       "resolved": "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz",
7205 7252
       "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
7206
-      "dev": true,
7207 7253
       "requires": {
7208 7254
         "aproba": "1.2.0",
7209 7255
         "console-control-strings": "1.1.0",
@@ -7310,6 +7356,12 @@
7310 7356
         "assert-plus": "1.0.0"
7311 7357
       }
7312 7358
     },
7359
+    "github-from-package": {
7360
+      "version": "0.0.0",
7361
+      "resolved": "https://registry.npm.taobao.org/github-from-package/download/github-from-package-0.0.0.tgz",
7362
+      "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
7363
+      "optional": true
7364
+    },
7313 7365
     "glob": {
7314 7366
       "version": "7.1.6",
7315 7367
       "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078121947&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz",
@@ -7582,8 +7634,7 @@
7582 7634
     "has-unicode": {
7583 7635
       "version": "2.0.1",
7584 7636
       "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz",
7585
-      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
7586
-      "dev": true
7637
+      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
7587 7638
     },
7588 7639
     "has-value": {
7589 7640
       "version": "1.0.0",
@@ -8365,8 +8416,7 @@
8365 8416
     "ieee754": {
8366 8417
       "version": "1.1.13",
8367 8418
       "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz",
8368
-      "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=",
8369
-      "dev": true
8419
+      "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q="
8370 8420
     },
8371 8421
     "iferr": {
8372 8422
       "version": "0.1.5",
@@ -8512,8 +8562,7 @@
8512 8562
     "ini": {
8513 8563
       "version": "1.3.5",
8514 8564
       "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz",
8515
-      "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=",
8516
-      "dev": true
8565
+      "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc="
8517 8566
     },
8518 8567
     "inject-loader": {
8519 8568
       "version": "4.0.1",
@@ -8817,7 +8866,6 @@
8817 8866
       "version": "1.0.0",
8818 8867
       "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
8819 8868
       "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
8820
-      "dev": true,
8821 8869
       "requires": {
8822 8870
         "number-is-nan": "1.0.1"
8823 8871
       }
@@ -10668,8 +10716,7 @@
10668 10716
     "minimist": {
10669 10717
       "version": "1.2.5",
10670 10718
       "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
10671
-      "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
10672
-      "dev": true
10719
+      "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
10673 10720
     },
10674 10721
     "minstache": {
10675 10722
       "version": "1.2.0",
@@ -10734,11 +10781,16 @@
10734 10781
       "version": "0.5.5",
10735 10782
       "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz",
10736 10783
       "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=",
10737
-      "dev": true,
10738 10784
       "requires": {
10739 10785
         "minimist": "1.2.5"
10740 10786
       }
10741 10787
     },
10788
+    "mkdirp-classic": {
10789
+      "version": "0.5.2",
10790
+      "resolved": "https://registry.npm.taobao.org/mkdirp-classic/download/mkdirp-classic-0.5.2.tgz?cache=0&sync_timestamp=1585089111480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp-classic%2Fdownload%2Fmkdirp-classic-0.5.2.tgz",
10791
+      "integrity": "sha1-VMRBzkyWzXeQ4QtBqHqlEGjsqys=",
10792
+      "optional": true
10793
+    },
10742 10794
     "mocha": {
10743 10795
       "version": "5.2.0",
10744 10796
       "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmocha%2Fdownload%2Fmocha-5.2.0.tgz",
@@ -10904,8 +10956,7 @@
10904 10956
     "nan": {
10905 10957
       "version": "2.14.1",
10906 10958
       "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz?cache=0&sync_timestamp=1587497111086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.1.tgz",
10907
-      "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE=",
10908
-      "dev": true
10959
+      "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE="
10909 10960
     },
10910 10961
     "nanomatch": {
10911 10962
       "version": "1.2.13",
@@ -10962,6 +11013,12 @@
10962 11013
         }
10963 11014
       }
10964 11015
     },
11016
+    "napi-build-utils": {
11017
+      "version": "1.0.2",
11018
+      "resolved": "https://registry.npm.taobao.org/napi-build-utils/download/napi-build-utils-1.0.2.tgz",
11019
+      "integrity": "sha1-sf3cCyxG44Cgt6dvmE3UfEGhOAY=",
11020
+      "optional": true
11021
+    },
10965 11022
     "ncname": {
10966 11023
       "version": "1.0.0",
10967 11024
       "resolved": "http://registry.npm.taobao.org/ncname/download/ncname-1.0.0.tgz",
@@ -11010,6 +11067,15 @@
11010 11067
         "lower-case": "1.1.4"
11011 11068
       }
11012 11069
     },
11070
+    "node-abi": {
11071
+      "version": "2.16.0",
11072
+      "resolved": "https://registry.npm.taobao.org/node-abi/download/node-abi-2.16.0.tgz",
11073
+      "integrity": "sha1-fflOnAp6GJ9Bl6uEusgInvWJSZI=",
11074
+      "optional": true,
11075
+      "requires": {
11076
+        "semver": "5.7.1"
11077
+      }
11078
+    },
11013 11079
     "node-forge": {
11014 11080
       "version": "0.9.0",
11015 11081
       "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1569524876130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz",
@@ -11253,6 +11319,12 @@
11253 11319
       "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=",
11254 11320
       "dev": true
11255 11321
     },
11322
+    "noop-logger": {
11323
+      "version": "0.1.1",
11324
+      "resolved": "https://registry.npm.taobao.org/noop-logger/download/noop-logger-0.1.1.tgz",
11325
+      "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
11326
+      "optional": true
11327
+    },
11256 11328
     "nopt": {
11257 11329
       "version": "3.0.6",
11258 11330
       "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz?cache=0&sync_timestamp=1583704549918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz",
@@ -11325,7 +11397,6 @@
11325 11397
       "version": "4.1.2",
11326 11398
       "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
11327 11399
       "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
11328
-      "dev": true,
11329 11400
       "requires": {
11330 11401
         "are-we-there-yet": "1.1.5",
11331 11402
         "console-control-strings": "1.1.0",
@@ -11377,8 +11448,7 @@
11377 11448
     "number-is-nan": {
11378 11449
       "version": "1.0.1",
11379 11450
       "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
11380
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
11381
-      "dev": true
11451
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
11382 11452
     },
11383 11453
     "oauth-sign": {
11384 11454
       "version": "0.9.0",
@@ -11389,8 +11459,7 @@
11389 11459
     "object-assign": {
11390 11460
       "version": "4.1.1",
11391 11461
       "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
11392
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
11393
-      "dev": true
11462
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
11394 11463
     },
11395 11464
     "object-component": {
11396 11465
       "version": "0.0.3",
@@ -11566,7 +11635,6 @@
11566 11635
       "version": "1.4.0",
11567 11636
       "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
11568 11637
       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
11569
-      "dev": true,
11570 11638
       "requires": {
11571 11639
         "wrappy": "1.0.2"
11572 11640
       }
@@ -12669,6 +12737,41 @@
12669 12737
         "uniqs": "2.0.0"
12670 12738
       }
12671 12739
     },
12740
+    "prebuild-install": {
12741
+      "version": "5.3.3",
12742
+      "resolved": "https://registry.npm.taobao.org/prebuild-install/download/prebuild-install-5.3.3.tgz",
12743
+      "integrity": "sha1-70BSuqxg1GX1umvwA8nB3nm52o4=",
12744
+      "optional": true,
12745
+      "requires": {
12746
+        "detect-libc": "1.0.3",
12747
+        "expand-template": "2.0.3",
12748
+        "github-from-package": "0.0.0",
12749
+        "minimist": "1.2.5",
12750
+        "mkdirp": "0.5.5",
12751
+        "napi-build-utils": "1.0.2",
12752
+        "node-abi": "2.16.0",
12753
+        "noop-logger": "0.1.1",
12754
+        "npmlog": "4.1.2",
12755
+        "pump": "3.0.0",
12756
+        "rc": "1.2.8",
12757
+        "simple-get": "3.1.0",
12758
+        "tar-fs": "2.0.1",
12759
+        "tunnel-agent": "0.6.0",
12760
+        "which-pm-runs": "1.0.0"
12761
+      },
12762
+      "dependencies": {
12763
+        "pump": {
12764
+          "version": "3.0.0",
12765
+          "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
12766
+          "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
12767
+          "optional": true,
12768
+          "requires": {
12769
+            "end-of-stream": "1.4.4",
12770
+            "once": "1.4.0"
12771
+          }
12772
+        }
12773
+      }
12774
+    },
12672 12775
     "prelude-ls": {
12673 12776
       "version": "1.1.2",
12674 12777
       "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
@@ -12729,8 +12832,7 @@
12729 12832
     "process-nextick-args": {
12730 12833
       "version": "2.0.1",
12731 12834
       "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
12732
-      "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=",
12733
-      "dev": true
12835
+      "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
12734 12836
     },
12735 12837
     "progress-stream": {
12736 12838
       "version": "1.2.0",
@@ -13029,7 +13131,6 @@
13029 13131
       "version": "1.2.8",
13030 13132
       "resolved": "http://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz",
13031 13133
       "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=",
13032
-      "dev": true,
13033 13134
       "requires": {
13034 13135
         "deep-extend": "0.6.0",
13035 13136
         "ini": "1.3.5",
@@ -13157,7 +13258,6 @@
13157 13258
       "version": "2.3.7",
13158 13259
       "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz",
13159 13260
       "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
13160
-      "dev": true,
13161 13261
       "requires": {
13162 13262
         "core-util-is": "1.0.2",
13163 13263
         "inherits": "2.0.4",
@@ -13171,8 +13271,7 @@
13171 13271
         "isarray": {
13172 13272
           "version": "1.0.0",
13173 13273
           "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz",
13174
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
13175
-          "dev": true
13274
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
13176 13275
         }
13177 13276
       }
13178 13277
     },
@@ -14131,8 +14230,7 @@
14131 14230
     "semver": {
14132 14231
       "version": "5.7.1",
14133 14232
       "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
14134
-      "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
14135
-      "dev": true
14233
+      "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
14136 14234
     },
14137 14235
     "semver-diff": {
14138 14236
       "version": "2.1.0",
@@ -14276,8 +14374,7 @@
14276 14374
     "set-blocking": {
14277 14375
       "version": "2.0.0",
14278 14376
       "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
14279
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
14280
-      "dev": true
14377
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
14281 14378
     },
14282 14379
     "set-value": {
14283 14380
       "version": "2.0.1",
@@ -14360,6 +14457,40 @@
14360 14457
       "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585280715057&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz",
14361 14458
       "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw="
14362 14459
     },
14460
+    "simple-concat": {
14461
+      "version": "1.0.0",
14462
+      "resolved": "https://registry.npm.taobao.org/simple-concat/download/simple-concat-1.0.0.tgz",
14463
+      "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
14464
+      "optional": true
14465
+    },
14466
+    "simple-get": {
14467
+      "version": "3.1.0",
14468
+      "resolved": "https://registry.npm.taobao.org/simple-get/download/simple-get-3.1.0.tgz",
14469
+      "integrity": "sha1-tFvgYkNeUNFZVAtXYgLO7EC5xrM=",
14470
+      "optional": true,
14471
+      "requires": {
14472
+        "decompress-response": "4.2.1",
14473
+        "once": "1.4.0",
14474
+        "simple-concat": "1.0.0"
14475
+      },
14476
+      "dependencies": {
14477
+        "decompress-response": {
14478
+          "version": "4.2.1",
14479
+          "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-4.2.1.tgz",
14480
+          "integrity": "sha1-QUAjzHowLaJc4uyC0NUjjMr9iYY=",
14481
+          "optional": true,
14482
+          "requires": {
14483
+            "mimic-response": "2.1.0"
14484
+          }
14485
+        },
14486
+        "mimic-response": {
14487
+          "version": "2.1.0",
14488
+          "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-2.1.0.tgz",
14489
+          "integrity": "sha1-0Tdj019hPQnsN+uzC6wEacDuj0M=",
14490
+          "optional": true
14491
+        }
14492
+      }
14493
+    },
14363 14494
     "single-line-log": {
14364 14495
       "version": "1.1.2",
14365 14496
       "resolved": "http://registry.npm.taobao.org/single-line-log/download/single-line-log-1.1.2.tgz",
@@ -15143,7 +15274,6 @@
15143 15274
       "version": "1.0.2",
15144 15275
       "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz",
15145 15276
       "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
15146
-      "dev": true,
15147 15277
       "requires": {
15148 15278
         "code-point-at": "1.1.0",
15149 15279
         "is-fullwidth-code-point": "1.0.0",
@@ -15196,7 +15326,6 @@
15196 15326
       "version": "1.1.1",
15197 15327
       "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
15198 15328
       "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
15199
-      "dev": true,
15200 15329
       "requires": {
15201 15330
         "safe-buffer": "5.1.2"
15202 15331
       }
@@ -15212,7 +15341,6 @@
15212 15341
       "version": "3.0.1",
15213 15342
       "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
15214 15343
       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
15215
-      "dev": true,
15216 15344
       "requires": {
15217 15345
         "ansi-regex": "2.1.1"
15218 15346
       }
@@ -15244,8 +15372,7 @@
15244 15372
     "strip-json-comments": {
15245 15373
       "version": "2.0.1",
15246 15374
       "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1586159975241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz",
15247
-      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
15248
-      "dev": true
15375
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
15249 15376
     },
15250 15377
     "style-loader": {
15251 15378
       "version": "0.21.0",
@@ -15331,6 +15458,64 @@
15331 15458
         "inherits": "2.0.4"
15332 15459
       }
15333 15460
     },
15461
+    "tar-fs": {
15462
+      "version": "2.0.1",
15463
+      "resolved": "https://registry.npm.taobao.org/tar-fs/download/tar-fs-2.0.1.tgz",
15464
+      "integrity": "sha1-5ECGwcYNMaTwz4k7HE4VXav66eI=",
15465
+      "optional": true,
15466
+      "requires": {
15467
+        "chownr": "1.1.4",
15468
+        "mkdirp-classic": "0.5.2",
15469
+        "pump": "3.0.0",
15470
+        "tar-stream": "2.1.2"
15471
+      },
15472
+      "dependencies": {
15473
+        "bl": {
15474
+          "version": "4.0.2",
15475
+          "resolved": "https://registry.npm.taobao.org/bl/download/bl-4.0.2.tgz?cache=0&sync_timestamp=1584503211561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-4.0.2.tgz",
15476
+          "integrity": "sha1-UrcekIhRXQYG2d2cx6pI3B+Y5zo=",
15477
+          "optional": true,
15478
+          "requires": {
15479
+            "buffer": "5.6.0",
15480
+            "inherits": "2.0.4",
15481
+            "readable-stream": "3.6.0"
15482
+          }
15483
+        },
15484
+        "pump": {
15485
+          "version": "3.0.0",
15486
+          "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
15487
+          "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
15488
+          "optional": true,
15489
+          "requires": {
15490
+            "end-of-stream": "1.4.4",
15491
+            "once": "1.4.0"
15492
+          }
15493
+        },
15494
+        "readable-stream": {
15495
+          "version": "3.6.0",
15496
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
15497
+          "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
15498
+          "requires": {
15499
+            "inherits": "2.0.4",
15500
+            "string_decoder": "1.1.1",
15501
+            "util-deprecate": "1.0.2"
15502
+          }
15503
+        },
15504
+        "tar-stream": {
15505
+          "version": "2.1.2",
15506
+          "resolved": "https://registry.npm.taobao.org/tar-stream/download/tar-stream-2.1.2.tgz",
15507
+          "integrity": "sha1-bV7xp+V4OpX/cLabl0VaWWjcEyU=",
15508
+          "optional": true,
15509
+          "requires": {
15510
+            "bl": "4.0.2",
15511
+            "end-of-stream": "1.4.4",
15512
+            "fs-constants": "1.0.0",
15513
+            "inherits": "2.0.4",
15514
+            "readable-stream": "3.6.0"
15515
+          }
15516
+        }
15517
+      }
15518
+    },
15334 15519
     "tar-stream": {
15335 15520
       "version": "1.6.2",
15336 15521
       "resolved": "https://registry.npm.taobao.org/tar-stream/download/tar-stream-1.6.2.tgz",
@@ -15867,7 +16052,6 @@
15867 16052
       "version": "0.6.0",
15868 16053
       "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
15869 16054
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
15870
-      "dev": true,
15871 16055
       "requires": {
15872 16056
         "safe-buffer": "5.1.2"
15873 16057
       }
@@ -16236,6 +16420,25 @@
16236 16420
         }
16237 16421
       }
16238 16422
     },
16423
+    "usb": {
16424
+      "version": "1.6.3",
16425
+      "resolved": "https://registry.npm.taobao.org/usb/download/usb-1.6.3.tgz",
16426
+      "integrity": "sha1-wLwUmU6PnLFvlgLsDbrapXy5GfU=",
16427
+      "optional": true,
16428
+      "requires": {
16429
+        "bindings": "1.5.0",
16430
+        "nan": "2.13.2",
16431
+        "prebuild-install": "5.3.3"
16432
+      },
16433
+      "dependencies": {
16434
+        "nan": {
16435
+          "version": "2.13.2",
16436
+          "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.13.2.tgz?cache=0&sync_timestamp=1587497111086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.13.2.tgz",
16437
+          "integrity": "sha1-9R3Hrma6fV1V4ebU2AkugCya7+c=",
16438
+          "optional": true
16439
+        }
16440
+      }
16441
+    },
16239 16442
     "use": {
16240 16443
       "version": "3.1.1",
16241 16444
       "resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
@@ -16264,6 +16467,7 @@
16264 16467
       "version": "5.0.2",
16265 16468
       "resolved": "https://registry.npm.taobao.org/utf-8-validate/download/utf-8-validate-5.0.2.tgz",
16266 16469
       "integrity": "sha1-Y8+8zYXcHytmz3odDuvAjtBWv7M=",
16470
+      "optional": true,
16267 16471
       "requires": {
16268 16472
         "node-gyp-build": "3.7.0"
16269 16473
       }
@@ -16294,8 +16498,7 @@
16294 16498
     "util-deprecate": {
16295 16499
       "version": "1.0.2",
16296 16500
       "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
16297
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
16298
-      "dev": true
16501
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
16299 16502
     },
16300 16503
     "util.promisify": {
16301 16504
       "version": "1.0.0",
@@ -17820,11 +18023,16 @@
17820 18023
       "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
17821 18024
       "dev": true
17822 18025
     },
18026
+    "which-pm-runs": {
18027
+      "version": "1.0.0",
18028
+      "resolved": "https://registry.npm.taobao.org/which-pm-runs/download/which-pm-runs-1.0.0.tgz",
18029
+      "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
18030
+      "optional": true
18031
+    },
17823 18032
     "wide-align": {
17824 18033
       "version": "1.1.3",
17825 18034
       "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
17826 18035
       "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
17827
-      "dev": true,
17828 18036
       "requires": {
17829 18037
         "string-width": "1.0.2"
17830 18038
       }
@@ -17992,8 +18200,7 @@
17992 18200
     "wrappy": {
17993 18201
       "version": "1.0.2",
17994 18202
       "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
17995
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
17996
-      "dev": true
18203
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
17997 18204
     },
17998 18205
     "write-file-atomic": {
17999 18206
       "version": "2.4.3",
@@ -18039,6 +18246,15 @@
18039 18246
       "resolved": "https://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz",
18040 18247
       "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4="
18041 18248
     },
18249
+    "xpc-connection": {
18250
+      "version": "0.1.4",
18251
+      "resolved": "http://registry.npm.taobao.org/xpc-connection/download/xpc-connection-0.1.4.tgz",
18252
+      "integrity": "sha1-3Nf6oq7Gt6bhjMXdrQQvejTHcVY=",
18253
+      "optional": true,
18254
+      "requires": {
18255
+        "nan": "2.14.1"
18256
+      }
18257
+    },
18042 18258
     "xregexp": {
18043 18259
       "version": "2.0.0",
18044 18260
       "resolved": "https://registry.npm.taobao.org/xregexp/download/xregexp-2.0.0.tgz",

+ 2 - 1
package.json

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "name": "zxy",
3
-  "version": "0.0.1",
3
+  "version": "0.0.2",
4 4
   "author": "xiaoyuzhang <771799477@qq.com>",
5 5
   "description": "An electron-vue project",
6 6
   "license": null,
@@ -55,6 +55,7 @@
55 55
   },
56 56
   "dependencies": {
57 57
     "axios": "^0.18.0",
58
+    "bleno": "^0.5.0",
58 59
     "bufferutil": "^4.0.1",
59 60
     "echarts": "^4.7.0",
60 61
     "element-ui": "^2.13.1",

+ 240 - 0
src/renderer/components/Config.vue

@@ -0,0 +1,240 @@
1
+<template>
2
+  <div id="wrapper">
3
+    <div style="padding-bottom: 20px">
4
+      当前连接设备数:{{hasConnectCount}} <br/>
5
+      <el-button @click="toIndex" >跳转回压力页面</el-button>
6
+    </div>
7
+    <el-row :gutter="20">
8
+      <el-col :span="6">
9
+        <el-select v-model="value" filterable placeholder="请选择">
10
+          <el-option
11
+                  v-for="item in options"
12
+                  :key="item.value"
13
+                  :label="item.label"
14
+                  :value="item.value">
15
+          </el-option>
16
+        </el-select>
17
+      </el-col>
18
+      <el-col :span="6">
19
+        <el-radio v-model="radio" label="1">查询</el-radio>
20
+        <el-radio v-model="radio" label="2">配置</el-radio>
21
+      </el-col>
22
+      <el-col :span="6">
23
+        <el-input
24
+                placeholder="请输入16进制数据"
25
+                v-model="command"
26
+                clearable>
27
+        </el-input>
28
+      </el-col>
29
+      <el-col :span="6">
30
+        <el-button @click="sendMessage">
31
+          发送
32
+        </el-button>
33
+
34
+      </el-col>
35
+    </el-row>
36
+
37
+  </div>
38
+</template>
39
+
40
+<script>
41
+  import h337 from "heatmap.js";
42
+  import {mapState, mapGetters} from "vuex";
43
+  export default {
44
+    name: 'config',
45
+    data(){
46
+        return {
47
+            options: [{
48
+                value: 'caiyang',
49
+                label: '采样频率'
50
+            }, {
51
+                value: 'chuangan',
52
+                label: '传感器阈值'
53
+            }, {
54
+                value: 'qudong',
55
+                label: '驱动电压'
56
+            }, {
57
+                value: 'gongneng',
58
+                label: '功能角色'
59
+            }, {
60
+                value: 'shebei',
61
+                label: '设备型号'
62
+            }],
63
+            value: 'caiyang',
64
+            radio:'1',
65
+            command:'04',
66
+        }
67
+    },
68
+    methods: {
69
+        toIndex() {
70
+            this.$router.push('/')
71
+        },
72
+        sendMessage() {
73
+          if(this.command !='') {
74
+              let arr = this.command.trim().split(" ");
75
+              let key = '';
76
+              switch (this.value) {
77
+                  case 'caiyang':
78
+                      key = this.radio == '1'? 'checkCaiyang':'setCaiyang'
79
+                      if(arr.length >1) {
80
+                          this.errorNotify();
81
+                          return ;
82
+                      }
83
+                      break;
84
+                  case 'chuangan':
85
+                      key = this.radio == '1'? 'checkChuangan':'setChuangan'
86
+                      if(arr.length >1) {
87
+                          this.errorNotify();
88
+                          return ;
89
+                      }
90
+                      break;
91
+                  case 'qudong':
92
+                      key = this.radio == '1'? 'checkQudong':'setQudong'
93
+                      if(arr.length >2) {
94
+                          this.errorNotify();
95
+                          return ;
96
+                      }
97
+                      break;
98
+                  case 'gongneng':
99
+                      key = this.radio == '1'? 'checkGongneng':'setGongneng'
100
+                      if(arr.length >2) {
101
+                          this.errorNotify();
102
+                          return ;
103
+                      }
104
+                      break;
105
+                  case 'shebei':
106
+                      key = this.radio == '1'? 'checkShebei':'setShebei'
107
+                      if(arr.length >20) {
108
+                          this.errorNotify();
109
+                          return ;
110
+                      }
111
+                      break;
112
+
113
+              }
114
+              this.$socket.emit(key,arr)
115
+              this.successNotify()
116
+
117
+          }
118
+        },
119
+      errorNotify() {
120
+          this.$notify({
121
+              title: '提示',
122
+              message: '超过发送限制指令长度',
123
+              duration: 4500
124
+          });
125
+      },
126
+      successNotify() {
127
+          this.$notify({
128
+              title: '提示',
129
+              message: '成功发送指令',
130
+              duration: 1500
131
+          });
132
+      }
133
+    },
134
+    created() {
135
+
136
+    },
137
+    computed:{
138
+        ...mapGetters([
139
+            'hasConnectCount',
140
+            'pressureData'
141
+        ]),
142
+    },
143
+    watch:{
144
+
145
+    }
146
+  }
147
+  function strToHexCharCode(str) {
148
+      if(str === "")
149
+          return "";
150
+      var hexCharCode = [];
151
+      hexCharCode.push("0x");
152
+      for(var i = 0; i < str.length; i++) {
153
+          hexCharCode.push((str.charCodeAt(i)).toString(16));
154
+      }
155
+      return hexCharCode.join("");
156
+  }
157
+</script>
158
+
159
+<style>
160
+
161
+  * {
162
+    box-sizing: border-box;
163
+    margin: 0;
164
+    padding: 0;
165
+  }
166
+
167
+  body { font-family: 'Source Sans Pro', sans-serif; }
168
+
169
+  #wrapper {
170
+    background:
171
+      radial-gradient(
172
+        ellipse at top left,
173
+        rgba(255, 255, 255, 1) 40%,
174
+        rgba(229, 229, 229, .9) 100%
175
+      );
176
+    height: 700px;
177
+    padding: 60px 80px;
178
+    width: 100vw;
179
+  }
180
+
181
+  #logo {
182
+    height: auto;
183
+    margin-bottom: 20px;
184
+    width: 420px;
185
+  }
186
+
187
+  main {
188
+    display: flex;
189
+    justify-content: space-between;
190
+  }
191
+
192
+  main > div { flex-basis: 50%; }
193
+
194
+  .left-side {
195
+    display: flex;
196
+    flex-direction: column;
197
+  }
198
+
199
+  .welcome {
200
+    color: #555;
201
+    font-size: 23px;
202
+    margin-bottom: 10px;
203
+  }
204
+
205
+  .title {
206
+    color: #2c3e50;
207
+    font-size: 20px;
208
+    font-weight: bold;
209
+    margin-bottom: 6px;
210
+  }
211
+
212
+  .title.alt {
213
+    font-size: 18px;
214
+    margin-bottom: 10px;
215
+  }
216
+
217
+  .doc p {
218
+    color: black;
219
+    margin-bottom: 10px;
220
+  }
221
+
222
+  .doc button {
223
+    font-size: .8em;
224
+    cursor: pointer;
225
+    outline: none;
226
+    padding: 0.75em 2em;
227
+    border-radius: 2em;
228
+    display: inline-block;
229
+    color: #fff;
230
+    background-color: #4fc08d;
231
+    transition: all 0.15s ease;
232
+    box-sizing: border-box;
233
+    border: 1px solid #4fc08d;
234
+  }
235
+
236
+  .doc button.alt {
237
+    color: #42b983;
238
+    background-color: transparent;
239
+  }
240
+</style>

+ 14 - 102
src/renderer/components/LandingPage.vue

@@ -33,10 +33,11 @@
33 33
     <el-button @click="startCollection" :disabled="hasConnectCount == 0">开始采集</el-button>
34 34
     <el-button @click="stopCollection" :disabled="hasConnectCount == 0">停止采集</el-button>
35 35
     <el-button @click="resetDevice" :disabled="hasConnectCount == 0">复位</el-button>
36
+    <el-button @click="toConfig" :disabled="hasConnectCount == 0">跳转至配置</el-button>
36 37
     <br/>
37 38
     <div style="width:540px;height:540px;position:relative;margin-top:30px" >
38 39
       <div ref="heatsample" style="width:540px;height:540px;position:absolute;top:0;left:0" />
39
-      <chart id="heatmap" style="width:540px;height:540px;position:absolute;top:0" :options="chartOption" ref="heatmap"></chart>
40
+      <chart id="heatmap" style="width:540px;height:540px;position:absolute;top:0"  ref="heatmap"></chart>
40 41
     </div>
41 42
   </div>
42 43
 </template>
@@ -48,7 +49,6 @@
48 49
     name: 'landing-page',
49 50
     data(){
50 51
         return {
51
-            chartOption: getChartOption([]),
52 52
             h337:null
53 53
         }
54 54
     },
@@ -79,8 +79,13 @@
79 79
               max: 255,
80 80
               data: {}
81 81
           });
82
+      },
83
+      // 跳转至配置
84
+      toConfig() {
85
+          this.$router.push('/config')
82 86
       }
83 87
 
88
+
84 89
     },
85 90
     created() {
86 91
         this.$socket.emit('syncConnectCount','resetDevice')
@@ -90,7 +95,6 @@
90 95
                 container: dst,
91 96
                 radius:6,
92 97
                 blur:0.7,
93
-                //   gradient: gradient,
94 98
                 gradient:{
95 99
                     "0.00000":"#0000E3",
96 100
                     "0.00392":"#0000E3",
@@ -257,9 +261,7 @@
257 261
                 }
258 262
             });
259 263
             this.h337 = heatmap;
260
-        },1000)
261
-        console.log(require('../../../package.json').version)
262
-
264
+        },2000)
263 265
 
264 266
     },
265 267
     computed:{
@@ -270,105 +272,15 @@
270 272
     },
271 273
     watch:{
272 274
         pressureData:function (val) {
273
-            this.h337.setData({
274
-                max: 255,
275
-                data: val
276
-            });
275
+            if(this.h337 != null) {
276
+                this.h337.setData({
277
+                    max: 255,
278
+                    data: val
279
+                });
280
+            }
277 281
         }
278 282
     }
279 283
   }
280
-  function getChartOption(data) {
281
-      let xData = [];
282
-      let yData = [];
283
-      let pointsMid = [];
284
-      let pointsMidLocal = [];
285
-      let maxPress = 0;
286
-      let maxX = 60;
287
-      let maxY = 60;
288
-      // let maxX = 37;
289
-      // let maxY = 27;
290
-      data.forEach(obj => {
291
-          let x = Number(obj.split(",")[0]);
292
-          let y = Number(obj.split(",")[1]);
293
-          let press = Number(obj.split(",")[2]);
294
-          maxPress = maxPress < press ? press : maxPress;
295
-          xData.push(x);
296
-          yData.push(y);
297
-          pointsMid.push([x, y, press]);
298
-      });
299
-      pointsMid.forEach(obj => {
300
-          pointsMidLocal.push([obj[0], maxY - obj[1], obj[2]]);
301
-      });
302
-      pointsMid = pointsMidLocal;
303
-      let heatmapOption = {
304
-          tooltip: {},
305
-          grid: {
306
-              x: 0,
307
-              y: 0,
308
-              x2: 0,
309
-              y2: 0,
310
-              show: false,
311
-              backgroundColor: "rgb(255,255,255)",
312
-              width: "100%",
313
-              height: "100%",
314
-              shadowColor: "rgb(255,255,255)",
315
-              borderColor: "rgb(255,255,255)"
316
-          },
317
-          xAxis: {
318
-              show: false,
319
-              type: "category",
320
-              data: xData,
321
-              min: 0,
322
-              max: maxX
323
-          },
324
-          yAxis: {
325
-              show: false,
326
-              type: "category",
327
-              data: yData,
328
-              min: 0,
329
-              max: maxY
330
-          },
331
-          visualMap: {
332
-              min: 0,
333
-              max: maxPress,
334
-              show: false,
335
-              calculable: true,
336
-              realtime: false,
337
-              inRange: {
338
-                  color: [
339
-                      "#313695",
340
-                      "#4575b4",
341
-                      "#74add1",
342
-                      "#abd9e9",
343
-                      "#e0f3f8",
344
-                      "#ffffbf",
345
-                      "#fee090",
346
-                      "#fdae61",
347
-                      "#f46d43",
348
-                      "#d73027",
349
-                      "#a50026"
350
-                  ]
351
-              }
352
-          },
353
-          series: [
354
-              {
355
-                  show: false,
356
-                  name: "Gaussian",
357
-                  type: "heatmap",
358
-                  data: pointsMid,
359
-                  itemStyle: {
360
-                      emphasis: {
361
-                          borderColor: "#00000000",
362
-                          borderWidth: 0
363
-                      }
364
-                  },
365
-                  progressive: 100,
366
-                  animation: false
367
-              }
368
-          ]
369
-      };
370
-      return heatmapOption;
371
-  }
372 284
 </script>
373 285
 
374 286
 <style>

+ 0 - 21
src/renderer/components/Scan.vue

@@ -1,21 +0,0 @@
1
-<template>
2
-  <div id="wrapper">
3
-    <el-button>按钮</el-button>
4
-  </div>
5
-</template>
6
-
7
-<script>
8
-  export default {
9
-    name: 'scan',
10
-    components: {  },
11
-    methods: {
12
-      open (link) {
13
-        //this.$electron.shell.openExternal(link)
14
-      }
15
-    }
16
-  }
17
-</script>
18
-
19
-<style>
20
-
21
-</style>

+ 3 - 3
src/renderer/router/index.js

@@ -15,9 +15,9 @@ export default new Router({
15 15
       redirect: '/'
16 16
     },
17 17
     {
18
-        path: '/',
19
-        name: 'scan',
20
-        component: require('@/components/scan').default
18
+        path: '/config',
19
+        name: 'config',
20
+        component: require('@/components/Config').default
21 21
     },
22 22
 
23 23
   ]

+ 2 - 56
src/renderer/store/modules/socket.js

@@ -9,8 +9,6 @@ const actions = {
9 9
 
10 10
 
11 11
 }
12
-var col = 0
13
-var tempPressureData = []
14 12
 const mutations = {
15 13
     SOCKET_reconTest: (state, status) => {
16 14
         console.log(status)
@@ -23,17 +21,8 @@ const mutations = {
23 21
     SOCKET_disConnectOneClient:(state) =>{
24 22
          state.hasConnectCount--
25 23
     },
26
-    // 接收客户端发送过来的数据
27
-    SOCKET_validateData:(state,json) =>{
28
-        // 先判断列数
29
-        let validNumByteArray = new Uint8Array(json);
30
-        let allCommond = func.buf2hex(validNumByteArray);
31
-        let commond = allCommond.substring(0,2)
32
-        // 判断 帧头 e5 足压扫描
33
-        if(commond == 'e5') {
34
-            footPressure(state,validNumByteArray)
35
-        }
36
-
24
+    SOCKET_pressureData(state,data) {
25
+        state.pressureData = data
37 26
     }
38 27
 }
39 28
 
@@ -41,50 +30,7 @@ const getters = {
41 30
     hasConnectCount:state=>state.hasConnectCount,
42 31
     pressureData:state=>state.pressureData,
43 32
 }
44
-// 处理足压数据
45
-function footPressure(state,validNumByteArray) {
46
-    let offset = 10;
47
-    let nowCol = validNumByteArray[8];
48
-    //console.log(nowCol)
49
-    if(nowCol== 51) {
50
-        tempPressureData[col] = validNumByteArray.slice(offset)
51
-        state.pressureData = setPressureData(tempPressureData);
52
-        tempPressureData = [];
53
-        col = 0
54
-    }
55
-    if(nowCol >= col) {
56
-        tempPressureData[nowCol] = validNumByteArray.slice(offset)
57
-        col = nowCol;
58
-    } else {
59
-        state.pressureData = setPressureData(tempPressureData);
60
-        tempPressureData = [];
61
-        tempPressureData[nowCol] = validNumByteArray.slice(offset)
62
-        col = nowCol;
63
-        //  col = 0
64
-    }
65 33
 
66
-}
67
-
68
-// 足压数据补齐点位为60*60 并进行点扩散
69
-function setPressureData(data) {
70
-    let dataAll = []
71
-    // 补到之前  60*60 个点位
72
-    for (let j =0;j<60;j++) {
73
-        dataAll[j] = []
74
-        for (let k =0;k<60;k++) {
75
-            if(typeof (data[j]) == 'undefined') {
76
-                dataAll[j][k] = 0
77
-            } else {
78
-                if(typeof (data[j][k]) == 'undefined') {
79
-                    dataAll[j][k] = 0
80
-                } else {
81
-                    dataAll[j][k] = data[j][k]
82
-                }
83
-            }
84
-        }
85
-    }
86
-    return func.pressureDataProcess(dataAll,2.5,4)
87
-}
88 34
 
89 35
 export default {
90 36
     state,

+ 92 - 2
static/server/app.js

@@ -8,6 +8,7 @@ var server = http.createServer(app.callback());
8 8
 io = require('socket.io').listen(server);
9 9
 var sendProtocal = require('./protocal/sendProtocal')
10 10
 var command = require('./protocal/command')
11
+var commonFunction = require('./protocal/commonFunction')
11 12
 
12 13
 // socket 服务开启
13 14
 
@@ -57,6 +58,58 @@ io.sockets.on('connection', function (socket) {
57 58
         }
58 59
         io.sockets.emit('connectCount', connectCount);
59 60
     })
61
+    // 发送获取采样频率指令
62
+    socket.on('checkCaiyang',function (sendData) {
63
+        let data = sendProtocal.sendMsg(sendData,'caiyang','get')
64
+        socketEvent.write(data)
65
+    })
66
+    // 发送设置采样频率指令
67
+    socket.on('setCaiyang',function (sendData) {
68
+        let data = sendProtocal.sendMsg(sendData,'caiyang','set')
69
+        socketEvent.write(data)
70
+    })
71
+    // 发送检查传感器 阈值
72
+    socket.on('checkChuangan',function (sendData) {
73
+        let data = sendProtocal.sendMsg(sendData,'chuangan','get')
74
+        socketEvent.write(data)
75
+    })
76
+    // 发送 设置传感器 阈值
77
+    socket.on('setChuangan',function (sendData) {
78
+        let data = sendProtocal.sendMsg(sendData,'chuangan','set')
79
+        socketEvent.write(data)
80
+    })
81
+    // 发送检查驱动
82
+    socket.on('checkQudong',function (sendData) {
83
+        let data = sendProtocal.sendMsg(sendData,'qudong','get')
84
+        socketEvent.write(data)
85
+    })
86
+    // 发送 设置驱动
87
+    socket.on('setQudong',function (sendData) {
88
+        let data = sendProtocal.sendMsg(sendData,'qudong','set')
89
+        socketEvent.write(data)
90
+    })
91
+    // 发送检查功能
92
+    socket.on('checkGongneng',function (sendData) {
93
+        let data = sendProtocal.sendMsg(sendData,'gongneng','get')
94
+        socketEvent.write(data)
95
+    })
96
+    // 发送 设置功能
97
+    socket.on('setGongneng',function (sendData) {
98
+        let data = sendProtocal.sendMsg(sendData,'gongneng','set')
99
+        socketEvent.write(data)
100
+    })
101
+    // 发送检查设备
102
+    socket.on('checkShebei',function (sendData) {
103
+        let data = sendProtocal.sendMsg(sendData,'shebei','get')
104
+        socketEvent.write(data)
105
+    })
106
+    // 发送设置设备
107
+    socket.on('setShebei',function (sendData) {
108
+        let data = sendProtocal.sendMsg(sendData,'shebei','set')
109
+        socketEvent.write(data)
110
+    })
111
+
112
+
60 113
 })
61 114
 
62 115
 socketServer.on('connection',(socket)=>{
@@ -81,14 +134,14 @@ socketServer.on('connection',(socket)=>{
81 134
             let validNum = validNumByteArray[0]
82 135
             if(data.length >validNum) {
83 136
                 let validateData = data.slice(0, 1 + 2 +validNum);
84
-                io.sockets.emit('validateData',validateData);
137
+                setAllCommand(validateData)
85 138
                 lastBuffer = data.slice(1+2+validNum)
86 139
                 if(lastBuffer.length >=1+2+validNum) {
87 140
                     data = lastBuffer
88 141
                     continue;
89 142
                 }
90 143
             } else if(data.length == 1+2+validNum) {
91
-                io.sockets.emit('validateData',data);
144
+                setAllCommand(data)
92 145
                 lastBuffer = null;
93 146
             } else {
94 147
                 lastBuffer = data;
@@ -107,6 +160,43 @@ socketServer.on('connection',(socket)=>{
107 160
     });
108 161
 })
109 162
 
163
+// 处理所有指令(根据帧头判断业务逻辑)
164
+function setAllCommand(validateData) {
165
+    let validNumByteArray = new Uint8Array(validateData);
166
+    let allCommond = commonFunction.buf2hex(validNumByteArray);
167
+    let commond = allCommond.substring(0,2)
168
+    // 判断 帧头 e5 足压扫描
169
+    if(commond == 'e5') {
170
+        footPressure(validNumByteArray)
171
+    }
172
+
173
+}
174
+var col = 0
175
+var tempPressureData = []
176
+// 处理足压数据
177
+function footPressure(validNumByteArray) {
178
+    let offset = 10;
179
+    let nowCol = validNumByteArray[8];
180
+    //console.log(nowCol)
181
+    if(nowCol== 51) {
182
+        tempPressureData[col] = validNumByteArray.slice(offset)
183
+        io.sockets.emit('pressureData',commonFunction.setPressureData(tempPressureData));
184
+        tempPressureData = [];
185
+        col = 0
186
+    }
187
+    if(nowCol >= col) {
188
+        tempPressureData[nowCol] = validNumByteArray.slice(offset)
189
+        col = nowCol;
190
+    } else {
191
+        io.sockets.emit('pressureData',commonFunction.setPressureData(tempPressureData));
192
+        tempPressureData = [];
193
+        tempPressureData[nowCol] = validNumByteArray.slice(offset)
194
+        col = nowCol;
195
+        //  col = 0
196
+    }
197
+
198
+}
199
+
110 200
 
111 201
 module.exports = server
112 202
 

+ 1 - 1
static/server/protocal/checksum.js

@@ -3,5 +3,5 @@ module.exports = function (data) {
3 3
   data.forEach(element => {
4 4
     sum = element + sum;
5 5
   });
6
-  return 0x100 - sum % 0x100;
6
+  return sum % 0x100;
7 7
 }

+ 82 - 0
static/server/protocal/commonFunction.js

@@ -0,0 +1,82 @@
1
+module.exports = {
2
+    // buffer 转16进制
3
+    buf2hex:function (buffer) {
4
+        // create a byte array (Uint8Array) that we can use to read the array buffer
5
+        const byteArray = new Uint8Array(buffer);
6
+        // for each element, we want to get its two-digit hexadecimal representation
7
+        const hexParts = [];
8
+        for(let i = 0; i < byteArray.length; i++) {
9
+            // convert value to hexadecimal
10
+            const hex = byteArray[i].toString(16);
11
+            // pad with zeros to length 2
12
+            const paddedHex = ('00' + hex).slice(-2);
13
+            // push to array
14
+            hexParts.push(paddedHex);
15
+        }
16
+
17
+        // join all the hex values of the elements into a single string
18
+        return hexParts.join('');
19
+    },
20
+    // 足压数据补齐点位为60*60 并进行点扩散
21
+    setPressureData:function (data) {
22
+        let dataAll = []
23
+        // 补到之前  60*60 个点位
24
+        for (let j =0;j<60;j++) {
25
+            dataAll[j] = []
26
+            for (let k =0;k<60;k++) {
27
+                if(typeof (data[j]) == 'undefined') {
28
+                    dataAll[j][k] = 0
29
+                } else {
30
+                    if(typeof (data[j][k]) == 'undefined') {
31
+                        dataAll[j][k] = 0
32
+                    } else {
33
+                        dataAll[j][k] = data[j][k]
34
+                    }
35
+                }
36
+            }
37
+        }
38
+        return pressureDataProcess(dataAll,2.5,4)
39
+    },
40
+}
41
+
42
+function pressureDataProcess(a,scale,size) {
43
+    var height = 60;
44
+    var width = 60;
45
+    var newHeight = 60*scale;
46
+    var newWidth = 60*scale;
47
+    var u =0.0;
48
+    var v = 0.0;
49
+    var x = 0.0;
50
+    var y = 0.0;
51
+    var m = 0;
52
+    var n = 0;
53
+    let temp = new Array()
54
+    let rearr = []
55
+    for(let i = 0;i<newHeight;++i) {
56
+        temp[i] = new Array()
57
+        for(let j=0;j<newWidth;++j) {
58
+            y = i/scale;
59
+            x = j/scale;
60
+            m = parseInt(y);
61
+            n = parseInt(x);
62
+            v = y-m;
63
+            u = x-n;
64
+            let tt = {}
65
+            if(m<height-1 &&n<width-1){
66
+                temp[i][j] = parseInt((1.0-v)*((1.0-u)*a[m][n]+u*a[m][n+1])
67
+                    + v*((1.0-u)*a[m+1][n] + u*a[m+1][n+1])
68
+                )
69
+            } else {
70
+                temp[i][j] = a[m][n]
71
+            }
72
+            tt.x = i*size
73
+            tt.y = j*size
74
+            if(temp[i][j]>0) {
75
+                tt.value = temp[i][j]
76
+                rearr.push(tt)
77
+            }
78
+        }
79
+    }
80
+    return rearr
81
+}
82
+

+ 51 - 12
static/server/protocal/sendProtocal.js

@@ -45,18 +45,57 @@ module.exports = {
45 45
       data.push(0x00);
46 46
       return Buffer(data);
47 47
   },
48
-
49
-  socketPressReset: function () {
50
-    let data = [];
51
-    let snLength = machineInfo.sn.length;
52
-    data.push(0x3a);
53
-    data.push(1);
54
-    data.push(snLength);
55
-    data = data.concat(machineInfo.sn);
56
-    console.log(data)
57
-    let checkSum = checksum(data);
58
-    data.push(checkSum);
59
-    return Buffer(data);
48
+  //  查询采样频率、传感器阈值 驱动电压、功能角色、设备型号指令
49
+  sendMsg:function (arrData,cmd,type) {
50
+      let head  = 0xf5
51
+      let realcmd = 0x00
52
+      if(type == 'get') {
53
+          realcmd = 0x01
54
+      } else {
55
+          realcmd = 0x02
56
+      }
57
+      let id = getWhichCmd(cmd)
58
+      let data = [];
59
+      data.push(head)
60
+      // 计算长度
61
+      let size = (1+1+arrData.length).toString(16)
62
+      data.push(size)
63
+      data.push(0x00)
64
+      data.push(realcmd)
65
+      data.push(id)
66
+      let sum = 0
67
+      for(let i in arrData) {
68
+          data.push(parseInt(arrData[i],16))
69
+          sum += parseInt(arrData[i],16)
70
+      }
71
+      let checkSum = (realcmd + id + sum) & 0xff
72
+      data.push(checkSum)
73
+      console.log(Buffer(data))
74
+      return Buffer(data);
60 75
   },
61 76
 
77
+}
78
+
79
+function getWhichCmd(cmd) {
80
+    let returnCmd = 0x00
81
+    switch (cmd) {
82
+        case 'caiyang':
83
+            returnCmd = 0x01
84
+            break;
85
+        case 'chuangan':
86
+            returnCmd = 0x02
87
+            break;
88
+        case 'qudong':
89
+            returnCmd = 0x03;
90
+            break;
91
+        case 'gongneng':
92
+            returnCmd = 0x04
93
+            break;
94
+        case 'shebei':
95
+            returnCmd = 0x05
96
+            break
97
+    }
98
+    return returnCmd
99
+
100
+
62 101
 }