Browse Source

退出登陆相关

pull/102/head
pengda 4 weeks ago
parent
commit
f9e74fe8b7
  1. 16
      src/components/Header.vue
  2. 3
      src/utils/login.js
  3. 4
      src/utils/loginRefresh.js
  4. 8
      src/utils/logout.js

16
src/components/Header.vue

@ -9,25 +9,33 @@
<el-dropdown trigger="click">
<div class="right-item flex el-dropdown-link">
<img class="right-item-icon" src="../assets/header-icon.png" alt="">
<span>学术论文出版</span>
<span>{{user}}</span>
<img src="../assets/header-drop.svg" alt="">
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item><a href="/agent/domainList" target="_blank">我的域名</a></el-dropdown-item>
<el-dropdown-item><span @click="loginOut">退出</span></el-dropdown-item>
<el-dropdown-item><div @click="loginOut">退出</div></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</template>
<script>
import { logout } from '@/utils/logout';
export default {
data() {
return {
user: ''
}
},
mounted(){
this.user = localStorage.getItem('user')
},
methods: {
loginOut(){
this.$http('POST', '/agentnew/login_out', {}).then(response => {
if(response.status){
localStorage.removeItem('token')
window.location.href = process.env.VUE_APP_HOST;
logout()
}else{
this.$message.error(response.data.info)
}

3
src/utils/login.js

@ -15,7 +15,8 @@ export async function autoLoginByToken() {
})
if (res.data.status) {
// 可选:将 token 存入 localStorage
localStorage.setItem('token', res.data.data)
localStorage.setItem('token', res.data.data.access_token)
localStorage.setItem('user', res.data.data.user)
const url = new URL(window.location.href);
url.searchParams.delete('token');

4
src/utils/loginRefresh.js

@ -1,3 +1,4 @@
import { logout } from '@/utils/logout';
let isRefreshing = false
let refreshSubscribers = []
@ -39,8 +40,7 @@ export async function handleTokenRefresh(originalRequest, instance) {
} catch (err) {
isRefreshing = false
refreshSubscribers = []
localStorage.removeItem('token')
window.location.href = process.env.VUE_APP_HOST;
logout();
return Promise.reject(err)
}
}

8
src/utils/logout.js

@ -0,0 +1,8 @@
export function logout() {
// 清除本地存储的用户信息
localStorage.removeItem('token');
localStorage.removeItem('user');
// 跳转到后端处理 logout 的接口
window.location.href = process.env.VUE_APP_HOST + '/user/logout';
}
Loading…
Cancel
Save