|
|
@ -10,7 +10,9 @@
|
|
|
|
import Vue from "vue";
|
|
|
|
import Vue from "vue";
|
|
|
|
import Router from "vue-router";
|
|
|
|
import Router from "vue-router";
|
|
|
|
import Meta from "vue-meta";
|
|
|
|
import Meta from "vue-meta";
|
|
|
|
import Paths from "./path"
|
|
|
|
import Paths from "./path";
|
|
|
|
|
|
|
|
import { TokenStorage, UserStorage } from "../utils/storage";
|
|
|
|
|
|
|
|
|
|
|
|
Vue.use(Router);
|
|
|
|
Vue.use(Router);
|
|
|
|
Vue.use(Meta);
|
|
|
|
Vue.use(Meta);
|
|
|
|
|
|
|
|
|
|
|
@ -41,6 +43,7 @@ function create() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function route(options) {
|
|
|
|
function route(options) {
|
|
|
|
|
|
|
|
// console.log('options', options);
|
|
|
|
let path = options.path;
|
|
|
|
let path = options.path;
|
|
|
|
let view = options.view;
|
|
|
|
let view = options.view;
|
|
|
|
let name = options.name;
|
|
|
|
let name = options.name;
|
|
|
@ -59,24 +62,20 @@ function route(options) {
|
|
|
|
function beforeLoad() {
|
|
|
|
function beforeLoad() {
|
|
|
|
router.beforeEach((to, from, next) => {
|
|
|
|
router.beforeEach((to, from, next) => {
|
|
|
|
setTitle(to);
|
|
|
|
setTitle(to);
|
|
|
|
|
|
|
|
const auth = to.meta && to.meta.auth ? to.meta.auth : false;
|
|
|
|
|
|
|
|
const roles = to.meta && to.meta.roles ? to.meta.roles : false;
|
|
|
|
|
|
|
|
|
|
|
|
// const auth = to.meta && to.meta.auth ? to.meta.auth : false;
|
|
|
|
const loggedIn = !!TokenStorage.getToken();
|
|
|
|
// const types = to.meta && to.meta.types ? to.meta.types : false;
|
|
|
|
if (auth && !loggedIn) {
|
|
|
|
|
|
|
|
router.push({ name: 'login', query: { redirect: to.fullPath } });
|
|
|
|
|
|
|
|
}
|
|
|
|
// const loggedIn = !!TokenStorage.getToken();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (auth && !loggedIn) {
|
|
|
|
|
|
|
|
// router.push({ name: 'login', query: { redirect: to.fullPath } });
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (loggedIn && types && Array.isArray(types)) {
|
|
|
|
|
|
|
|
// const ownType = UserStorage.get() ? UserStorage.get().type : '';
|
|
|
|
|
|
|
|
// if (!types.includes(ownType)) {
|
|
|
|
|
|
|
|
// router.push({ name: 'dashboard'});
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (loggedIn && roles && Array.isArray(roles)) {
|
|
|
|
|
|
|
|
const ownType = UserStorage.get() ? UserStorage.get().role : '';
|
|
|
|
|
|
|
|
if (!roles.includes(ownType)) {
|
|
|
|
|
|
|
|
router.push({ name: 'dashboard' });
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
next();
|
|
|
|
next();
|
|
|
|
});
|
|
|
|
});
|
|
|
|