Browse Source

完善记住密码的功能

liuwei 4 years ago
parent
commit
8b4bda247f

+ 3 - 0
src/renderer/api/index.js

@@ -17,6 +17,9 @@ axios.get('static/Data/EnitySystem.data').then(async res => {
 // 登录
 export const reqLogin = (data,reqName) => ajax(BASE_URL+'/login',data,'POST',reqName)
 
+// 退出登录
+export const reqLogout = (data,reqName) => ajax(BASE_URL+'/logout',data,'POST')
+
 // 获取大屏
 export const reqBigScreen= () => ajax(BASE_URL+'/v1/bigscreen')
 

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

@@ -23,7 +23,6 @@
         <!--最小化和关闭按钮-->
         <div class="mini" @click="miniWindow">-</div>
         <div class="close" @click="closeWindow">×</div>
-        <!-- <button @click="logout">退出</button>-->
     </div>
 </template>
 
@@ -35,6 +34,7 @@
     import Window from "./Window"
     import SignalList from "./SignalList"
     import {getStaticFile} from "../../utils/tools"
+    import {reqLogout} from "../api"
 
     export default {
         components: {
@@ -65,13 +65,9 @@
             },
 
             // 关闭窗口
-            closeWindow() {
+            async closeWindow() {
+                await reqLogout(this.user)
                 require('electron').ipcRenderer.send('window-close')
-            },
-
-            // 退出登录
-            logout() {
-                this.$router.replace('/login')
             }
         },
 

+ 12 - 7
src/renderer/components/Login.vue

@@ -40,7 +40,7 @@
 </template>
 
 <script>
-    import {reqLogin} from "../api"
+    import {reqLogin, reqLogout} from "../api"
     import {getStaticFile} from "../../utils/tools"
     import storageUtils from "../../utils/storageUtils"
 
@@ -72,7 +72,7 @@
                 loginJson: [],
                 staticUrl: this.$store.state.staticUrl,
                 flag:false, // 大写开启状态
-                checked:false, // 记住用户名和密码的状态
+                checked:storageUtils.getStatus(), // 记住用户名和密码的状态
                 user:storageUtils.getUser(), // 本地存储的用户数据
             }
         },
@@ -83,9 +83,13 @@
 
         mounted() {
           // 如果status为true,对表单进行赋值
-          if(this.checked){
+          if(storageUtils.getStatus() === 'true'){
               this.ruleForm.username = this.user.name
               this.ruleForm.password = this.user.password
+          }else {
+              this.ruleForm.username = ''
+              this.ruleForm.password = ''
+              this.checked = false
           }
         },
 
@@ -103,14 +107,14 @@
                     this.$message.warning('请输入用户名和密码!')
                     return
                 }
-                const userInfo = {name: username, password}
+                const userInfo = {"name": username, "password":password}
                 // 请求登录
                 const res = await reqLogin(userInfo, 'login')
                 if (res.token) {
                     // 将user保存到vuex的state,同时保存到本地
                     this.$store.dispatch('saveUser', userInfo)
                     // 保存记住用户名和密码的状态
-                    storageUtils.saveStatus(this.check)
+                    storageUtils.saveStatus(this.checked)
                     // 将token保存到会议存储
                     storageUtils.saveToken(res.token)
                     // 跳转到管理界面
@@ -144,9 +148,10 @@
             },
 
             // 关闭窗口
-            closeWindow() {
+            async closeWindow() {
+                await reqLogout(this.user)
                 require('electron').ipcRenderer.send('window-close')
-            },
+            }
         }
     }
 </script>

+ 1 - 1
src/utils/storageUtils.js

@@ -27,7 +27,7 @@ export default {
 
   // 本地存储记住用户名和密码的状态
   getStatus() {
-    return localStorage.getItem(USER_STATUS)
+    return localStorage.getItem(USER_STATUS) || false
   },
 
   saveStatus(status) {