Переглянути джерело

增加登录,退出登录,导入配置文件功能

liuwei 4 роки тому
батько
коміт
ad40dc410c

+ 289 - 213
.idea/workspace.xml

@@ -2,12 +2,16 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="690c02a3-0e7d-4c4a-8f0c-a44c44c3a162" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/renderer/api/ajax.js" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/renderer/api/index.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.electron-vue/dev-runner.js" beforeDir="false" afterPath="$PROJECT_DIR$/.electron-vue/dev-runner.js" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/index.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/App.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/App.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/api/ajax.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/api/ajax.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/api/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/api/index.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/assets/less/mainpage.less" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/assets/less/mainpage.less" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/components/Admin.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/components/Admin.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/renderer/components/Login.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/components/Login.vue" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/renderer/store/state.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/store/state.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/renderer/main.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/renderer/main.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/utils/storageUtils.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/utils/storageUtils.js" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/dist/" />
     <ignored path="$PROJECT_DIR$/.tmp/" />
@@ -20,7 +24,41 @@
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
   <component name="FileEditorManager">
-    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300" />
+    <leaf>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/renderer/api/index.js">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="63">
+              <caret line="3" column="3" lean-forward="true" selection-start-line="3" selection-start-column="3" selection-end-line="3" selection-end-column="3" />
+              <folding>
+                <element signature="n#!!doc" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/renderer/components/Admin.vue">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="391">
+              <caret line="82" column="10" lean-forward="true" selection-start-line="82" selection-start-column="10" selection-end-line="82" selection-end-column="10" />
+              <folding>
+                <element signature="n#div#0;n#div#0;n#template#0;n#!!top" />
+                <element signature="e#1231#1954#0" />
+                <element signature="e#2070#2099#0" expanded="true" />
+                <element signature="e#2542#2729#0" />
+                <element signature="e#2747#2850#0" />
+                <element signature="e#2768#2840#0" />
+                <element signature="e#2871#2883#0" />
+                <element signature="e#2903#3166#0" />
+                <element signature="e#2952#3156#0" />
+                <element signature="e#3187#3239#0" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
   </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
@@ -83,7 +121,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/renderer/components/modal/addPrePlan.vue" />
         <option value="$PROJECT_DIR$/src/renderer/components/modal/loadPrePlan.vue" />
         <option value="$PROJECT_DIR$/src/renderer/components/modal/running.vue" />
         <option value="$PROJECT_DIR$/src/renderer/components/modal/playertest.vue" />
@@ -109,14 +146,11 @@
         <option value="$PROJECT_DIR$/dist/electron/index.html" />
         <option value="$PROJECT_DIR$/src/renderer/router/index.js" />
         <option value="$PROJECT_DIR$/.electron-vue/webpack.main.config.js" />
-        <option value="$PROJECT_DIR$/src/renderer/App.vue" />
         <option value="$PROJECT_DIR$/build/win-unpacked/resources/app/dist/electron/main.js" />
         <option value="$PROJECT_DIR$/build/win-unpacked/resources/app/dist/electron/index.html" />
         <option value="$PROJECT_DIR$/build/win-unpacked/resources/app/dist/electron/renderer.js" />
         <option value="$PROJECT_DIR$/src/main/data.js" />
         <option value="$PROJECT_DIR$/src/index.ejs" />
-        <option value="$PROJECT_DIR$/src/main/index.js" />
-        <option value="$PROJECT_DIR$/src/renderer/main.js" />
         <option value="$PROJECT_DIR$/src/renderer/components/Label.vue" />
         <option value="$PROJECT_DIR$/src/renderer/components/SignalList.vue" />
         <option value="$PROJECT_DIR$/src/renderer/components/Image.vue" />
@@ -126,14 +160,18 @@
         <option value="$PROJECT_DIR$/src/renderer/store/mutations.js" />
         <option value="$PROJECT_DIR$/src/renderer/components/BigShow.vue" />
         <option value="$PROJECT_DIR$/src/renderer/components/Button.vue" />
