WIP User service, login routing.
This commit is contained in:
@ -1,13 +1,17 @@
|
||||
import Vue from 'vue';
|
||||
import Router from 'vue-router';
|
||||
import Dashboard from './views/Dashboard.vue';
|
||||
import Measures from './views/Measures.vue';
|
||||
import UserAccount from './views/UserAccount.vue';
|
||||
import QuickPanels from './views/QuickPanels.vue';
|
||||
import { default as Router, Route } from 'vue-router';
|
||||
|
||||
import Dashboard from '@/views/Dashboard.vue';
|
||||
import Login from '@/views/Login.vue';
|
||||
import Measures from '@/views/Measures.vue';
|
||||
import UserAccount from '@/views/UserAccount.vue';
|
||||
import QuickPanels from '@/views/QuickPanels.vue';
|
||||
|
||||
import userService from '@/services/user';
|
||||
|
||||
Vue.use(Router);
|
||||
|
||||
export default new Router({
|
||||
const router = new Router({
|
||||
mode: 'history',
|
||||
base: process.env.BASE_URL,
|
||||
routes: [
|
||||
@ -15,25 +19,47 @@ export default new Router({
|
||||
path: '/',
|
||||
redirect: '/dashboard'
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
name: 'login',
|
||||
component: Login
|
||||
},
|
||||
{
|
||||
path: '/dashboard',
|
||||
name: 'dashboard',
|
||||
component: Dashboard
|
||||
component: Dashboard,
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/measures',
|
||||
name: 'measures',
|
||||
component: Measures
|
||||
component: Measures,
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/user-account',
|
||||
name: 'user-account',
|
||||
component: UserAccount
|
||||
component: UserAccount,
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/quick-panels',
|
||||
name: 'quick-panels',
|
||||
component: QuickPanels
|
||||
component: QuickPanels,
|
||||
meta: { requiresAuth: true }
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
// Auth filter
|
||||
router.beforeEach((to, from, next) => {
|
||||
if (to.matched.some((record) => record.meta.requiresAuth)) {
|
||||
if (!userService.isAuthed()) {
|
||||
next({
|
||||
path: '/login',
|
||||
params: { nextUrl: to.fullPath } });
|
||||
} else { next(); } // if authed
|
||||
} else { next(); } // if auth required
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
Reference in New Issue
Block a user