diff --git a/src/api/monitor/online.js b/src/api/monitor/online.js index 9206517..5e70c83 100644 --- a/src/api/monitor/online.js +++ b/src/api/monitor/online.js @@ -1,18 +1,18 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询在线用户列表 export function list(query) { return request({ - url: '/monitor/online/list', - method: 'get', - params: query - }) + url: "/monitor/online/list", + method: "get", + params: query, + }); } // 强退用户 export function forceLogout(username, deviceSn) { return request({ - url: '/monitor/online/' + username + '/' + deviceSn, - method: 'delete' - }) + url: "/monitor/online/" + username + "/" + deviceSn, + method: "delete", + }); } diff --git a/src/permission.js b/src/permission.js index e3dcde8..51639f0 100644 --- a/src/permission.js +++ b/src/permission.js @@ -42,12 +42,21 @@ router.beforeEach((to, from, next) => { }); }) .catch((err) => { - useUserStore() - .logOut() - .then(() => { - ElMessage.error(err); - next({ path: "/" }); - }); + if (err === "您已被挤下线") { + useUserStore() + .abnormalLogOut() + .then(() => { + ElMessage.error(err); + next({ path: "/" }); + }); + } else { + useUserStore() + .logOut() + .then(() => { + ElMessage.error(err); + next({ path: "/" }); + }); + } }); } else { next(); diff --git a/src/utils/request.js b/src/utils/request.js index f2ff81e..0b618d8 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -132,15 +132,11 @@ service.interceptors.response.use( } else if (code === 4012) { if (!isRelogin.show) { isRelogin.show = true; - ElMessageBox.confirm( - "您以被挤下线", - "系统提示", - { - confirmButtonText: "重新登录", - cancelButtonText: "取消", - type: "warning", - } - ) + ElMessageBox.confirm("您已被挤下线", "系统提示", { + confirmButtonText: "重新登录", + cancelButtonText: "取消", + type: "warning", + }) .then(() => { isRelogin.show = false; useUserStore() @@ -153,7 +149,7 @@ service.interceptors.response.use( isRelogin.show = false; }); } - return Promise.reject("无效的会话,或者会话已过期,请重新登录。"); + return Promise.reject("您已被挤下线"); } else if (code === 500) { ElMessage({ message: msg, type: "error" }); return Promise.reject(new Error(msg)); diff --git a/src/views/login.vue b/src/views/login.vue index 6b7350e..a198bee 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -169,7 +169,8 @@ function handleLogin() { function getCode() { getCodeImg().then((res) => { - captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled; + captchaEnabled.value = + res.captchaEnabled === undefined ? true : res.captchaEnabled; register.value = res.register === undefined ? true : res.register; if (captchaEnabled.value) { codeUrl.value = "data:image/gif;base64," + res.img; diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue index b136d72..1b587ae 100644 --- a/src/views/monitor/online/index.vue +++ b/src/views/monitor/online/index.vue @@ -1,43 +1,103 @@