From 5b179e16c42761730ae784347e606a3eaad675ac Mon Sep 17 00:00:00 2001 From: zhutianqi Date: Mon, 30 Aug 2021 13:32:17 +0800 Subject: [PATCH] commit --- src/components/comHeader/index.vue | 4 + src/pages/login/index.vue | 159 ++++++++++++++++------------- 2 files changed, 92 insertions(+), 71 deletions(-) diff --git a/src/components/comHeader/index.vue b/src/components/comHeader/index.vue index 6a2e0f462..015755d84 100644 --- a/src/components/comHeader/index.vue +++ b/src/components/comHeader/index.vue @@ -74,6 +74,10 @@ export default { confirmButtonClass: 'common-button-primary', roundButton: false }).then(() => { + this.$http.post('/logout', {}, res => { + window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code' + }) + return this.$store.commit('setTypeFlag', 'loginOut') this.$http.get('logout', {}, { _this: this diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue index 75a53fcc6..006d47b44 100644 --- a/src/pages/login/index.vue +++ b/src/pages/login/index.vue @@ -55,10 +55,10 @@ }, // 点击登录按钮事件 signin () { - // let username = getCookie(); - // console.log(username); - // window.location.href = "http://testsso1.foton.com.cn/logout?service=http://127.0.0.1"; - // return + this.$http.post('/logout', {}, res => { + window.location.href = "http://testsso1.foton.com.cn/logout?service=http://127.0.0.1"; + }) + return if (this.username === '') { this.$message.warning('用户名不能为空') } else if (this.password === '') { @@ -275,7 +275,7 @@ }) }, /** - * @description: 获取菜单 + * @description: 获取菜单logout * @author: chenxiaoxi * @date: 2018/11/11 13:42:14 */ @@ -292,78 +292,95 @@ }) }) }, + loginNew (res) { + window.sessionStorage.setItem('go1', '开始第一步'); // del + if (res.data.orgId === null || res.data.orgId === '') { + this.$message.warning('未分配组织机构,请联系管理员分配后重新登录') + return + } + window.sessionStorage.setItem('go2', '开始第二步'); // del + let Base64 = require('js-base64').Base64 + window.sessionStorage.setItem('go3', '开始第3步'); // del + let userInfoStr = Base64.decode(res.data) + window.sessionStorage.setItem('go4', '开始第4步'); // del + let userInfo2 = decodeURIComponent(userInfoStr) + window.sessionStorage.setItem('go5', '开始第5步'); // del + let userInfoObj = JSON.parse(userInfo2) + window.sessionStorage.setItem('go6', '开始第6步'); // del + userInfoObj.userId = userInfoObj.usid + window.sessionStorage.setItem('go7', '开始第7步'); // del + window.sessionStorage.setItem('userInfoObj', userInfoObj); // del + this.setToken(userInfoObj.token) // vuex存储token + let userInfo = {} + for (let key in userInfoObj) { + if (key !== 'uname') { + userInfo[key] = userInfoObj[key] + } else { + userInfo.uName = userInfoObj[key] + } + } + this.setUserInfo(JSON.stringify((userInfo))) + // this.resetTime() + // 获取用户菜单 + window.sessionStorage.setItem('userInfo', userInfo); // del + this.getMenu().then((menuList) => { + let hasHomeMenu = false + menuList.map((menuItem) => { + if (menuItem.id === 'asdfadf') { + hasHomeMenu = true + } + }) + window.sessionStorage.setItem('hasHomeMenu', hasHomeMenu); // del + window.sessionStorage.setItem('menuList', menuList); // del + if (hasHomeMenu) { + this.setMenu(JSON.stringify(menuList)).then(res => { + this.$router.push('/home1') + }, e => { + this.$message.warning('未获取到菜单') + }) + } else { + alert('无系统权限') + // window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code'; + } + }) + }, ...mapMutations(['setToken', 'setUserInfo', 'resetTime', 'rememberPwd', 'setJESSCookie']), ...mapActions(['setMenu']) }, computed: { }, mounted () { - console.log(document.cookie); - let url = window.location.search - if (url) { - url = url.substr(1); - url = url.split('&'); - let info = []; - let obj = {}; - for (let i = 0,len = url.length; i < len; i++) { - info = url[i].split('=') - obj[info[0]] = decodeURI(info[1]); - url[i] = obj; - } - let code = url[0].code - this.$http.post('login', { - code: code - }, res => { - if (res.ok) { - const JSESSIONID = document.cookie - this.setJESSCookie(JSESSIONID) - if (res.data.orgId === null || res.data.orgId === '') { - this.$message.warning('未分配组织机构,请联系管理员分配后重新登录') - return - } - // debugger - let Base64 = require('js-base64').Base64 - let userInfoStr = Base64.decode(res.data) - let userInfo2 = decodeURIComponent(userInfoStr) - let userInfoObj = JSON.parse(userInfo2) - userInfoObj.userId = userInfoObj.usid - this.setToken(userInfoObj.token) // vuex存储token - let userInfo = {} - for (let key in userInfoObj) { - if (key !== 'uname') { - userInfo[key] = userInfoObj[key] - } else { - userInfo.uName = userInfoObj[key] - } - } - this.setUserInfo(JSON.stringify((userInfo))) - this.resetTime() - // 获取用户菜单 - this.getMenu().then((menuList) => { - let hasHomeMenu = false - menuList.map((menuItem) => { - if (menuItem.id === 'asdfadf') { - hasHomeMenu = true - } - }) - if (hasHomeMenu) { - this.setMenu(JSON.stringify(menuList)).then(res => { - this.$router.push('/home1') - }, e => { - this.$message.warning('未获取到菜单') - }) - } else { - window.location.href = "http://testsso1.foton.com.cn/logout?service=127.0.0.1"; - } - }) - } else if (res.respCode === 'r0012') { - this.loading = false - this.$message.error(res.message) - } else { - this.loading = false - } - }) - } + // let url = window.location.search + // let code = '' + // if (url) { + // url = url.substr(1); + // url = url.split('&'); + // let info = []; + // let obj = {}; + // for (let i = 0,len = url.length; i < len; i++) { + // info = url[i].split('=') + // obj[info[0]] = decodeURI(info[1]); + // url[i] = obj; + // } + // code = url[0].code + // window.localStorage.setItem('code', code); + // } else if (window.localStorage.getItem('code') && !url) { + // code = window.localStorage.getItem('code'); + // } else { + // window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code' + // } + // if (code) { + // this.$http.post('login', { + // code: code + // }, res => { + // if (res.ok) { + // window.sessionStorage.setItem('go', '开始第0步'); // del + // this.loginNew(res) + // } else { + // window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code' + // } + // }) + // } if (this.$store.state.laws_urm !== '') { this.isRemember = true }