Files
sk_fems_ui/middleware/middleRouter.js
2025-07-12 15:13:46 +09:00

29 lines
766 B
JavaScript

import $cookie from 'vue-cookie';
export default async function({ store, route, redirect }) {
// const menuId = route.query.menuId;
const FEMS_SESSION = $cookie.get('FEMS_SESSION');
if (!FEMS_SESSION) {
if (route.name !== 'login') redirect('/login');
} else {
const userInfo = parseJwt(FEMS_SESSION);
if (store.state.userInfo && !store.state.userInfo.comId) {
store.commit('setUserInfo', userInfo);
}
}
}
function parseJwt(token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(
atob(base64)
.split('')
.map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
})
.join(''),
);
return JSON.parse(jsonPayload);
}