home login and logout

pull/1/head
saeid_01 5 years ago
parent 2317a59d73
commit 9372a67058

@ -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"
}

@ -22,9 +22,9 @@
<v-list-tile-content>
<v-list-tile-title class="Name"> علیرضا حسنی </v-list-tile-title>
<div class="Role"> مدیریت </div>
<a href="/Login" class="LogOut">
<a class="LogOut">
<v-tooltip bottom color="black">
<v-btn small @click.native="$store.state.SendSMS = true" slot="activator" outline fab color="black" dark><v-icon dark>fas fa-power-off</v-icon></v-btn>
<v-btn small @click.native.stop="logout" slot="activator" outline fab color="black" dark><v-icon dark>fas fa-power-off</v-icon></v-btn>
<span> خروج از حساب کاربری </span>
</v-tooltip>
</a>
@ -48,7 +48,7 @@
<script>
import Tile from '@Global/components/Drawer/Tile';
import Notifications from '@Global/components/Drawer/Notifications';
import {mapActions} from 'vuex';
export default {
data() {
@ -69,6 +69,9 @@
'wm-list-tile': Tile,
'wm-notifications':Notifications,
},
methods:{
...mapActions('auth', ['logout'])
}
}
</script>

@ -14,6 +14,8 @@ const TokenService = {
},
saveToken(accessToken = null) {
console.log(accessToken);
localStorage.setItem(TOKEN_KEY, accessToken)
},

@ -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();
}

@ -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

@ -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
}
})

@ -0,0 +1,4 @@
export default {
};

@ -0,0 +1,4 @@
export default {
getClientTypes: state => state.clientTypes,
getPhoneTypes: state => state.phoneTypes
};

@ -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

@ -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

@ -0,0 +1,3 @@
export default {
};

@ -0,0 +1,4 @@
export default {
};
Loading…
Cancel
Save