Merge pull request 'feat : 测试sso单点登录之后的重定向路径4' (#108) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/108
This commit is contained in:
clay
2024-04-29 03:50:07 +00:00
4 changed files with 246 additions and 225 deletions

View File

@@ -188,12 +188,17 @@ router.beforeEach(async (to, form, next) => {
next() next()
NProgress.done() NProgress.done()
} else { } else {
sessionStorage.setItem('toView', JSON.stringify(to)) let path = window.location.pathname;
let query = window.location.search
sessionStorage.setItem('toView', JSON.stringify({
path: path,
query: query
}))
window.location.href = `${window.location.origin}/api/auth/cas/login` window.location.href = `${window.location.origin}/api/auth/cas/login`
// next({path: '/api/auth/cas/login'}) // next({path: '/api/auth/cas/login'})
} }
} else { } else {
if (to.path === '/login'|| to.path === '/cas/login') { if (to.path === '/login' || to.path === '/cas/login') {
next('/') next('/')
NProgress.done() NProgress.done()
} else { } else {

View File

@@ -29,7 +29,8 @@ serveice.interceptors.response.use(response => {
if (response.request.responseType === 'blob' || response.request.responseType === 'arraybuffer') { if (response.request.responseType === 'blob' || response.request.responseType === 'arraybuffer') {
return response.data return response.data
} }
console.log("windows", window.location.pathname) console.log("window.location.pathname", window.location.pathname)
console.log("windows", window.location.search)
return response.data return response.data
}, error => { }, error => {
let response = error.response let response = error.response
@@ -43,8 +44,13 @@ serveice.interceptors.response.use(response => {
closeOnClickModal: false closeOnClickModal: false
}).then(() => { }).then(() => {
removeToken() removeToken()
sessionStorage.setItem('toView', window.location.pathname) let path = window.location.pathname;
window.location = '/api/auth/cas/login' let query = window.location.search
sessionStorage.setItem('toView', JSON.stringify({
path: path,
query: query
}))
window.location.href = `${window.location.origin}/api/auth/cas/login`
}) })
return Promise.reject('会话已过期,请重新登录') return Promise.reject('会话已过期,请重新登录')
case 402: case 402:

View File

@@ -15,8 +15,15 @@ const init = () => {
}) })
if (authStore.casToken(tokenValue)) { if (authStore.casToken(tokenValue)) {
loading.close() loading.close()
const toView = sessionStorage.getItem('toView')
console.log(toView, 'toView');
if (toView) {
let parse = JSON.parse(toView);
window.location.href = window.location.origin + parse.path + parse.query
} else {
router.push('/') router.push('/')
} }
}
} }
init() init()
</script> </script>

View File

@@ -12,28 +12,28 @@
<span>科研管理平台</span> <span>科研管理平台</span>
</div> </div>
</div> </div>
<!-- <el-row :gutter="10" type="flex">--> <!-- <el-row :gutter="10" type="flex">-->
<!-- <el-col :span="6" :xs="8" :sm="16" :md="18" :lg="20" :xl="24" >--> <!-- <el-col :span="6" :xs="8" :sm="16" :md="18" :lg="20" :xl="24" >-->
<!-- <div v-for="(item,index) in list" :key="index" class="block">--> <!-- <div v-for="(item,index) in list" :key="index" class="block">-->
<!-- <div>{{item.title}}</div>--> <!-- <div>{{item.title}}</div>-->
<!-- <div>--> <!-- <div>-->
<!-- <el-icon><User/></el-icon>--> <!-- <el-icon><User/></el-icon>-->
<!-- <span>{{item.num}}</span>--> <!-- <span>{{item.num}}</span>-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- </el-row>--> <!-- </el-row>-->
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="6" v-for="item in 4">1</el-col> <el-col :span="6" v-for="item in 4">1</el-col>
<!-- <el-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11"--> <!-- <el-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11"-->
<!-- >2<div class="grid-content ep-bg-purple-light"--> <!-- >2<div class="grid-content ep-bg-purple-light"-->
<!-- /></el-col>--> <!-- /></el-col>-->
<!-- <el-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11"--> <!-- <el-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11"-->
<!-- >3<div class="grid-content ep-bg-purple"--> <!-- >3<div class="grid-content ep-bg-purple"-->
<!-- /></el-col>--> <!-- /></el-col>-->
<!-- <el-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1"--> <!-- <el-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1"-->
<!-- >4<div class="grid-content ep-bg-purple-light"--> <!-- >4<div class="grid-content ep-bg-purple-light"-->
<!-- /></el-col>--> <!-- /></el-col>-->
</el-row> </el-row>
<div class="container"> <div class="container">
<div id="bar1" ref="bar1"></div> <div id="bar1" ref="bar1"></div>
@@ -51,25 +51,25 @@
import * as echarts from 'echarts' import * as echarts from 'echarts'
import homeImage from "@/assets/home/home.png" import homeImage from "@/assets/home/home.png"
import coffee from "@/assets/home/coffee.png" import coffee from "@/assets/home/coffee.png"
import { useRouter } from 'vue-router'; import {useRouter} from 'vue-router';
const router = useRouter() const router = useRouter()
const list=ref([ const list = ref([
{ {
title: '在线用户量', title: '在线用户量',
num:2142 num: 2142
}, },
{ {
title: '在线用户量', title: '在线用户量',
num:2142 num: 2142
}, },
{ {
title: '在线用户量', title: '在线用户量',
num:2142 num: 2142
}, },
{ {
title: '在线用户量', title: '在线用户量',
num:2142 num: 2142
} }
]) ])
const barOption = { const barOption = {
@@ -178,11 +178,12 @@ const init = () => {
const redirectView = () => { const redirectView = () => {
const toView = sessionStorage.getItem('toView') const toView = sessionStorage.getItem('toView')
console.log(toView, 'toView'); console.log(toView, 'toView');
let jsonView = JSON.parse(toView)
toView ? toView ?
router.push({ router.push({
path: JSON.parse(toView).path, path: jsonView.path,
query: { query: {
...JSON.parse(toView).query ...jsonView.query
} }
}) : }) :
null null
@@ -242,12 +243,14 @@ window.addEventListener('resize', () => {
flex-direction: column; flex-direction: column;
} }
} }
.statistics{
.statistics {
//display: flex; //display: flex;
.block{ .block {
} }
} }
.container { .container {
height: calc((100vh / 2) - 150px); height: calc((100vh / 2) - 150px);
display: flex; display: flex;