+        <option value="$PROJECT_DIR$/src/renderer/store/state.js" />
+        <option value="$PROJECT_DIR$/.electron-vue/dev-runner.js" />
+        <option value="$PROJECT_DIR$/package.json" />
+        <option value="$PROJECT_DIR$/src/main/index.js" />
+        <option value="$PROJECT_DIR$/src/renderer/main.js" />
         <option value="$PROJECT_DIR$/src/renderer/assets/less/mainpage.less" />
         <option value="$PROJECT_DIR$/src/renderer/components/Admin.vue" />
-        <option value="$PROJECT_DIR$/src/renderer/store/state.js" />
+        <option value="$PROJECT_DIR$/src/utils/storageUtils.js" />
+        <option value="$PROJECT_DIR$/src/renderer/api/ajax.js" />
         <option value="$PROJECT_DIR$/src/renderer/api/index.js" />
         <option value="$PROJECT_DIR$/src/renderer/components/Login.vue" />
-        <option value="$PROJECT_DIR$/src/renderer/api/ajax.js" />
-        <option value="$PROJECT_DIR$/.electron-vue/dev-runner.js" />
-        <option value="$PROJECT_DIR$/package.json" />
+        <option value="$PROJECT_DIR$/src/renderer/App.vue" />
       </list>
     </option>
   </component>
@@ -151,6 +189,7 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
+      <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
@@ -158,17 +197,27 @@
               <item name="electron-app" type="b2602c69:ProjectViewProjectNode" />
               <item name="electron-app" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="electron-app" type="b2602c69:ProjectViewProjectNode" />
+              <item name="electron-app" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="electron-app" type="b2602c69:ProjectViewProjectNode" />
+              <item name="electron-app" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="renderer" type="462c0819:PsiDirectoryNode" />
+            </path>
           </expand>
           <select />
         </subPane>
       </pane>
-      <pane id="Scope" />
     </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/renderer" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/renderer/api" />
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
     <property name="nodejs_package_manager_path" value="npm" />
@@ -176,17 +225,17 @@
     <property name="ts.external.directory.path" value="F:\webstorm\WebStorm 2019.1.3\plugins\JavaScriptLanguage\jsLanguageServicesImpl\external" />
   </component>
   <component name="RecentsManager">
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="C:\Users\liuwei\Desktop\electron\electron-app\static" />
-      <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer\assets" />
-      <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src\renderer\assets\images" />
-    </key>
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer\api" />
       <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer" />
       <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer\components" />
       <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer\components\modal" />
       <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer\assets\less" />
+    </key>
+    <key name="MoveFile.RECENT_KEYS">
       <recent name="C:\Users\liuwei\Desktop\electron\electron-app\static" />
+      <recent name="C:\Users\liuwei\Desktop\electron\electron-app\src\renderer\assets" />
+      <recent name="C:\Users\liuwei\Desktop\桌面程序\electron-app\src\renderer\assets\images" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -261,12 +310,13 @@
       <workItem from="1587792062979" duration="12462000" />
       <workItem from="1587865780844" duration="20841000" />
       <workItem from="1587909041527" duration="633000" />
-      <workItem from="1587980408036" duration="774000" />
+      <workItem from="1587980408036" duration="1193000" />
+      <workItem from="1588039023750" duration="20874000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="371328000" />
+    <option name="totallyTimeSpent" value="392621000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -279,8 +329,9 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
+    <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.15700738" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.15700738" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info id="npm" order="2" side_tool="true" />
       <window_info id="Favorites" order="3" side_tool="true" />
@@ -294,7 +345,7 @@
       <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
       <window_info anchor="bottom" id="Version Control" order="8" weight="0.32910052" />
       <window_info anchor="bottom" id="Event Log" order="9" side_tool="true" weight="0.32910052" />
