Procházet zdrojové kódy

Merge branch 'master' of https://git.cocorobo.cn/CocoRoboLabs/pblUserManage

SanHQin před 8 měsíci
rodič
revize
dc70777fec

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/css/app.0c24b96f.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/css/app.b5b59d6e.css


+ 1 - 1
dist/index.html

@@ -36,4 +36,4 @@
         width: 100%;
         background: #e6eaf0;
         font-family: '黑体';
-      }</style><script defer="defer" src="/js/chunk-vendors.54a29291.js"></script><script defer="defer" src="/js/app.9cd4eae9.js"></script><link href="/css/chunk-vendors.7cfe4581.css" rel="stylesheet"><link href="/css/app.b5b59d6e.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but userManage doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
+      }</style><script defer="defer" src="/js/chunk-vendors.54a29291.js"></script><script defer="defer" src="/js/app.01dc53c7.js"></script><link href="/css/chunk-vendors.7cfe4581.css" rel="stylesheet"><link href="/css/app.0c24b96f.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but userManage doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/js/app.01dc53c7.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/js/app.01dc53c7.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/js/app.9cd4eae9.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/js/app.9cd4eae9.js.map


+ 1 - 1
src/common/axios.config.js

@@ -30,7 +30,7 @@ axios.interceptors.request.use((config) => {
     } else if (config.data && config.data[0].post === '1' && config.method === 'post') {
         // 如果 data 的第一个元素 post 值为 '1',则进行自定义序列化
         config.data = 'mode=' + Object.values(config.data[0]).join(',');
-    } else if (config.method === 'post') {
+    } else if (config.method === 'post' && config.data) {
         // 处理其他 post 请求的参数序列化
         const encoded = {};
         for (const key in config.data[0]) {

+ 1 - 1
src/permission.js

@@ -5,7 +5,7 @@ import 'nprogress/nprogress.css' // progress bar style
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
-const whiteList = ['/login'] // no redirect whitelist
+const whiteList = ['/login', 'examineDialog'] // no redirect whitelist
 
 router.beforeEach(async (to, from, next) => {
   // start progress bar

+ 43 - 18
src/views/HomeView.vue

@@ -3,18 +3,19 @@
     <div class="top">
       <div class="title">CocoClass后台管理</div>
       <div class="person">
-        <div class="person_name">{{ userinfo ? userinfo.username : '' }}</div>
+        <div class="person_name">{{ userinfo ? userinfo.username : "" }}</div>
+        <el-button type="text" @click="handleLogout" style="margin-left: 20px">退出</el-button>
       </div>
     </div>
     <div class="container">
       <div class="left">
         <ul>
-          <router-link class="menu_left" to="/user-list"
-            ><i class="el-icon-s-custom"></i>账号列表</router-link
-          >
-          <router-link class="menu_left" to="/user-examine"
-            ><i class="el-icon-edit"></i>账号审核</router-link
-          >
+          <router-link class="menu_left" to="/user-list">
+            <i class="el-icon-s-custom"></i>账号列表
+          </router-link>
+          <router-link class="menu_left" to="/user-examine">
+            <i class="el-icon-edit"></i>账号审核
+          </router-link>
         </ul>
       </div>
       <div class="table-container">
@@ -25,22 +26,46 @@
 </template>
 
 <script>
-import { mapGetters } from 'vuex';
+import { mapGetters, mapActions } from 'vuex';
+import { loginOut } from '@/api/user';
 
 export default {
   name: "HomeView",
   computed: {
     ...mapGetters(['userinfo']),
   },
-  data() {
-    return {};
+  methods: {
+    ...mapActions({
+      logout: 'user/logout'
+    }),
+    async handleLogout() {
+      this.$confirm('确定退出吗', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(async () => {
+        loginOut()
+          .then(async () => {
+            this.$message({
+              message: '退出成功',
+              type: 'success'
+            });
+            await this.logout();
+            this.$router.push('/login');
+          })
+          .catch(err => {
+            console.error(err);
+          });
+      }).catch(() => {
+        // 取消操作
+      });
+    }
   },
   mounted() {},
 };
 </script>
 
 <style scoped>
-
 .body {
   width: 100%;
   height: 100%;
@@ -62,22 +87,24 @@ export default {
 }
 .person {
   margin-left: auto;
+  display: flex;
+  align-items: center;
 }
 .person > .person_name {
   font-size: 15px;
   color: black;
   font-weight: 400;
 }
-.container{
+.container {
   display: flex;
   width: 100%;
   height: calc(100% - 50px);
   overflow: hidden;
 }
 .table-container {
-    width: calc(100% - 180px);
-    overflow: hidden;
-    height: 100%;
+  width: calc(100% - 180px);
+  overflow: hidden;
+  height: 100%;
 }
 .left {
   width: 180px;
@@ -92,7 +119,6 @@ export default {
   width: 100%;
   background-color: #ffffff;
 }
-
 .menu_left {
   width: 100%;
   height: 50px;
@@ -104,7 +130,6 @@ export default {
   align-items: center;
   justify-content: center;
 }
-
 .router-link-active {
   background-color: #3d67bc;
   color: rgb(255, 255, 255);
@@ -113,4 +138,4 @@ export default {
   background-color: #3d67bc;
   color: rgb(255, 255, 255);
 }
-</style>
+</style>

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů