【单点登录】修复云图需要点击两次才能单点成功问题

This commit is contained in:
yuhan_jiang 2022-07-16 16:16:38 +08:00
parent 1740d6c06a
commit 15eb5dbd13
4 changed files with 29 additions and 46 deletions

View File

@ -23,11 +23,15 @@ export async function socialLogin(data) {
}) })
} }
export function getUserInfo() { export function getUserInfo(redict) {
//mock.js使dataaccessToken使mockheaders //mock.js使dataaccessToken使mockheaders
// debugger
return request({ return request({
url: '/sys/user/info', url: '/sys/user/info',
method: 'get', method: 'get',
headers: {
REQUESTURI:redict
}
}) })
} }
export function getDeptAll() { export function getDeptAll() {

View File

@ -23,24 +23,10 @@ let loadingInstance
* @param {*} msg * @param {*} msg
*/ */
const handleCode = (code, msg, res) => { const handleCode = (code, msg, res) => {
debugger // debugger
switch (code) { switch (code) {
case 401: case 401:
// message.error(msg || '')
store.dispatch('user/resetAll').catch(() => {}) store.dispatch('user/resetAll').catch(() => {})
debugger
// if (res.token) {
// console.log('token', res.token)
// setAccessToken(res.token)
// const token = getAccessToken()
// console.log('token', token)
// }
// // location.reload()
// if (redirect) {
// window.location.href = res.redirect
// }
break break
case 403: case 403:
router.push({ path: '/401' }).catch(() => {}) router.push({ path: '/401' }).catch(() => {})
@ -72,7 +58,7 @@ const instance = axios.create({
*/ */
instance.interceptors.request.use( instance.interceptors.request.use(
(config) => { (config) => {
debugger // debugger
const token = getAccessToken() const token = getAccessToken()
if (token) if (token)
config.headers[tokenName] = token config.headers[tokenName] = token
@ -85,7 +71,10 @@ instance.interceptors.request.use(
if (debounce.some((item) => config.url.includes(item))) { if (debounce.some((item) => config.url.includes(item))) {
// //
} }
config.headers.REQUESTURI = window.location.href if (!config.headers.REQUESTURI){
config.headers.REQUESTURI = window.location.href
}
return config return config
}, },
(error) => { (error) => {
@ -104,17 +93,12 @@ instance.interceptors.response.use(
console.log('接口返回REDIRECT', response.headers.redirect) console.log('接口返回REDIRECT', response.headers.redirect)
response['Access-Control-Expose-Headers'] = 'redirect' response['Access-Control-Expose-Headers'] = 'redirect'
const { code, message } = response.data const { code, message } = response.data
debugger if (response.headers.token) {
if (code=='0' && response.headers.token) {
setAccessToken(response.headers.token) setAccessToken(response.headers.token)
} else { }
const token = getAccessToken() if (response.headers.redirect) {
if (response.headers.redirect && !token) { window.location.replace(response.headers.redirect)
// window.location.href = response.headers.redirect
window.location.replace(response.headers.redirect)
return return
// location.reload()
}
} }
if (response.headers.redirect === '/#/login') { if (response.headers.redirect === '/#/login') {
var keys = document.cookie.match(/[^ =;]+(?=\=)/g) var keys = document.cookie.match(/[^ =;]+(?=\=)/g)
@ -159,7 +143,7 @@ instance.interceptors.response.use(
// } // }
}, },
(error) => { (error) => {
debugger // debugger
console.log('接口error', error) console.log('接口error', error)
if (loadingInstance) loadingInstance.close() if (loadingInstance) loadingInstance.close()
@ -168,12 +152,12 @@ instance.interceptors.response.use(
console.log('接口返回', response) console.log('接口返回', response)
console.log('接口返回headers', response.headers) console.log('接口返回headers', response.headers)
console.log('接口返回REDIRECT', response.headers.redirect) console.log('接口返回REDIRECT', response.headers.redirect)
// if (response.headers.token) { if (response.headers.token) {
// setAccessToken(response.headers.token) setAccessToken(response.headers.token)
// } }
if (response.headers.redirect) { if (response.headers.redirect) {
window.location.replace(response.headers.redirect) window.location.replace(response.headers.redirect)
// return Promise.resolve() return Promise.resolve()
} }
const { status, data } = response const { status, data } = response

View File

@ -26,16 +26,17 @@
// if (SSOTOKEN) { // if (SSOTOKEN) {
// setAccessToken(SSOTOKEN) // setAccessToken(SSOTOKEN)
// } // }
const token = getAccessToken() const token = getAccessToken()
console.log('token', token) console.log('token', token)
let hasToken = token || store.getters['user/accessToken'] let hasToken = token
// debugger // debugger
if (!loginInterception) hasToken = true if (!loginInterception) hasToken = true
console.log('hasToken存在巨大问题', hasToken) console.log('hasToken存在巨大问题', hasToken)
if (hasToken) { if (hasToken) {
// setAccessToken(hasToken) // setAccessToken(hasToken)
await store.dispatch('user/getUserInfo') await store.dispatch('user/getUserInfo')
debugger // debugger
next() next()
} else { } else {
let accessRoutes = [] let accessRoutes = []
@ -47,17 +48,11 @@
next() next()
} else { } else {
// //
getUserInfo().then(res=>{ if (to.query.redict)
console.log(res) getUserInfo(to.query.redict)
router.replace('/home') else {
}) getUserInfo()
// await store.dispatch('user/getUserInfo') }
// next()
// if (recordRoute)
// next({ path: '/login', query: { redirect: to.path }, replace: true })
// else next({ path: '/login', replace: true })
// next()
// window.open('http://www.baidu.com', '_self')
} }
} }
}) })

View File

@ -32,7 +32,7 @@
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()
const goHome = () => { const goHome = () => {
router.push('/home') router.push({path: '/home', query:{redict: window.location.origin + '/#/home'}})
} }
</script> </script>
<style lang="less"> <style lang="less">