route middleware And Login

This commit is contained in:
saeid_01
2019-04-15 10:40:07 +04:30
parent 9f2acb855c
commit 8986f934a3
11 changed files with 120 additions and 72 deletions
+9 -2
View File
@@ -2,16 +2,23 @@
<v-app>
<!-- <core-filter /> -->
<core-toolbar />
<core-toolbar v-if="loggedIn" />
<core-drawer />
<core-drawer v-if="loggedIn" />
<core-view />
</v-app>
</template>
<script>
import { TokenService } from '@/services';
export default {
data() {
return {
loggedIn : !!TokenService.getToken(),
};
},
}
</script>
+3 -2
View File
@@ -33,9 +33,10 @@
export default {
data: () => ({
links: [
{ name: 'Home', Link: '/dashboard' },
{ name: 'Powered By', Link: 'https://www.willamall.com' },
// { name: 'Home', Link: '/dashboard' },
// { name: 'Creative Tim', Link: 'https://www.creative-tim.com' },
{ name: 'About Us', Link: 'https://creative-tim.com/presentation' },
// { name: 'About Us', Link: 'https://creative-tim.com/presentation' },
// { name: 'Blog', Link: 'https://blog.creative-tim.com' }
]
})
+19 -19
View File
@@ -20,7 +20,7 @@ function route (options) {
let path = options.path;
let view = options.view;
let name = options.name;
let meta = (path.meta) ? path.meta : '';
let meta = (options.meta) ? options.meta : '';
return {
name: name || view,
path,
@@ -56,17 +56,17 @@ router.beforeEach((to, from, next) => {
const isPublic = to.matched.some(record => record.meta.public);
const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut);
const loggedIn = !!TokenService.getToken();
// if (!isPublic && !loggedIn) {
// return next({
// path:'/login',
// query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
// });
// }
if (!isPublic && !loggedIn) {
return next({
path:'/login',
query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
});
}
// Do not allow user to visit login page or register page if they are logged in
// if (loggedIn && onlyWhenLoggedOut) {
// return next('/')
// }
if (loggedIn && onlyWhenLoggedOut) {
return next('/')
}
next();
});
@@ -74,14 +74,14 @@ router.beforeEach((to, from, next) => {
// Bootstrap Analytics
// Set in .env
// https://github.com/MatteoGabriele/vue-analytics
if (process.env.GOOGLE_ANALYTICS) {
Vue.use(VueAnalytics, {
id: process.env.GOOGLE_ANALYTICS,
router,
autoTracking: {
page: process.env.NODE_ENV !== 'development'
}
})
}
// if (process.env.GOOGLE_ANALYTICS) {
// Vue.use(VueAnalytics, {
// id: process.env.GOOGLE_ANALYTICS,
// router,
// autoTracking: {
// page: process.env.NODE_ENV !== 'development'
// }
// })
// }
export default router
+10 -1
View File
@@ -46,7 +46,16 @@ export default [
{
path: '/register',
name: 'Register',
view: 'Register'
view: 'Register',
meta: {
public: true, // Allow access to even if not logged in
onlyWhenLoggedOut: true
}
},
{
path: '/Adminregister',
name: 'AdminRegister',
view: 'AdminRegister'
},
{
path: '/submit-test-result',
+2 -2
View File
@@ -12,7 +12,7 @@ const TokenService = {
return localStorage.getItem(TOKEN_KEY)
},
saveToken(accessToken) {
saveToken(accessToken = null) {
localStorage.setItem(TOKEN_KEY, accessToken)
},
@@ -24,7 +24,7 @@ const TokenService = {
return localStorage.getItem(REFRESH_TOKEN_KEY)
},
saveRefreshToken(refreshToken) {
saveRefreshToken(refreshToken = null) {
localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken)
},
+1 -1
View File
@@ -38,7 +38,7 @@
<v-flex xs12 md6 sm6 class="text-md-right text-sm-center text-xs-center">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
<span class="black--text">Register</span>
<span ><router-link class="black--text" to="register">Register</router-link></span>
</v-btn>
</v-flex>
</v-layout>