-      <window_info active="true" anchor="bottom" id="Terminal" order="10" visible="true" weight="0.47724867" />
+      <window_info anchor="bottom" id="Terminal" order="10" weight="0.6730159" />
       <window_info anchor="bottom" id="TypeScript" order="11" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
@@ -305,21 +356,6 @@
     <option name="version" value="1" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/data.js" />
-    <entry file="file://$PROJECT_DIR$/node_modules/webpack/bin/webpack.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="306">
-          <caret line="85" column="10" selection-start-line="85" selection-start-column="10" selection-end-line="85" selection-end-column="10" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/dist/electron/main.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret column="35" selection-start-column="35" selection-end-column="35" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/index.ejs">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="294">
@@ -327,23 +363,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="8" column="21" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/index.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="265">
-          <caret line="35" column="89" lean-forward="true" selection-start-line="35" selection-start-column="5" selection-end-line="35" selection-end-column="89" />
-          <folding>
-            <element signature="e#0#45#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/components/Label.vue">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="42">
@@ -396,16 +415,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="357">
-          <caret line="17" column="2" selection-start-line="17" selection-end-line="18" selection-end-column="41" />
-          <folding>
-            <element signature="e#0#21#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/components/Slider.vue">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="126">
@@ -428,42 +437,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/mutations.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="378">
-          <caret line="18" column="7" lean-forward="true" selection-start-line="18" selection-start-column="7" selection-end-line="18" selection-end-column="7" />
-          <folding>
-            <element signature="n#!!doc" expanded="true" />
-            <element signature="e#25#78#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/mutation-types.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
-          <folding>
-            <element signature="n#!!doc" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/actions.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="63">
-          <caret line="27" column="1" lean-forward="true" selection-start-line="27" selection-start-column="1" selection-end-line="27" selection-end-column="1" />
-          <folding>
-            <element signature="e#121#498#0" />
-            <element signature="e#126#209#0" />
-            <element signature="e#235#311#0" />
-            <element signature="e#347#357#0" />
-            <element signature="e#421#431#0" />
-            <element signature="e#518#528#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/components/Button.vue">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="286">
@@ -509,24 +482,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/mainpage.less">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="84">
-          <caret line="4" column="25" lean-forward="true" selection-start-line="4" selection-start-column="25" selection-end-line="4" selection-end-column="25" />
-          <folding>
-            <element signature="e#141#1557#0" />
-            <element signature="e#340#1547#0" />
-            <element signature="e#535#618#0" />
-            <element signature="e#680#1533#0" />
-            <element signature="e#927#1118#0" />
-            <element signature="e#1194#1515#0" />
-            <element signature="e#1642#1732#0" />
-            <element signature="e#1795#1964#0" />
-            <element signature="e#2024#2173#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/static/EnityView.json">
       <provider selected="true" editor-type-id="text-editor">
         <state>
