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