From 0e2af584cc75c429dad6933ef9f91377c696bc40 Mon Sep 17 00:00:00 2001
From: zhangyichen <5277314+zacty@user.noreply.gitee.com>
Date: Wed, 13 Apr 2022 13:48:55 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/login/index.js | 11 +++
src/pages/login/checkPage.vue | 137 ++++++++++++++++++++++++++++++++++
src/pages/login/index.vue | 90 +++++++++++-----------
src/router/index.js | 11 +++
4 files changed, 204 insertions(+), 45 deletions(-)
create mode 100644 src/api/login/index.js
create mode 100644 src/pages/login/checkPage.vue
diff --git a/src/api/login/index.js b/src/api/login/index.js
new file mode 100644
index 000000000..3e37d9721
--- /dev/null
+++ b/src/api/login/index.js
@@ -0,0 +1,11 @@
+import axios from '@/common/axiosV2'
+
+// 流程发起
+export function checkPage(params) {
+ return axios({
+ url: '/api/checkPage',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/pages/login/checkPage.vue b/src/pages/login/checkPage.vue
new file mode 100644
index 000000000..33a1ca44d
--- /dev/null
+++ b/src/pages/login/checkPage.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 75c737f81..062f1ac58 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -148,53 +148,53 @@
})
},
loginNew (res) {
- if (res.data.orgId === null || res.data.orgId === '') {
- this.$message.warning('未分配组织机构,请联系管理员分配后重新登录')
- return
+ if (res.data.orgId === null || res.data.orgId === '') {
+ this.$message.warning('未分配组织机构,请联系管理员分配后重新登录')
+ return
+ }
+ 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
+ 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
}
- 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
- 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 => {
- if (this.showIETips) {//判断是否IE浏览器
- alert('为了最佳显示效果 请使用google chrome')
- }
- this.$router.push('/home2')
- }, 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';
- }
+ })
+ window.sessionStorage.setItem('hasHomeMenu', hasHomeMenu); // del
+ window.sessionStorage.setItem('menuList', menuList); // del
+ if (hasHomeMenu) {
+ this.setMenu(JSON.stringify(menuList)).then(res => {
+ if (this.showIETips) {//判断是否IE浏览器
+ alert('为了最佳显示效果 请使用google chrome')
+ }
+ this.$router.push('/home2')
+ }, 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'])
},
diff --git a/src/router/index.js b/src/router/index.js
index 0bd717c52..02a81cb16 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -36,6 +36,17 @@ const routes = [
path: '*',
redirect: '/loginVerify'
},
+ // 单点登录跳转页面
+ {
+ path: '/checkPage',
+ name: 'CheckPage',
+ component: resolve => require(['@/pages/login/checkPage.vue'], resolve),
+ meta: {
+ requireAuth: true,
+ isBoolean: true,
+ title: '跳转'
+ }
+ },
// 登录页
{
path: '/login',