@@ -2584,44 +2539,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/static/EnityBigScreen.json">
-      <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <folding>
-            <element signature="e#0#6030#0" />
-            <element signature="e#6#1363#0" />
-            <element signature="e#27#631#0" />
-            <element signature="e#41#207#0" />
-            <element signature="e#221#345#0" />
-            <element signature="e#359#483#0" />
-            <element signature="e#497#621#0" />
-            <element signature="e#1369#4674#0" />
-            <element signature="e#1390#3941#0" />
-            <element signature="e#1404#1567#0" />
-            <element signature="e#1581#1745#0" />
-            <element signature="e#1759#1922#0" />
-            <element signature="e#1936#2099#0" />
-            <element signature="e#2113#2276#0" />
-            <element signature="e#2290#2453#0" />
-            <element signature="e#2467#2631#0" />
-            <element signature="e#2645#2808#0" />
-            <element signature="e#2822#2985#0" />
-            <element signature="e#2999#3163#0" />
-            <element signature="e#3177#3340#0" />
-            <element signature="e#3354#3517#0" />
-            <element signature="e#3531#3655#0" />
-            <element signature="e#3669#3793#0" />
-            <element signature="e#3807#3931#0" />
-            <element signature="e#4680#6028#0" />
-            <element signature="e#4701#5302#0" />
-            <element signature="e#4715#4878#0" />
-            <element signature="e#4892#5016#0" />
-            <element signature="e#5030#5154#0" />
-            <element signature="e#5168#5292#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/login.less">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="63">
@@ -2646,27 +2563,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/Admin.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1932">
-          <caret line="92" lean-forward="true" selection-start-line="92" selection-end-line="92" />
-          <folding>
-            <element signature="e#2007#2036#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/store/state.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="546">
-          <caret line="26" column="6" selection-start-line="26" selection-start-column="6" selection-end-line="26" selection-end-column="6" />
-          <folding>
-            <element signature="n#!!doc" expanded="true" />
-            <element signature="e#145#193#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/.electron-vue/build.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="462">
@@ -2688,38 +2584,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/components/Login.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="987">
-          <caret line="75" column="68" lean-forward="true" selection-start-line="75" selection-start-column="68" selection-end-line="75" selection-end-column="68" />
-          <folding>
-            <element signature="n#template#0;n#!!top" />
-            <element signature="e#1581#1610#0" expanded="true" />
-            <element signature="n#style#0;n#!!top" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/api/index.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="8" column="7" lean-forward="true" selection-start-line="8" selection-start-column="7" selection-end-line="8" selection-end-column="7" />
-          <folding>
-            <element signature="n#!!doc" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/renderer/api/ajax.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="525">
-          <caret line="25" column="1" lean-forward="true" selection-start-line="25" selection-start-column="1" selection-end-line="25" selection-end-column="1" />
-          <folding>
-            <element signature="n#!!doc" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/.electron-vue/webpack.main.config.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="42">
@@ -2796,8 +2660,8 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/package.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="252">
-          <caret line="106" lean-forward="true" selection-start-line="106" selection-end-line="106" />
+        <state relative-caret-position="210">
+          <caret line="104" column="3" lean-forward="true" selection-start-line="104" selection-start-column="3" selection-end-line="104" selection-end-column="3" />
           <folding>
             <element signature="n#!!block;n#scripts#0;n#!!top" />
             <element signature="n#!!block;n#build#0;n#!!top" />
