router.beforeEach((to, from, next) => {
if(to.path.indexOf("/appPages/")==0){
if(to.meta.title) {
document.title = to.meta.title
}
closeLayer();
next();
}else{
const token = getCookie('Access-Token');
// 判断是否有token,有token正常进行导航
if (!token) {
// 没有token看看是否由SSO登录中心登录完成,带着ST跳转而来
const query = formatLocationSearch(window.location.search);
if (query.ST) {
// 有st,拿st换老系统token
post(`${BASE_URL}/uip/login/loginWithSt?st=${query.ST}`).then(res => {
if (res.resCode === 1) {
getMenuList(res.data.userDTO.id);
setCookie('userDTO', escape(JSON.stringify(res.data.userDTO)));
const token = res.data.tokenInfo.token;
setCookie('Access-Token', token);
// 登录成功,获取到菜单后除去遮罩层
closeLayer();
next();
} else {
window.location.href = `${SSO_CENTER_URl}?from=${window.location.origin}${window.location.pathname}&info=v3`;
}
});
} else {
//没有st,去登录中心获取st
window.location.href = `${SSO_CENTER_URl}?from=${window.location.origin}${window.location.pathname}&info=v3`;
}
} else {
next();
}
}
});
function getMenuList(userId) {
get(`${BASE_URL}/uip/smAuthority/queryUserAuthorizedMenuTree?userId=${userId}`).then(res => {
if (res.resCode === 1) {
setCookie('menuList', JSON.stringify(res.data));
}
})
}
function closeLayer() {
const preloader = document.querySelector('.preloader');
preloader.className += ' preloader-hidden-add preloader-hidden-add-active';
setTimeout(function () {
preloader.className += ' preloader-hidden';
}, 750);
}