From 9dec22acde84e111a4f8f2d54d738586e50ff7ec Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 23 八月 2022 03:19:31 +0800
Subject: [PATCH] 添加单点登录跳转
---
src/router/index.js | 7 +++
src/views/webroot/index.vue | 84 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 91 insertions(+), 0 deletions(-)
diff --git a/src/router/index.js b/src/router/index.js
index cb04519..f0fba58 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -124,10 +124,17 @@
path: "/dataView",
name: "dataView",
component: () => import(/* webpackChunkName: "about" */ "../views/dataView")
+ },
+ {
+ // 鍗曠偣鐧诲綍
+ path: "/webroot",
+ name: "webroot",
+ component: () => import(/* webpackChunkName: "about" */ "../views/webroot")
}
]
const router = new VueRouter({
+ mode:'history',
routes
})
diff --git a/src/views/webroot/index.vue b/src/views/webroot/index.vue
new file mode 100644
index 0000000..e9ae404
--- /dev/null
+++ b/src/views/webroot/index.vue
@@ -0,0 +1,84 @@
+<template>
+ <div>
+ <span>{{msg}}</span>
+ </div>
+</template>
+
+<script>
+import { tologin, getMenuPermission } from "@/api/login"
+
+export default {
+ name: "webroot",
+ metaInfo: {
+ title: "姹囦赴鍗曠偣鐧诲綍"
+ },
+ data() {
+ return {
+ msg:""
+ }
+ },
+ mounted() {
+ this.loginRobot()
+ },
+ methods: {
+ loginRobot() {
+ // 瑙f瀽璺敱鍙傛暟锛屽苟缂撳瓨
+ let userInfoEncode = this.getQueryVariable("str")
+ console.log("鍗曠偣鐧诲綍", userInfoEncode)
+ if (userInfoEncode && userInfoEncode.length) {
+ let userInfo = decodeURIComponent(userInfoEncode)
+ console.log(userInfo)
+ sessionStorage.setItem("autoLogin", userInfo)
+ this.systemLogin({soStr: userInfo})
+ return
+ }
+
+ // 鐧婚檰瓒呮椂鍚庣殑閲嶆柊鐧婚檰
+ let sessionInfo = sessionStorage.getItem("autoLogin")
+ if (sessionInfo) {
+ this.systemLogin({soStr: sessionInfo})
+ return
+ }
+
+ this.$router.push("/login")
+ },
+ systemLogin(param) {
+ console.log("鍙戣捣鐧诲綍璇锋眰")
+ tologin(param).then(rsp => {
+ const data = rsp.data
+
+ const loginedInfo = {
+ access_token: data.token_type + " " + data.access_token,
+ refresh_token: data.refresh_token
+ }
+ sessionStorage.setItem("expires_in", data.expires_in)
+ sessionStorage.setItem("loginedInfo", JSON.stringify(loginedInfo))
+
+ getMenuPermission().then((rep) => {
+ data.userInfo.permissions = rep.data.permissions
+ sessionStorage.setItem("userInfo", JSON.stringify(data.userInfo))
+ this.$router.push("/manageCenter")
+ })
+ })
+ .catch((err) => {
+ this.$router.push("/login")
+ })
+ },
+ getQueryVariable(variable) {
+ var query = window.location.search.substring(1)
+ var vars = query.split("&")
+ for (var i = 0; i < vars.length; i++) {
+ var pair = vars[i].split("=")
+ if (pair[0] == variable) {
+ return pair[1]
+ }
+ }
+ return false
+ }
+ }
+}
+</script>
+
+<style>
+
+</style>
--
Gitblit v1.8.0