@@ -2812,5 +2676,217 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/static/EnityBigScreen.json">
+      <provider selected="true" editor-type-id="text-editor">
+        <state>
+          <caret line="229" column="1" lean-forward="true" selection-start-line="229" selection-start-column="1" selection-end-line="229" selection-end-column="1" />
+          <folding>
+            <element signature="e#0#6030#0" />
+            <element signature="e#27#631#0" />
+            <element signature="e#41#207#0" />
+            <element signature="e#221#345#0" />
+            <element signature="e#359#483#0" />
+            <element signature="e#497#621#0" />
+            <element signature="e#1369#4674#0" />
+            <element signature="e#1390#3941#0" />
+            <element signature="e#1404#1567#0" />
+            <element signature="e#1581#1745#0" />
+            <element signature="e#1759#1922#0" />
+            <element signature="e#1936#2099#0" />
+            <element signature="e#2113#2276#0" />
+            <element signature="e#2290#2453#0" />
+            <element signature="e#2467#2631#0" />
+            <element signature="e#2645#2808#0" />
+            <element signature="e#2822#2985#0" />
+            <element signature="e#2999#3163#0" />
+            <element signature="e#3177#3340#0" />
+            <element signature="e#3354#3517#0" />
+            <element signature="e#3531#3655#0" />
+            <element signature="e#3669#3793#0" />
+            <element signature="e#3807#3931#0" />
+            <element signature="e#4680#6028#0" />
+            <element signature="e#4701#5302#0" />
+            <element signature="e#4715#4878#0" />
+            <element signature="e#4892#5016#0" />
+            <element signature="e#5030#5154#0" />
+            <element signature="e#5168#5292#0" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/index.dev.js">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/main.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="273">
+          <caret line="13" column="4" selection-start-line="13" selection-start-column="4" selection-end-line="13" selection-end-column="4" />
+          <folding>
+            <element signature="e#0#21#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/index.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="399">
+          <caret line="32" column="28" selection-start-line="32" selection-start-column="28" selection-end-line="32" selection-end-column="28" />
+          <folding>
+            <element signature="e#0#45#0" expanded="true" />
+            <element signature="e#282#371#0" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/state.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="147">
+          <caret line="14" lean-forward="true" selection-start-line="14" selection-end-line="14" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/mutation-types.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="126">
+          <caret line="6" column="74" lean-forward="true" selection-start-line="6" selection-start-column="74" selection-end-line="6" selection-end-column="74" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/jsLanguageServicesImpl/external/lib.dom.d.ts">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="21">
+          <caret line="14971" column="4" selection-start-line="14971" selection-start-column="4" selection-end-line="14971" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/assets/less/mainpage.less">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="21">
+          <caret line="85" column="1" lean-forward="true" selection-start-line="85" selection-start-column="1" selection-end-line="85" selection-end-column="1" />
+          <folding>
+            <element signature="e#20#1561#0" />
+            <element signature="e#107#1067#0" />
+            <element signature="e#250#1063#0" />
+            <element signature="e#385#446#0" />
+            <element signature="e#488#1057#0" />
+            <element signature="e#663#786#0" />
+            <element signature="e#838#1049#0" />
+            <element signature="e#1134#1202#0" />
+            <element signature="e#1253#1392#0" />
+            <element signature="e#1440#1559#0" />
+            <element signature="e#1591#1601#0" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/utils/storageUtils.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="462">
+          <caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="22" selection-end-column="2" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/mutations.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="147">
+          <caret line="9" column="31" lean-forward="true" selection-start-line="9" selection-start-column="31" selection-end-line="9" selection-end-column="31" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/store/actions.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="168">
+          <caret line="8" column="4" lean-forward="true" selection-start-line="8" selection-start-column="4" selection-end-line="8" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/api/ajax.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="945">
+          <caret line="45" lean-forward="true" selection-start-line="45" selection-end-line="45" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+            <element signature="e#58#83#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/Login.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="97">
+          <caret line="65" column="10" lean-forward="true" selection-start-line="65" selection-start-column="10" selection-end-line="65" selection-end-column="10" />
+          <folding>
+            <element signature="n#div#0;n#template#0;n#!!top" />
+            <element signature="n#section#0;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#el-form#0;n#section#0;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#el-form-item#0;n#el-form#0;n#section#0;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#el-form-item#1;n#el-form#0;n#section#0;n#div#0;n#template#0;n#!!top" />
+            <element signature="n#el-form-item#2;n#el-form#0;n#section#0;n#div#0;n#template#0;n#!!top" />
+            <element signature="e#1576#1605#0" expanded="true" />
+            <element signature="n#style#0;n#!!top" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/App.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="84">
+          <caret line="41" column="8" lean-forward="true" selection-start-line="41" selection-start-column="8" selection-end-line="41" selection-end-column="8" />
+          <folding>
+            <element signature="n#template#0;n#!!top" />
+            <element signature="n#div#0;n#template#0;n#!!top" />
+            <element signature="n#script#0;n#!!top" />
+            <element signature="e#157#754#0" />
+            <element signature="e#197#750#0" />
+            <element signature="e#479#497#0" />
+            <element signature="e#524#577#0" />
+            <element signature="e#664#781#0" />
+            <element signature="e#714#772#0" />
+            <element signature="n#style#0;n#!!top" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/api/index.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="63">
+          <caret line="3" column="3" lean-forward="true" selection-start-line="3" selection-start-column="3" selection-end-line="3" selection-end-column="3" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/renderer/components/Admin.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="391">
+          <caret line="82" column="10" lean-forward="true" selection-start-line="82" selection-start-column="10" selection-end-line="82" selection-end-column="10" />
+          <folding>
+            <element signature="n#div#0;n#div#0;n#template#0;n#!!top" />
+            <element signature="e#1231#1954#0" />
+            <element signature="e#2070#2099#0" expanded="true" />
+            <element signature="e#2542#2729#0" />
+            <element signature="e#2747#2850#0" />
+            <element signature="e#2768#2840#0" />
+            <element signature="e#2871#2883#0" />
+            <element signature="e#2903#3166#0" />
+            <element signature="e#2952#3156#0" />
+            <element signature="e#3187#3239#0" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>

