From de69b4e78bfbd4023cb787ebeec5fbbaccc64733 Mon Sep 17 00:00:00 2001
From: zhongrj <123456>
Date: Mon, 26 Dec 2022 15:38:28 +0800
Subject: [PATCH] 登出去除token 信息
---
src/views/lyout/index.vue | 45 ++++++++++++----------
src/store/modules/user.js | 15 +++++++
src/api/login/login.js | 12 ++++++
3 files changed, 51 insertions(+), 21 deletions(-)
diff --git a/src/api/login/login.js b/src/api/login/login.js
index bfdc479..7c39e80 100644
--- a/src/api/login/login.js
+++ b/src/api/login/login.js
@@ -37,3 +37,15 @@
},
});
};
+
+
+/**
+ * 登出
+ */
+export const logout = () =>{
+ return request({
+ url: '/api/blade-auth/oauth/logout',
+ method: 'get',
+ params: {}
+ })
+}
\ No newline at end of file
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index b914dc7..dbd99d5 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,4 +1,4 @@
-import { loginByUsername } from "@/api/login/login";
+import { loginByUsername,logout } from "@/api/login/login";
import {Message} from 'element-ui'
import md5 from "js-md5";
import * as auth from '@/utils/auth'
@@ -41,6 +41,19 @@
});
});
},
+ //登出
+ LogOut({commit}) {
+ return new Promise((resolve, reject) => {
+ logout().then(() => {
+ commit('SET_TOKEN', '');
+ auth.removeToken();
+ auth.removeUserInfo();
+ resolve();
+ }).catch(error => {
+ reject(error)
+ })
+ })
+ },
},
mutations:{
SET_TOKEN: (state, token) => {
diff --git a/src/views/lyout/index.vue b/src/views/lyout/index.vue
index 61e5e4f..b839c1f 100644
--- a/src/views/lyout/index.vue
+++ b/src/views/lyout/index.vue
@@ -18,8 +18,8 @@
<div class="sub-nav-list" v-show="item.children && item.childrenFlag">
<div v-for="(subItem, subIndex) in item.children" :key="subIndex" @click="goToPath(subItem)">
{{
- subItem.menuName
- }}
+ subItem.menuName
+}}
</div>
</div>
</div>
@@ -37,8 +37,8 @@
<div class="sub-nav-list" v-show="item.children && item.childrenFlag">
<div v-for="(subItem, subIndex) in item.children" :key="subIndex" @click="goToPath(subItem)">
{{
- subItem.menuName
- }}
+ subItem.menuName
+}}
</div>
</div>
</div>
@@ -46,12 +46,12 @@
<!-- 用户登录展示的 -->
<div class="user-infor" @click="openUser">
- <div class="userIcon" :class="{on: userOn == true}">
+ <div class="userIcon" :class="{ on: userOn == true }">
<i class="el-icon-user-solid"></i>
</div>
<div class="userDetail" v-if="isShowUserDetail">
<div class="triangle"></div>
- <div class="userName">用户名:{{user.user_name}}</div>
+ <div class="userName">用户名:{{ user.user_name }}</div>
<div class="userBtn">
<div class="edit" @click="goTOLogout">
<img src="../../../public/img/bg/editLogin.webp" alt />
@@ -95,7 +95,7 @@
<script>
import getUserInfo from '@/utils/auth'
export default {
- data () {
+ data() {
return {
menuLeftList: [
{
@@ -148,19 +148,19 @@
currentUrl: '/lyout/home',
userOn: false,
isShowUserDetail: false,
- user:{}
+ user: {}
}
},
- created () {
+ created() {
this.currentUrl = this.$route.path
this.user = getUserInfo()
- console.log(this.user,4451211)
+ console.log(this.user, 4451211)
},
watch: {
$route: {
- handler (newPath, oldPath) {
+ handler(newPath, oldPath) {
this.currentUrl = newPath.path
this.$nextTick(() => {
@@ -180,14 +180,15 @@
}
},
- mounted () {
+ mounted() {
},
methods: {
//登出
- goTOLogout(){
- //跳转登录页
- this.$router.push({ path: "/login" });
+ goTOLogout() {
+ this.$store.dispatch("LogOut").then(() => {
+ this.$router.push({ path: "/login" });
+ });
},
/**
* @description: 路由跳转的事件
@@ -195,7 +196,7 @@
* @param {*} e 子元素上绑定的的自定义属性
* @return {*} 没有返回值
*/
- goToPath (params) {
+ goToPath(params) {
if (params.openExternal) {
window.open(params.path)
return
@@ -212,7 +213,7 @@
},
- flexibelClick () {
+ flexibelClick() {
this.show = !this.show
if (this.$refs['target-name'].boxResize) this.$refs['target-name'].boxResize(this.show)
@@ -232,7 +233,7 @@
}
},
- resize (val, flag = false) {
+ resize(val, flag = false) {
this.boxWidth = val
this.show = flag
@@ -257,7 +258,7 @@
})
},
- openUser () {
+ openUser() {
this.userOn = !this.userOn
this.isShowUserDetail = !this.isShowUserDetail
},
@@ -444,6 +445,7 @@
.userIcon.on {
color: rgba(252, 189, 86, 1);
}
+
.userDetail {
width: 180px;
height: 92px;
@@ -466,6 +468,7 @@
border-left-color: transparent;
border-right-color: transparent;
}
+
.userName {
width: 100%;
height: 40px;
@@ -477,6 +480,7 @@
position: absolute;
top: 0px;
}
+
.userBtn {
width: 100%;
height: 50px;
@@ -486,13 +490,14 @@
justify-content: space-around;
padding-top: 4px;
- & > div {
+ &>div {
width: 100px;
height: 40px;
background-color: rgba(168, 222, 255, 0.6);
border-radius: 4px;
cursor: pointer;
line-height: 44px;
+
img {
width: 76px;
height: 20px;
--
Gitblit v1.9.3