<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() {
|
// 解析路由参数,并缓存
|
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>
|