+ 9 - 4
src/main/index.js

@@ -11,9 +11,7 @@ if (process.env.NODE_ENV !== 'development') {
 }
 
 let mainWindow
-const winURL = process.env.NODE_ENV === 'development'
-  ? `http://localhost:9080`
-  : `file://${__dirname}/index.html`
+const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:9080` : `file://${__dirname}/index.html`
 
 function createWindow () {
   /**
@@ -22,11 +20,14 @@ function createWindow () {
   mainWindow = new BrowserWindow({
     width: 1000,
     height: 563,
+    show:false,
     useContentSize: true,
     webPreferences: {
+      // 允许跨域
+      webSecurity: false,
       // 渲染进程是否使用node
       nodeIntegration: true
-    }
+    },
   })
 
   mainWindow.loadURL(winURL)
@@ -39,6 +40,10 @@ function createWindow () {
     mainWindow.webContents.send('something', fileContents)
   })*/
 
+  mainWindow.once('ready-to-show', () => {
+    mainWindow.show()
+  })
+
   mainWindow.on('closed', () => {
     mainWindow = null
   })

+ 28 - 1
src/renderer/App.vue

@@ -5,8 +5,35 @@
 </template>
 
 <script>
+  import fs from 'fs'
+  import path from 'path'
+  import {reqImportConfigFiles} from "./api"
+
   export default {
-    name: 'vedio_app'
+    name: 'vedio_app',
+
+    async mounted() {
+      // 将配置文件传给服务器
+      const formData = new FormData()
+      let device = fs.readFileSync(path.join(__static, '/EnityDevice.json'), 'utf8')
+      let bigscreen = fs.readFileSync(path.join(__static, '/EnityBigScreen.json'), 'utf8')
+
+      // 将json文件转成formdata
+      for (let i=0;i<device.length;i++){
+        Object.keys(device[i]).forEach((key) => {
+          formData.append(key, device[i][key])
+        })
+      }
+
+      for (let i=0;i<bigscreen.length;i++){
+        Object.keys(bigscreen[i]).forEach((key) => {
+          formData.append(key, bigscreen[i][key])
+        })
+      }
+
+      // 发送请求将配置文件传给服务器
+      await reqImportConfigFiles(formData)
+    }
   }
 </script>
 

+ 40 - 21
src/renderer/api/ajax.js

@@ -1,26 +1,45 @@
 /*
-能发送ajax请求函数模块
-函数的返回值是promise对象
+ajax请求函数模块
+返回值: promise对象(异步返回的数据是: response.data)
  */
 import axios from 'axios'
-const baseUrl = 'http://112.74.78.188:8080'
-export default function ajax(url, data={}, type='GET') {
-  url = baseUrl + url
-  if(type==='GET') { // 发送GET请求
-    // 拼请求参数串
-    // data: {username: tom, password: 123}
-    // paramStr: username=tom&password=123
-    let paramStr = ''
-    Object.keys(data).forEach(key => {
-      paramStr += key + '=' + data[key] + '&'
-    })
-    if(paramStr) {
-      paramStr = paramStr.substring(0, paramStr.length-1)
+import storageUtils from "../../utils/storageUtils"
+
+/*axios请求拦截器,给请求头添加授权*/
+axios.interceptors.request.use(config => {
+  config.headers.Authorization = storageUtils.getToken()
+  return config
+})
+
+export default function ajax (url, data={}, type='GET') {
+
+  return new Promise(function (resolve, reject) {
+    // 执行异步ajax请求
+    let promise
+    if (type === 'GET') {
+      // 准备url query参数数据
+      let dataStr = '' //数据拼接字符串
+      Object.keys(data).forEach(key => {
+        dataStr += key + '=' + data[key] + '&'
+      })
+      if (dataStr !== '') {
+        dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'))
+        url = url + '?' + dataStr
+      }
+      // 发送get请求
+      promise = axios.get(url)
+    } else if(type === 'POST'){
+      // 发送post请求
+      promise = axios.post(url, data)
     }
-    // 使用axios发get请求
-    return axios.get(url + '?' + paramStr)
-  } else {// 发送POST请求
-    // 使用axios发post请求
-    return axios.post(url, data)
-  }
+    promise.then(function (response) {
+      // 成功了调用resolve()
+      resolve(response.data)
+    }).catch(function (error) {
+      /*new Notification('请求反馈', {
+        body: `请求出错了 ${error}`
+      })*/
+      alert(`请求出错了 ${error}`)
+    })
+  })
 }

+ 11 - 41
src/renderer/api/index.js

@@ -1,49 +1,19 @@
 /*
-包含n个接口请求函数的模块
-函数返回值: promise
+包含n个接口请求函数的模块
+函数返回值: promise对象
  */
 
 import ajax from './ajax'
+const BASE_URL = 'http://112.74.78.188:8080'
 
-/*
-// 注册接口
-export const reqRegister = (user) => ajax('/register', user, 'POST')
-// 登陆接口
-export const reqLogin = ({username, password}) => ajax('/login',{username, password}, 'POST')
-// 更新用户接口
-export const reqUpdateUser = (user) => ajax('/update', user, 'POST')
-// 获取用户信息
-export const reqUser = () => ajax('/user')
-
-// 获取用户列表
-export const reqUserList = (type) => ajax('/userlist', {type})
-
-// 获取当前用户的聊天消息列表
-export const reqChatMsgList = () => ajax('/msglist')
-
-// 修改指定消息为已读
-export const reqReadMsg = (from) => ajax('/readmsg', {from}, 'POST')*/
-
-// 登录接口
-export const reqLogin = (data) => ajax('/login',data, 'POST')
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+// 登录
+export const reqLogin = (data) => ajax(BASE_URL+'/login',data,'POST')
 
+// 退出登录
+export const reqLogout = (data) => ajax(BASE_URL+'/logout',data,'POST')
 
+// 导入配置json文件(device和bigscreen)
+export const reqImportConfigFiles = (data) => ajax(BASE_URL+'/v1/import',data,'POST')
 
+// 刷新视图
+export const reqRefreshView = (data) => ajax(BASE_URL+'/v1/refreshView',data,'POST')

+ 8 - 0
src/renderer/assets/less/mainpage.less

@@ -75,4 +75,12 @@
     -webkit-box-shadow: inset 0 0 6px rgba(10, 66, 125, .3);
     background-color: #666;
   }
+
+
+  // 退出按钮样式
+  .logoutBtn {
+    position: absolute;
+    top: 20px;
+    right: 20px;
+  }
 }

+ 11 - 3
src/renderer/components/Admin.vue

@@ -54,6 +54,8 @@
             >
             </div>-->
         </div>
+
+        <button class="logoutBtn" @click="logout">退出</button>
     </div>
 </template>
 
@@ -68,6 +70,7 @@
     import SignalListComponent from './SignalList'
     import ImageComponent from './Image'
     import SliderComponent from './Slider'
+    import {reqLogout} from "../api"
 
     export default {
         components: {
@@ -90,7 +93,14 @@
         },
 
         methods: {
-
+            // 退出登录
+            async logout() {
+                await reqLogout(this.user)
+                // 重置用户
+                this.$store.dispatch('resetUser')
+                // 去登录界面
+                this.$router.replace('/login')
+            }
         },
 
         computed: {
@@ -105,5 +115,3 @@
 
 
 
-
-

+ 17 - 15
src/renderer/components/Login.vue

@@ -1,17 +1,16 @@
 <!--登录界面-->
 <template>
-    <div class="login" :style="{
-        backgroundColor: `#${loginJson[0].BrackgroupStr.slice(3)}`,
-    }">
-        <section class="login-content" :style="{
+    <div class="login" :style="{backgroundColor: `#${loginJson[0].BrackgroupStr.slice(3)}`}">
+        <section class="login-content"
+           :style="{
             width: loginJson[0].Width + 'px',
             height: loginJson[0].Height + 'px',
             left:loginJson[0].Left + 'px',
             top:loginJson[0].Top + 'px',
             zIndex: loginJson[0].ZIndex,
             border: `1px solid #${loginJson[0].BorderStr.slice(3)}`,
-            backgroundColor: `#${loginJson[0].ForegroundStr.slice(3)}`,
-        }">
+            backgroundColor: `#${loginJson[0].ForegroundStr.slice(3)}`}"
+        >
             <h2>用户登录</h2>
             <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="55px" class="login-form">
                 <el-form-item label="账号" prop="username">
