思路:外部系统是通过发送外部token和自定义参数sourceFlag,进入本地网站。
外部系统每一次访问,需要本地网站重新接收token和自定义参数sourceFlag,来刷新本地网站权限内容。
// 如果是home页,utl带参数,每次请求都调登陆接口
if(to.name == 'Home') {
if(JSON.stringify(to.query) !== "{}" && to.query.token !== '') {
let params = {
sourceFlag: to.query.sourceFlag,
token: to.query.token,
}
jumpPageLogin(params)
next()
}
}
每一次外部系统访问时,会重新请求jumpPageInfo接口。
function jumpPageLogin(params) {
LoginAPI.jumpPageInfo(params).then(res => {
let resp = res.data
if (resp.flag !== false) {
let token = resp.data.token
let user = resp.data.user
let password = resp.data.pswd
let allow = resp.data.allow
let userMail = resp.data.mail
let loginout = resp.data.loginout
let userId = resp.data.userid
let isRootUser = resp.data.root
console.log(token, 'token');
store.commit("SET_TOKEN", { token, user, password, allow, userMail, userId, isRootUser, loginout })
store.commit('CHANGE_IS_SIGN_IN', 1)
}
}).catch(error => {
console.log(error, 'error');
})
}