From ac2f57b68213b8376e3ec612432673348285f6c4 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 15 十一月 2023 10:41:57 +0800
Subject: [PATCH] 增加退出登录,安装插件js-cookie

---
 package-lock.json                                    |    9 ++++
 package.json                                         |    1 
 src/components/layout/components/appHeader/index.vue |   64 +++++++++++++++++++++++++++++---
 3 files changed, 68 insertions(+), 6 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 8f0335e..7fcffc6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,7 @@
         "downloadjs": "^1.4.7",
         "element-ui": "^2.15.13",
         "faker": "^5.5.3",
+        "js-cookie": "^3.0.5",
         "lodash": "^4.17.21",
         "vue": "^2.6.14",
         "vue-router": "^3.5.1",
@@ -6872,6 +6873,14 @@
         "@sideway/pinpoint": "^2.0.0"
       }
     },
+    "node_modules/js-cookie": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz",
+      "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/js-message": {
       "version": "1.0.7",
       "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz",
diff --git a/package.json b/package.json
index 306b480..6c8db69 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
     "downloadjs": "^1.4.7",
     "element-ui": "^2.15.13",
     "faker": "^5.5.3",
+    "js-cookie": "^3.0.5",
     "lodash": "^4.17.21",
     "vue": "^2.6.14",
     "vue-router": "^3.5.1",
diff --git a/src/components/layout/components/appHeader/index.vue b/src/components/layout/components/appHeader/index.vue
index f918be6..03fb874 100644
--- a/src/components/layout/components/appHeader/index.vue
+++ b/src/components/layout/components/appHeader/index.vue
@@ -2,31 +2,80 @@
   <div class="sales-lead">
     <div class="header-title">{{ headerTitle }}</div>
     <div class="header-user-info">
-      <!-- <div class="avatar"><el-avatar icon="el-icon-user-solid"></el-avatar></div>
+      <div class="avatar"><el-avatar icon="el-icon-user-solid"></el-avatar></div>
       <el-dropdown @command="handleCommand">
-        <div class="el-dropdown-link">鐢ㄦ埛鍚�<i class="el-icon-arrow-down el-icon--right"></i></div>
+        <div class="el-dropdown-link">{{ username }}<i class="el-icon-arrow-down el-icon--right"></i></div>
         <el-dropdown-menu slot="dropdown">
           <el-dropdown-item command="logout">閫�鍑�</el-dropdown-item>
         </el-dropdown-menu>
-      </el-dropdown> -->
+      </el-dropdown>
     </div>
   </div>
 </template>
 
 <script>
+import Cookies from "js-cookie"
 export default {
   name: "SalesLead",
   props: {
     headerTitle: String
   },
   data() {
-    return {}
+    return {
+      username: ""
+    }
+  },
+  mounted() {
+    this.username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
   },
   methods: {
+    environmentType() {
+      let type
+      if (location.href.includes("192.168.20.119")) {
+        type = "test"
+      } else if (location.href.includes("192.168") || location.href.includes("localhost")) {
+        type = "dev"
+      } else {
+        type = "prod"
+      }
+
+      return type
+    },
+    getApsPage() {
+      // 棣栭〉閮ㄧ讲鍦ㄥ悇涓幆澧冪殑绔彛
+      const loginPathMap = {
+        prod: `//${window.location.hostname}:9080`,
+        test: `//192.168.20.119:9080`,
+        // 鎯宠烦鍒版湰鍦板惎鍔ㄧ殑鐧诲綍椤电殑璇濋渶瑕佹妸dev鏀规垚浣犳湰鍦伴」鐩矾寰�
+        dev: `//192.168.20.102:8080`
+      }
+      return loginPathMap[this.environmentType()]
+    },
     handleCommand(command) {
       console.log(command)
       if (command === "logout") {
-        this.$router.push({ path: "/login" })
+        // this.$router.push({ path: "/login" })
+        document.cookie = "cookieName=; path=/;"
+        this.$confirm("纭畾瑕佹敞閿�褰撳墠鐢ㄦ埛鍚�?", "娉ㄩ攢鐢ㄦ埛", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning"
+        })
+          .then(() => {
+            Cookies.remove("token")
+            // window.location.href = 'http://localhost:8080/login'; //鏈湴鐨勬櫤鎱у伐鍘�-鐧诲綍椤�
+            window.location.href = "http:" + this.getApsPage() + "/login"
+            this.$message({
+              type: "success",
+              message: "娉ㄩ攢鎴愬姛!"
+            })
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "宸插彇娑堟敞閿�"
+            })
+          })
       }
     }
   }
@@ -53,9 +102,12 @@
     margin-right: 20px;
     display: flex;
     .avatar {
-      margin-top: 8px;
+      margin-top: 4px;
       margin-right: 10px;
     }
+    .el-dropdown-link{
+      cursor: pointer;
+    }
   }
 }
 </style>

--
Gitblit v1.8.0