@@ -31,7 +30,8 @@
 
 <script>
     import {mapState} from 'vuex'
-    import {reqLogin} from "../api"
+    import {reqLogin, reqLogout, reqPlanList} from "../api"
+    import storageUtils from "../../utils/storageUtils"
 
     export default {
         computed: {
@@ -72,19 +72,21 @@
                     this.$message.warning('请输入用户名和密码!')
                     return
                 }
+                const userInfo = {name:username,password}
+                /*this.$router.replace('/admin')
+                return*/
                 // 请求登录
-                const res = await reqLogin({name:username,password})
-                console.log(res)
-
-                /*if(username === 'admin' && password === '123'){
-                    const user = {username,password}
-                    // 将user保存到vuex的state
-                    this.$store.dispatch('saveUser', user)
+                const res = await reqLogin(userInfo)
+                if(res.token){
+                    // 将user保存到vuex的state,同时保存到本地
+                    this.$store.dispatch('saveUser', userInfo)
+                    // 将token保存到会议存储
+                    storageUtils.saveToken(res.token)
                     // 去管理界面
                     this.$router.replace('/admin')
                 }else {
                     this.$message.error('用户名或密码错误!')
-                }*/
+                }
             },
 
             resetForm(formName) {

+ 1 - 6
src/renderer/main.js

@@ -1,7 +1,6 @@
 import Vue from 'vue'
 import axios from 'axios'
-import fs from 'fs'
-import path from 'path'
+
 
 import App from './App'
 import router from './router'
@@ -14,10 +13,6 @@ import 'element-ui/lib/theme-chalk/index.css'
   Vue.prototype.EnityWindow = message
 })*/
 
-// 渲染进程中读取配置json文件
-/*let EnityWindow = fs.readFileSync(path.join(__static, '/EnityWindow.json'), 'utf8')
-Vue.prototype.EnityWindow = EnityWindow*/
-
 Vue.use(ElementUI)
 
 if (!process.env.IS_WEB) Vue.use(require('vue-electron'))

+ 10 - 0
src/utils/storageUtils.js

@@ -1,5 +1,6 @@
 /*向local中存储数据的工具模块*/
 const USER_KEY = 'user_key'
+const TOKEN_KEY = 'token_key'
 export default {
   /*获取用户*/
   getUser () {
@@ -12,5 +13,14 @@ export default {
   /*删除用户*/
   removeUser() {
     localStorage.removeItem(USER_KEY)
+  },
+
+  /*会议存储中保存token*/
+  saveToken(token) {
+    sessionStorage.setItem(TOKEN_KEY,token)
+  },
+
+  getToken() {
+    sessionStorage.getItem(TOKEN_KEY)
   }
 }