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
Vendored
+1 -1
View File
@@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__);
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module // Module
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\r\n top: -25px !important;\n}\r\n", ""]); exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\n top: -25px !important;\n}\n", ""]);
Vendored
+1 -1
View File
@@ -137,7 +137,7 @@ __webpack_require__.r(__webpack_exports__);
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module // Module
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding : 8px 22px;\n}\r\n\r\n", ""]); exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\n padding : 8px 22px;\n}\n\n", ""]);
Vendored
+1 -1
View File
@@ -423,7 +423,7 @@ __webpack_require__.r(__webpack_exports__);
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module // Module
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\r\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n bottom: -24px !important;\n}\r\n", ""]); exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n bottom: -24px !important;\n}\n", ""]);
Vendored
+14 -3
View File
@@ -250,9 +250,20 @@ var render = function() {
[_vm._v("fas fa-plus")] [_vm._v("fas fa-plus")]
), ),
_vm._v(" "), _vm._v(" "),
_c("span", { staticClass: "black--text" }, [ _c(
_vm._v("Register") "span",
]) [
_c(
"router-link",
{
staticClass: "black--text",
attrs: { to: "register" }
},
[_vm._v("Register")]
)
],
1
)
], ],
1 1
) )
+59 -39
View File
@@ -2178,6 +2178,7 @@ module.exports = {
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
// //
// //
// //
@@ -2190,7 +2191,14 @@ __webpack_require__.r(__webpack_exports__);
// //
// //
// //
/* harmony default export */ __webpack_exports__["default"] = ({});
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
loggedIn: !!_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken()
};
}
});
/***/ }), /***/ }),
@@ -2556,12 +2564,8 @@ __webpack_require__.r(__webpack_exports__);
data: function data() { data: function data() {
return { return {
links: [{ links: [{
name: 'Home', name: 'Powered By',
Link: '/dashboard' Link: 'https://www.willamall.com'
}, // { name: 'Creative Tim', Link: 'https://www.creative-tim.com' },
{
name: 'About Us',
Link: 'https://creative-tim.com/presentation'
}] }]
}; };
} }
@@ -13467,9 +13471,9 @@ var render = function() {
return _c( return _c(
"v-app", "v-app",
[ [
_c("core-toolbar"), _vm.loggedIn ? _c("core-toolbar") : _vm._e(),
_vm._v(" "), _vm._v(" "),
_c("core-drawer"), _vm.loggedIn ? _c("core-drawer") : _vm._e(),
_vm._v(" "), _vm._v(" "),
_c("core-view") _c("core-view")
], ],
@@ -59027,7 +59031,7 @@ __webpack_require__.r(__webpack_exports__);
Object(vuex_router_sync__WEBPACK_IMPORTED_MODULE_6__["sync"])(_store__WEBPACK_IMPORTED_MODULE_10__["default"], _router__WEBPACK_IMPORTED_MODULE_9__["default"]); Object(vuex_router_sync__WEBPACK_IMPORTED_MODULE_6__["sync"])(_store__WEBPACK_IMPORTED_MODULE_10__["default"], _router__WEBPACK_IMPORTED_MODULE_9__["default"]);
vue__WEBPACK_IMPORTED_MODULE_1___default.a.config.productionTip = false; // Set the base URL of the API vue__WEBPACK_IMPORTED_MODULE_1___default.a.config.productionTip = false; // Set the base URL of the API
_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api/"); // If token exists set header _services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api"); // If token exists set header
if (_services__WEBPACK_IMPORTED_MODULE_11__["TokenService"].getToken()) { if (_services__WEBPACK_IMPORTED_MODULE_11__["TokenService"].getToken()) {
_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].setHeader(); _services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].setHeader();
@@ -59194,7 +59198,7 @@ function route(options) {
var path = options.path; var path = options.path;
var view = options.view; var view = options.view;
var name = options.name; var name = options.name;
var meta = path.meta ? path.meta : ''; var meta = options.meta ? options.meta : '';
return { return {
name: name || view, name: name || view,
path: path, path: path,
@@ -59240,31 +59244,36 @@ router.beforeEach(function (to, from, next) {
var onlyWhenLoggedOut = to.matched.some(function (record) { var onlyWhenLoggedOut = to.matched.some(function (record) {
return record.meta.onlyWhenLoggedOut; return record.meta.onlyWhenLoggedOut;
}); });
var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_4__["TokenService"].getToken(); // if (!isPublic && !loggedIn) { var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_4__["TokenService"].getToken();
// return next({
// path:'/login', if (!isPublic && !loggedIn) {
// query: {redirect: to.fullPath} // Store the full path to redirect the user to after login return next({
// }); path: '/login',
// } query: {
// Do not allow user to visit login page or register page if they are logged in redirect: to.fullPath // Store the full path to redirect the user to after login
// if (loggedIn && onlyWhenLoggedOut) {
// return next('/') }
// } });
} // Do not allow user to visit login page or register page if they are logged in
if (loggedIn && onlyWhenLoggedOut) {
return next('/');
}
next(); next();
}); // Bootstrap Analytics }); // Bootstrap Analytics
// Set in .env // Set in .env
// https://github.com/MatteoGabriele/vue-analytics // https://github.com/MatteoGabriele/vue-analytics
// if (process.env.GOOGLE_ANALYTICS) {
if (Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).GOOGLE_ANALYTICS) { // Vue.use(VueAnalytics, {
vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(vue_analytics__WEBPACK_IMPORTED_MODULE_1___default.a, { // id: process.env.GOOGLE_ANALYTICS,
id: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).GOOGLE_ANALYTICS, // router,
router: router, // autoTracking: {
autoTracking: { // page: process.env.NODE_ENV !== 'development'
page: "development" !== 'development' // }
} // })
}); // }
}
/* harmony default export */ __webpack_exports__["default"] = (router); /* harmony default export */ __webpack_exports__["default"] = (router);
@@ -59320,7 +59329,16 @@ __webpack_require__.r(__webpack_exports__);
}, { }, {
path: '/register', path: '/register',
name: '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', path: '/submit-test-result',
name: 'Submit Test Result', name: 'Submit Test Result',
@@ -59495,7 +59513,8 @@ var TokenService = {
getToken: function getToken() { getToken: function getToken() {
return localStorage.getItem(TOKEN_KEY); return localStorage.getItem(TOKEN_KEY);
}, },
saveToken: function saveToken(accessToken) { saveToken: function saveToken() {
var accessToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
localStorage.setItem(TOKEN_KEY, accessToken); localStorage.setItem(TOKEN_KEY, accessToken);
}, },
removeToken: function removeToken() { removeToken: function removeToken() {
@@ -59504,7 +59523,8 @@ var TokenService = {
getRefreshToken: function getRefreshToken() { getRefreshToken: function getRefreshToken() {
return localStorage.getItem(REFRESH_TOKEN_KEY); return localStorage.getItem(REFRESH_TOKEN_KEY);
}, },
saveRefreshToken: function saveRefreshToken(refreshToken) { saveRefreshToken: function saveRefreshToken() {
var refreshToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken); localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken);
}, },
removeRefreshToken: function removeRefreshToken() { removeRefreshToken: function removeRefreshToken() {
@@ -59606,8 +59626,8 @@ var UserService = {
grant_type: 'password' grant_type: 'password'
}, },
auth: { auth: {
username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID, username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
} }
}; };
_context.prev = 1; _context.prev = 1;
@@ -59665,8 +59685,8 @@ var UserService = {
refresh_token: refreshToken refresh_token: refreshToken
}, },
auth: { auth: {
username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID, username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
} }
}; };
_context2.prev = 2; _context2.prev = 2;
@@ -60297,7 +60317,7 @@ module.exports = webpackAsyncContext;
/*! no static exports found */ /*! no static exports found */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(/*! D:\Atom\Git\Laravel_CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js"); module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js");
/***/ }) /***/ })
+9 -2
View File
@@ -2,16 +2,23 @@
<v-app> <v-app>
<!-- <core-filter /> --> <!-- <core-filter /> -->
<core-toolbar /> <core-toolbar v-if="loggedIn" />
<core-drawer /> <core-drawer v-if="loggedIn" />
<core-view /> <core-view />
</v-app> </v-app>
</template> </template>
<script> <script>
import { TokenService } from '@/services';
export default { export default {
data() {
return {
loggedIn : !!TokenService.getToken(),
};
},
} }
</script> </script>
+3 -2
View File
@@ -33,9 +33,10 @@
export default { export default {
data: () => ({ data: () => ({
links: [ 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: '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' } // { name: 'Blog', Link: 'https://blog.creative-tim.com' }
] ]
}) })
+19 -19
View File
@@ -20,7 +20,7 @@ function route (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;
let meta = (path.meta) ? path.meta : ''; let meta = (options.meta) ? options.meta : '';
return { return {
name: name || view, name: name || view,
path, path,
@@ -56,17 +56,17 @@ router.beforeEach((to, from, next) => {
const isPublic = to.matched.some(record => record.meta.public); const isPublic = to.matched.some(record => record.meta.public);
const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut); const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut);
const loggedIn = !!TokenService.getToken(); const loggedIn = !!TokenService.getToken();
// if (!isPublic && !loggedIn) { if (!isPublic && !loggedIn) {
// return next({ return next({
// path:'/login', path:'/login',
// query: {redirect: to.fullPath} // Store the full path to redirect the user to after 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 // Do not allow user to visit login page or register page if they are logged in
// if (loggedIn && onlyWhenLoggedOut) { if (loggedIn && onlyWhenLoggedOut) {
// return next('/') return next('/')
// } }
next(); next();
}); });
@@ -74,14 +74,14 @@ router.beforeEach((to, from, next) => {
// Bootstrap Analytics // Bootstrap Analytics
// Set in .env // Set in .env
// https://github.com/MatteoGabriele/vue-analytics // https://github.com/MatteoGabriele/vue-analytics
if (process.env.GOOGLE_ANALYTICS) { // if (process.env.GOOGLE_ANALYTICS) {
Vue.use(VueAnalytics, { // Vue.use(VueAnalytics, {
id: process.env.GOOGLE_ANALYTICS, // id: process.env.GOOGLE_ANALYTICS,
router, // router,
autoTracking: { // autoTracking: {
page: process.env.NODE_ENV !== 'development' // page: process.env.NODE_ENV !== 'development'
} // }
}) // })
} // }
export default router export default router
+10 -1
View File
@@ -46,7 +46,16 @@ export default [
{ {
path: '/register', path: '/register',
name: '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', path: '/submit-test-result',
+2 -2
View File
@@ -12,7 +12,7 @@ const TokenService = {
return localStorage.getItem(TOKEN_KEY) return localStorage.getItem(TOKEN_KEY)
}, },
saveToken(accessToken) { saveToken(accessToken = null) {
localStorage.setItem(TOKEN_KEY, accessToken) localStorage.setItem(TOKEN_KEY, accessToken)
}, },
@@ -24,7 +24,7 @@ const TokenService = {
return localStorage.getItem(REFRESH_TOKEN_KEY) return localStorage.getItem(REFRESH_TOKEN_KEY)
}, },
saveRefreshToken(refreshToken) { saveRefreshToken(refreshToken = null) {
localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken) 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-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-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> <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-btn>
</v-flex> </v-flex>
</v-layout> </v-layout>