From 9372a6705868aeb7667b131b722170266efad2aa Mon Sep 17 00:00:00 2001 From: saeid_01 Date: Thu, 8 Aug 2019 08:53:11 +0430 Subject: [PATCH] home login and logout --- public/mix-manifest.json | 8 +-- .../js/Global/components/Drawer/SideBar.vue | 9 ++- .../js/Global/services/storage.services.js | 2 + resources/js/Home/app.js | 6 ++ resources/js/Home/router/index.js | 30 +++++----- resources/js/Home/store.js | 15 ----- resources/js/Home/store/actions.js | 4 ++ resources/js/Home/store/getters.js | 4 ++ resources/js/Home/store/index.js | 31 ++++++++++ resources/js/Home/store/modules/index.js | 56 +++++++++++++++++++ resources/js/Home/store/mutations.js | 3 + resources/js/Home/store/state.js | 4 ++ 12 files changed, 136 insertions(+), 36 deletions(-) delete mode 100644 resources/js/Home/store.js create mode 100644 resources/js/Home/store/actions.js create mode 100644 resources/js/Home/store/getters.js create mode 100644 resources/js/Home/store/index.js create mode 100644 resources/js/Home/store/modules/index.js create mode 100644 resources/js/Home/store/mutations.js create mode 100644 resources/js/Home/store/state.js diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 86dc776..72c28c7 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=fd60b024e273b82a7845", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=1840438a7c2639ecc0eb", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=9f4332442b1eb2e3507e", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=bf0ac83a9847d4842b17" + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=6b97e64b88b473b78429", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=5cf42ee9bf28ccc49b35", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=7ff9b1d2a8dddd5e3d03", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=e0ac9d2216e187241d2a" } diff --git a/resources/js/Global/components/Drawer/SideBar.vue b/resources/js/Global/components/Drawer/SideBar.vue index da74e26..bef1ee5 100644 --- a/resources/js/Global/components/Drawer/SideBar.vue +++ b/resources/js/Global/components/Drawer/SideBar.vue @@ -22,9 +22,9 @@ علیرضا حسنی
مدیریت
- + - fas fa-power-off + fas fa-power-off خروج از حساب کاربری @@ -48,7 +48,7 @@ diff --git a/resources/js/Global/services/storage.services.js b/resources/js/Global/services/storage.services.js index 7de6845..ab236ae 100644 --- a/resources/js/Global/services/storage.services.js +++ b/resources/js/Global/services/storage.services.js @@ -14,6 +14,8 @@ const TokenService = { }, saveToken(accessToken = null) { + console.log(accessToken); + localStorage.setItem(TOKEN_KEY, accessToken) }, diff --git a/resources/js/Home/app.js b/resources/js/Home/app.js index 36c6842..9d55918 100644 --- a/resources/js/Home/app.js +++ b/resources/js/Home/app.js @@ -70,6 +70,12 @@ Vue.use(VueScrollReveal, { }); Vue.mixin(global); +import { TokenService } from "@Global/services/storage.services"; +import ApiService from "@Global/services/api.services"; +// If token exists set Authorizion header +if (TokenService.getToken()) { + ApiService.setAuthHeader(); +} diff --git a/resources/js/Home/router/index.js b/resources/js/Home/router/index.js index fc3448d..e7d62f6 100644 --- a/resources/js/Home/router/index.js +++ b/resources/js/Home/router/index.js @@ -54,24 +54,26 @@ const router = new Router({ Vue.use(Meta) + +import { TokenService } from "@Global/services/storage.services"; router.beforeEach((to, from, next) => { -// const isPublic = to.matched.some(record => record.meta.public); -// const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut); -// const roles = (to.meta && to.meta.roles) ? to.meta.roles : null; + const isPublic = to.matched.some(record => record.meta.public); + const onlyWhenLoggedOut = to.matched.some( + record => record.meta.onlyWhenLoggedOut + ); + const roles = to.meta && to.meta.roles ? to.meta.roles : null; + 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 window.location.href = '/Login?redirect='+to.fullPath; + } -// // Do not allow user to visit login page or register page if they are logged in -// if (loggedIn && onlyWhenLoggedOut && policy) { -// return next('/') -// } + // Do not allow user to visit login page or register page if they are logged in + if (loggedIn && onlyWhenLoggedOut && policy) { + return window.location.href = '/Main'; + } - next(); + next(); }); export default router diff --git a/resources/js/Home/store.js b/resources/js/Home/store.js deleted file mode 100644 index b754de2..0000000 --- a/resources/js/Home/store.js +++ /dev/null @@ -1,15 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' - -Vue.use(Vuex) - -export default new Vuex.Store({ - state: { - UserDetails: false, - UserRoles: false, - OrderDetails: false, - OrderStatus: false, - SendEmail: false, - SendSMS: false - } -}) diff --git a/resources/js/Home/store/actions.js b/resources/js/Home/store/actions.js new file mode 100644 index 0000000..bd77588 --- /dev/null +++ b/resources/js/Home/store/actions.js @@ -0,0 +1,4 @@ + +export default { + +}; diff --git a/resources/js/Home/store/getters.js b/resources/js/Home/store/getters.js new file mode 100644 index 0000000..fab8971 --- /dev/null +++ b/resources/js/Home/store/getters.js @@ -0,0 +1,4 @@ +export default { + getClientTypes: state => state.clientTypes, + getPhoneTypes: state => state.phoneTypes +}; diff --git a/resources/js/Home/store/index.js b/resources/js/Home/store/index.js new file mode 100644 index 0000000..2fd93cf --- /dev/null +++ b/resources/js/Home/store/index.js @@ -0,0 +1,31 @@ +/** + * Vuex + * + * @library + * + * https://vuex.vuejs.org/en/ + */ + +// Lib imports +import Vue from 'vue' +import Vuex from 'vuex' + +// Store functionality +import actions from './actions' +import getters from './getters' +import modules from './modules' +import mutations from './mutations' +import state from './state' + +Vue.use(Vuex) + +// Create a new store +const store = new Vuex.Store({ + actions, + getters, + modules, + mutations, + state +}) + +export default store \ No newline at end of file diff --git a/resources/js/Home/store/modules/index.js b/resources/js/Home/store/modules/index.js new file mode 100644 index 0000000..c8e2337 --- /dev/null +++ b/resources/js/Home/store/modules/index.js @@ -0,0 +1,56 @@ +const requireCurrentModule = require.context('.', true, /\.js$/); +const requireGlobalModule = require.context('@Global/store/modules', true, /\.js$/) +const requireCoreModule = require.context('@Core/store/modules', true, /\.js$/) + +const modules = {}; + +requireCurrentModule.keys().forEach(fileName => { + if (fileName === './index.js') return + + // Replace ./ and .js + const path = fileName.replace(/(\.\/|\.js)/g, '') + const [moduleName, imported] = path.split('/') + if (!modules[moduleName]) { + modules[moduleName] = { + namespaced: true + } + } + + modules[moduleName][imported] = requireCurrentModule(fileName).default + +}); + +requireGlobalModule.keys().forEach(fileName => { + if (fileName === './index.js') return + + // Replace ./ and .js + const path = fileName.replace(/(\.\/|\.js)/g, '') + const [moduleName, imported] = path.split('/') + if (!modules[moduleName]) { + modules[moduleName] = { + namespaced: true + } + } + + modules[moduleName][imported] = requireGlobalModule(fileName).default + +}); + +requireCoreModule.keys().forEach(fileName => { + if (fileName === './index.js') return + + // Replace ./ and .js + const path = fileName.replace(/(\.\/|\.js)/g, '') + const [moduleName, imported] = path.split('/') + if (!modules[moduleName]) { + modules[moduleName] = { + namespaced: true + } + } + + modules[moduleName][imported] = requireCoreModule(fileName).default + +}); + + +export default modules \ No newline at end of file diff --git a/resources/js/Home/store/mutations.js b/resources/js/Home/store/mutations.js new file mode 100644 index 0000000..46b09a6 --- /dev/null +++ b/resources/js/Home/store/mutations.js @@ -0,0 +1,3 @@ +export default { + +}; diff --git a/resources/js/Home/store/state.js b/resources/js/Home/store/state.js new file mode 100644 index 0000000..b8f4ef2 --- /dev/null +++ b/resources/js/Home/store/state.js @@ -0,0 +1,4 @@ +export default { + + +};