系统每次进入都是登录页

main
ysn 6 days ago
parent d4f0babc60
commit 3f36e7d898
  1. 18
      src/permission.js
  2. 2
      src/utils/auth.js
  3. 6
      src/views/login.vue

@ -52,6 +52,24 @@ const initSystemSettings = () => {
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()
// 检查是否是新会话(浏览器新打开)
const isNewSession = !sessionStorage.getItem('sessionInitialized')
if (isNewSession) {
// 新会话:清除所有登录状态,强制跳转到登录页
sessionStorage.setItem('sessionInitialized', 'true')
store.dispatch('LogOut').then(() => {
if (to.path !== '/login') {
next(`/login?redirect=${encodeURIComponent(to.fullPath)}`)
} else {
next()
}
NProgress.done()
})
return
}
if (getToken()) { if (getToken()) {
to.meta.title && store.dispatch('settings/setTitle', to.meta.title) to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
const isLock = store.getters.isLock const isLock = store.getters.isLock

@ -14,7 +14,7 @@ export function setToken(token) {
return Cookies.set(TokenKey, token) return Cookies.set(TokenKey, token)
} }
export function setLoginInfo(loginInfo) { export function setLoginInfo(loginInfo) {
return Cookies.set('loginInfo', JSON.stringify(loginInfo)) // 添加序列化 return Cookies.set('loginInfo', JSON.stringify(loginInfo)) // 添加序列化,会话级Cookie(浏览器关闭自动清除)
} }
export function removeToken() { export function removeToken() {

@ -79,8 +79,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="login_right"> <div class="login_right"></div>
</div>
<!-- 登录设置弹窗 --> <!-- 登录设置弹窗 -->
<el-dialog <el-dialog
title="登录设置" title="登录设置"
@ -116,6 +115,7 @@ import Cookies from "js-cookie";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { encrypt, decrypt } from "@/utils/jsencrypt"; import { encrypt, decrypt } from "@/utils/jsencrypt";
import defAva from "@/assets/images/profile.jpg"; import defAva from "@/assets/images/profile.jpg";
import { removeToken } from "@/utils/auth";
export default { export default {
name: "Login", name: "Login",
data() { data() {
@ -183,6 +183,8 @@ export default {
}; };
if (this.loginForm.autoLogin) { if (this.loginForm.autoLogin) {
this.handleLogin(); this.handleLogin();
} else {
// this.removeToken();
} }
}, },
handleLogin() { handleLogin() {

Loading…
Cancel
Save