From 25be1e5f702ca307f9dfa2cdb9b5175efd753204 Mon Sep 17 00:00:00 2001 From: fengchenchen Date: Mon, 8 Apr 2024 10:27:40 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90update=E3=80=91=E5=8D=95=E7=82=B9?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=B2=A1=E6=9C=89=E8=B4=A6=E6=88=B7=E7=AD=89?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=90=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 57 ++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/src/permission.js b/src/permission.js index e8598cf9..c4ed6a6b 100644 --- a/src/permission.js +++ b/src/permission.js @@ -15,29 +15,44 @@ const whiteList = ['/user/login', '/user/register', '/user/register-result', '/u whiteList.push(OAUTH2_LOGIN_PAGE_PATH) router.beforeEach(async (to, from, next) => { - // 单点登录 + // 单点登录-OA单点登录 if (to.query.ticket) { - const { result } = await getTodoSSOUserInfo({ ticket: to.query.ticket }) - const userInfo = result.userInfo - Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) - store.commit('SET_TOKEN', result.token) - store.commit('SET_INFO', userInfo) - store.commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname, welcome: welcome() }) - store.commit('SET_AVATAR', userInfo.avatar) + const { result, success, message } = await getTodoSSOUserInfo({ ticket: to.query.ticket }) + if (!success) { + Vue.prototype.$message.warning(message) + setTimeout(() => { + next('/') + }, 2000) + } else { + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) + store.commit('SET_TOKEN', result.token) + store.commit('SET_INFO', userInfo) + store.commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname, welcome: welcome() }) + store.commit('SET_AVATAR', userInfo.avatar) + } } else if (to.query.code) { - const { result } = await getSSOUserInfo({ code: to.query.code }) - const userInfo = result.userInfo - Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) - store.commit('SET_TOKEN', result.token) - store.commit('SET_INFO', userInfo) - store.commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname, welcome: welcome() }) - store.commit('SET_AVATAR', userInfo.avatar) + // 研发大前台单点登录 + const { result, success, message } = await getSSOUserInfo({ code: to.query.code }) + if (!success) { + Vue.prototype.$message.warning(message) + setTimeout(() => { + next('/') + }, 2000) + } else { + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) + store.commit('SET_TOKEN', result.token) + store.commit('SET_INFO', userInfo) + store.commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname, welcome: welcome() }) + store.commit('SET_AVATAR', userInfo.avatar) + } } // 处理是否是嵌入其他系统,是需要隐藏左侧和上面,如果当前值是true,就不需要修改了 const isEmbedded = store.getters.isEmbedded