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