mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 03:11:06 +03:30
route middleware And Login
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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' }
|
||||
]
|
||||
})
|
||||
|
||||
Vendored
+19
-19
@@ -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
|
||||
|
||||
Vendored
+10
-1
@@ -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
@@ -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)
|
||||
},
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user