- COMPLETAMENTO PASSAGGIO A VITE - versione 1.2.2:
- Sistemato RefreshToken - Integrato modifiche di PiuCheBuono - Aggiornato a Node 22 - Aggiornato Server a Mongodb 8.0.
This commit is contained in:
@@ -257,9 +257,9 @@ export default defineComponent({
|
||||
default: 0,
|
||||
},
|
||||
heightcarousel: {
|
||||
type: Number,
|
||||
type: String,
|
||||
required: false,
|
||||
default: 0,
|
||||
default: '',
|
||||
},
|
||||
prop_pagination: {
|
||||
type: Object as PropType<IPagination>,
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
myclass="fixed-size"
|
||||
:title="$t('statusreg.online_today')"
|
||||
icon="fas fa-wifi"
|
||||
:mytextval="datastat.online_today"
|
||||
:mytextval="tools.numtostr(datastat.online_today)"
|
||||
classColor="text-orange"
|
||||
colBack="yellow"
|
||||
>
|
||||
|
||||
@@ -8,8 +8,6 @@ const msg_website_enUs = {
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
quantityAvailable: 'Disponibili',
|
||||
stockQty: 'In Magazzino',
|
||||
stockBloccatiQty: 'Bloccati In Magazzino',
|
||||
weight: 'Peso',
|
||||
stars: 'Voto',
|
||||
color: 'Colore',
|
||||
@@ -38,7 +36,6 @@ const msg_website_enUs = {
|
||||
productslist: 'Lista Prodotti',
|
||||
collabora: 'Collabora',
|
||||
storehouses: 'Magazzino',
|
||||
providers: 'Fornitori',
|
||||
departments: 'Uffici',
|
||||
orders: 'Ordini Ricevuti',
|
||||
orders2: 'Ordini Ricevuti',
|
||||
|
||||
@@ -8,7 +8,6 @@ const msg_website_es = {
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
quantityAvailable: 'Disponibili',
|
||||
stockQty: 'In Magazzino',
|
||||
weight: 'Peso',
|
||||
stars: 'Voto',
|
||||
color: 'Colore',
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'Più che Buono',
|
||||
siteshortname: 'Più che Buono',
|
||||
description: '',
|
||||
keywords: '',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
|
||||
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||
},
|
||||
hours: {
|
||||
descr: 'Descrizione',
|
||||
@@ -16,35 +16,23 @@ const msg_website_it = {
|
||||
pages: {
|
||||
home: 'Home',
|
||||
profile: 'Profilo',
|
||||
install_site: 'Installa Sito',
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
myhosps2: 'myhosps2',
|
||||
mygood2: 'mygood2',
|
||||
catalogo: 'Catalogo',
|
||||
fundraising: 'Sostieni il Progetto',
|
||||
notifs: 'Configura le Notifiche',
|
||||
unsubscribe: 'Disiscriviti',
|
||||
unsubscribe_user: 'Disiscriviti User',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
producer: 'Produttore',
|
||||
orderinfo: 'Ordini Effettuati',
|
||||
products: 'Prodotti',
|
||||
cash: 'Cassa',
|
||||
productInfos: 'Info Prodotti',
|
||||
listinoprodotti: 'Listino Prodotti',
|
||||
productslist: 'Lista Prodotti',
|
||||
collabora: 'Collabora',
|
||||
categories: 'Categorie',
|
||||
storehouses: 'Magazzino',
|
||||
providers: 'Fornitori',
|
||||
catprods: 'Categorie',
|
||||
subcatprods: 'Sotto-Categorie',
|
||||
gasordine: 'Gas Ordine',
|
||||
scontisticas: 'Scontistica',
|
||||
departments: 'Uffici',
|
||||
orders: 'Ordini Ricevuti',
|
||||
orders2: 'Ordini Ricevuti',
|
||||
@@ -133,11 +121,15 @@ const msg_website_it = {
|
||||
only_residenti: 'Solo Residenti',
|
||||
only_consiglio: 'Solo Consiglieri',
|
||||
color: 'Colore',
|
||||
gasordini: 'Gas Ordini',
|
||||
gestoreordini: 'Gestore Ordini',
|
||||
mainMenu: 'Menu Principale',
|
||||
subtitle: 'Sottotitolo',
|
||||
lang: 'Lingua',
|
||||
keywords: 'Parole Chiave',
|
||||
desctiption: 'Descrizione',
|
||||
heightimg: 'Altezza Immagine',
|
||||
},
|
||||
msg: {
|
||||
myAppName: 'Più che Buono',
|
||||
myAppName: 'Riso',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {
|
||||
import type {
|
||||
IListRoutes,
|
||||
ILang,
|
||||
IPreloadImages,
|
||||
@@ -7,6 +7,30 @@ import {
|
||||
import { func } from '@store/Modules/fieldsTable'
|
||||
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
//
|
||||
// let arrlistafavourite = []
|
||||
// let arrlistaprojtutti = []
|
||||
// let arrlistaprojmiei = []
|
||||
// if (SHOW_PROJINTHEMENU) {
|
||||
// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall)
|
||||
// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects)
|
||||
// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects)
|
||||
// }
|
||||
// PROGETTI -> FAVORITI :
|
||||
|
||||
// if (arrlistafavourite.length > 0) {
|
||||
// arrMenu.push({
|
||||
// icon: 'favorite_border',
|
||||
// nametranslate: 'pages.' + RouteNames.favouriteprojects,
|
||||
// urlroute: RouteNames.favouriteprojects,
|
||||
// level_parent: 0.0,
|
||||
// level_child: 0.5,
|
||||
// routes2: arrlistafavourite,
|
||||
// idelem: ''
|
||||
// })
|
||||
// }
|
||||
|
||||
const firstPage = {
|
||||
active: true,
|
||||
order: 5,
|
||||
@@ -40,12 +64,76 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
materialIcon: 'fas fa-test',
|
||||
name: 'mypages.test',
|
||||
component: () => import('@src/views/testServer/testServer.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 12,
|
||||
path: '/goods',
|
||||
materialIcon: 'fas fa-tshirt',
|
||||
name: 'mypages.goods',
|
||||
component: () => import('@src/root/goods/goods.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/services',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.services',
|
||||
component: () => import('@src/root/services/services.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/activities',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.activities',
|
||||
component: () => import('@src/root/activities/activities.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
|
||||
/*{
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/provapao',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.provapao',
|
||||
component: () => import('@src/root/provapao/provapao.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/hosps',
|
||||
materialIcon: 'fas fa-bed',
|
||||
name: 'mypages.hosp',
|
||||
component: () => import('@src/root/hosp/hosp.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.enableCircuits,
|
||||
order: 16,
|
||||
path: '/circuits',
|
||||
materialIcon: 'fas fa-coins',
|
||||
name: 'mypages.circuits',
|
||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 20,
|
||||
path: '/events',
|
||||
@@ -55,17 +143,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},*/
|
||||
{
|
||||
active: site.confpages && site.confpages.showProfile,
|
||||
order: 120,
|
||||
path: '/myprofile',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'pages.profile',
|
||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
@@ -78,6 +155,17 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 120,
|
||||
path: '/myprofile',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'pages.profile',
|
||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 120,
|
||||
@@ -90,7 +178,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.showiscrittiMenu,
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/friends',
|
||||
materialIcon: 'fas fa-user-friends',
|
||||
@@ -100,19 +188,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.enableCircuits,
|
||||
order: 16,
|
||||
path: '/circuits',
|
||||
materialIcon: 'fas fa-coins',
|
||||
name: 'mypages.circuits',
|
||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
onlyAdmin: true,
|
||||
onlyManager: true,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.enableGroups,
|
||||
order: 132,
|
||||
@@ -123,8 +198,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: false,
|
||||
onlyAdmin: true,
|
||||
onlyManager: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
@@ -203,7 +276,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
{
|
||||
active: true,
|
||||
order: 150,
|
||||
path: '/fundraising',
|
||||
path: '/sostieniilprogetto',
|
||||
materialIcon: 'fas fa-hand-holding-heart',
|
||||
name: 'pages.fundraising',
|
||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||
@@ -228,7 +301,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
|
||||
export function firstimagehome() {
|
||||
|
||||
let img = 'statics/images/background.jpg'
|
||||
const img = 'statics/images/background.jpg'
|
||||
return img
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<meta name="description" content="<%= productDescription %>">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="msapplication-tap-highlight" content="no">
|
||||
<meta name="version" content="1.1.23">
|
||||
<meta name="version" content="1.2.2">
|
||||
<meta name="viewport"
|
||||
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">
|
||||
|
||||
|
||||
@@ -117,8 +117,6 @@ const msg_it = {
|
||||
link_scheda: 'Link Scheda',
|
||||
addtocart_ext: 'Aggiungi',
|
||||
formato: 'Formato',
|
||||
edizione: 'Edizione',
|
||||
editore: 'Ediitore',
|
||||
isbn: 'ISBN',
|
||||
},
|
||||
storehouses: {
|
||||
@@ -2032,7 +2030,7 @@ const msg_it = {
|
||||
idPageAssigned: 'Pagina Assegnata',
|
||||
idPageAssigned_stampa: 'Pagina Assegnata (per STAMPA)',
|
||||
descr_introduttiva: 'Descrizione Introduttiva (circa 1300 battute)',
|
||||
editore: 'Gruppo Editoriale',
|
||||
editore: 'Marchio Editoriale',
|
||||
versione_perstampa: 'Per Stampa',
|
||||
pdf_generato: 'Pdf generato',
|
||||
pdf_online: 'Pdf online Ufficiale',
|
||||
|
||||
@@ -87,78 +87,75 @@ export const Api = {
|
||||
},
|
||||
|
||||
async refreshToken() {
|
||||
// Implementa la logica per ottenere un nuovo token utilizzando il refreshToken
|
||||
// Potrebbe essere una chiamata al server simile a sendRequest()
|
||||
// Se il refreshToken è valido, salva il nuovo token e restituiscilo
|
||||
// Altrimenti, gestisci il caso di refreshToken scaduto o invalido, e.g., redirecting to login
|
||||
|
||||
const userStore = useUserStore();
|
||||
try {
|
||||
const userStore = useUserStore()
|
||||
// console.log('refreshToken')
|
||||
const refrTok = localStorage.getItem(toolsext.localStorage.refreshToken)
|
||||
let response = null
|
||||
if (refrTok && refrTok !== 'undefined') {
|
||||
// console.log('refreshToken=', refrTok)
|
||||
response = await sendRequest('/users/newtok', 'POST', { refreshToken: refrTok })
|
||||
const refrTok = localStorage.getItem(toolsext.localStorage.refreshToken);
|
||||
|
||||
if (response) {
|
||||
if (!refrTok || refrTok === 'undefined') {
|
||||
throw new Error('Refresh token non disponibile');
|
||||
}
|
||||
|
||||
// Save the new access token in local storage
|
||||
localStorage.setItem(toolsext.localStorage.token, response.data.token);
|
||||
const response = await sendRequest('/users/newtok', 'POST', { refreshToken: refrTok });
|
||||
|
||||
// Reset the refresh token if it was reset by the server
|
||||
if (response.data.refreshToken) {
|
||||
// console.log('salva refreshtoken', response.data.refreshToken)
|
||||
userStore.setRefreshToken(response.data.refreshToken)
|
||||
}
|
||||
|
||||
// Return the new access token
|
||||
return response.data.token;
|
||||
} else {
|
||||
userStore.setAuth('', '')
|
||||
localStorage.removeItem(toolsext.localStorage.token)
|
||||
localStorage.removeItem(toolsext.localStorage.refreshToken)
|
||||
if (response && response.data) {
|
||||
// Salva il nuovo access token
|
||||
localStorage.setItem(toolsext.localStorage.token, response.data.token);
|
||||
|
||||
// Aggiorna il refresh token se fornito dal server
|
||||
if (response.data.refreshToken) {
|
||||
userStore.setRefreshToken(response.data.refreshToken);
|
||||
localStorage.setItem(toolsext.localStorage.refreshToken, response.data.refreshToken);
|
||||
}
|
||||
|
||||
return response.data.token;
|
||||
} else {
|
||||
throw new Error('Risposta del server non valida durante il refresh token');
|
||||
}
|
||||
} catch (error) {
|
||||
// Handle the error, for example by logging out the user
|
||||
console.error(error)
|
||||
localStorage.removeItem(toolsext.localStorage.token)
|
||||
localStorage.removeItem(toolsext.localStorage.refreshToken)
|
||||
throw error
|
||||
console.error('Errore durante il refresh token:', error);
|
||||
// Logout dell'utente in caso di errore critico
|
||||
userStore.setAuth('', '');
|
||||
localStorage.removeItem(toolsext.localStorage.token);
|
||||
localStorage.removeItem(toolsext.localStorage.refreshToken);
|
||||
throw error;
|
||||
}
|
||||
|
||||
},
|
||||
async checkTokenScaduto(status: number, evitaloop: boolean, resolve: any, reject: any, url: string, method: string, mydata: any, setAuthToken = false) {
|
||||
|
||||
const userStore = useUserStore()
|
||||
async checkTokenScaduto(status, evitaloop, resolve, reject, url, method, mydata, setAuthToken = false) {
|
||||
const userStore = useUserStore();
|
||||
|
||||
if (status === serv_constants.RIS_CODE__HTTP_FORBIDDEN_TOKEN_EXPIRED) {
|
||||
try {
|
||||
console.log('Token Scaduto.')
|
||||
console.log('Token scaduto. Tentativo di refresh...');
|
||||
const newAccessToken = await this.refreshToken();
|
||||
|
||||
if (newAccessToken) {
|
||||
userStore.setAuth(newAccessToken, userStore.refreshToken);
|
||||
|
||||
if (!evitaloop) {
|
||||
console.log('uso il RefreshToken...')
|
||||
console.log('Nuovo token ottenuto. Riprovo la richiesta...');
|
||||
return resolve(this.SendReq(url, method, mydata, setAuthToken, true));
|
||||
}
|
||||
} else {
|
||||
// $router.push('/signin')
|
||||
// Se il refresh token fallisce, logout dell'utente
|
||||
userStore.setAuth('', '');
|
||||
return reject({ code: toolsext.ERR_AUTHENTICATION });
|
||||
}
|
||||
} catch (err2: any) {
|
||||
console.error('err2, Token Invalido', err2)
|
||||
if (err2?.code === serv_constants.RIS_CODE__HTTP_FORBIDDEN_INVALID_TOKEN) {
|
||||
userStore.setServerCode(toolsext.ERR_AUTHENTICATION)
|
||||
userStore.setAuth('', '')
|
||||
return reject({ code: toolsext.ERR_AUTHENTICATION })
|
||||
}
|
||||
}
|
||||
} catch (err2) {
|
||||
console.error('Errore durante il refresh token:', err2);
|
||||
|
||||
return null
|
||||
if (err2?.code === serv_constants.RIS_CODE__HTTP_FORBIDDEN_INVALID_TOKEN) {
|
||||
userStore.setServerCode(toolsext.ERR_AUTHENTICATION);
|
||||
userStore.setAuth('', '');
|
||||
return reject({ code: toolsext.ERR_AUTHENTICATION });
|
||||
}
|
||||
|
||||
// Gestione di altri errori critici
|
||||
return reject(err2);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
|
||||
async SendReqBase(url: string, method: string, mydata: any, setAuthToken = false, evitaloop = false, myformdata?: any, responsedata?: any, options?: any): Promise<Types.AxiosSuccess | Types.AxiosError> {
|
||||
@@ -186,22 +183,20 @@ export const Api = {
|
||||
}
|
||||
}, 1000)
|
||||
|
||||
if (res.status) {
|
||||
userStore.setResStatus(res.status)
|
||||
if (res.status === serv_constants.RIS_CODE__HTTP_FORBIDDEN_INVALID_TOKEN) {
|
||||
userStore.setServerCode(toolsext.ERR_AUTHENTICATION)
|
||||
userStore.setAuth('', '')
|
||||
return reject({ code: toolsext.ERR_AUTHENTICATION })
|
||||
}
|
||||
if (res.status === serv_constants.RIS_CODE__HTTP_FORBIDDEN_INVALID_TOKEN) {
|
||||
userStore.setServerCode(toolsext.ERR_AUTHENTICATION);
|
||||
userStore.setAuth('', '');
|
||||
return reject({ code: toolsext.ERR_AUTHENTICATION });
|
||||
}
|
||||
|
||||
const ret = await this.checkTokenScaduto(res.status, evitaloop, resolve, reject, url, method, mydataout, setAuthToken)
|
||||
const ret = await this.checkTokenScaduto(res.status, evitaloop, resolve, reject, url, method, mydata, setAuthToken);
|
||||
if (ret) {
|
||||
return ret
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (tools.isDebug())
|
||||
console.log(' ----> ', res)
|
||||
|
||||
return resolve(res)
|
||||
})
|
||||
.catch(async (error) => {
|
||||
@@ -214,13 +209,15 @@ export const Api = {
|
||||
}
|
||||
}, 1000)
|
||||
|
||||
const ret = await this.checkTokenScaduto(error.status, evitaloop, resolve, reject, url, method, mydataout, setAuthToken)
|
||||
let ret = await this.checkTokenScaduto(error.status, evitaloop, resolve, reject, url, method, mydataout, setAuthToken)
|
||||
if (ret) {
|
||||
return ret
|
||||
} else {
|
||||
ret = await this.checkTokenScaduto(error.status, evitaloop, resolve, reject, url, method, mydataout, setAuthToken)
|
||||
}
|
||||
|
||||
console.log('ERROR', error)
|
||||
return reject(error)
|
||||
console.error('Errore nella richiesta:', error);
|
||||
return reject(error);
|
||||
}))
|
||||
},
|
||||
|
||||
|
||||
@@ -3641,17 +3641,17 @@ export const tools = {
|
||||
if ('serviceWorker' in navigator) {
|
||||
options = {
|
||||
body: 'You successfully subscribed to our Notification service!',
|
||||
icon: '/icons/app-icon-96x96.png',
|
||||
icon: '/myicons/app-icon-96x96.png',
|
||||
image: '/images/sf-boat.jpg',
|
||||
dir: 'ltr',
|
||||
lang: 'enUs', // BCP 47,
|
||||
vibrate: [100, 50, 200],
|
||||
badge: '/icons/app-icon-96x96.png',
|
||||
badge: '/myicons/app-icon-96x96.png',
|
||||
tag: 'confirm-notification',
|
||||
renotify: true, // if it's already sent, will Vibrate anyway
|
||||
actions: [
|
||||
{ action: 'confirm', title: 'Okay', icon: '/icons/app-icon-96x96.png' },
|
||||
{ action: 'cancel', title: 'Cancel', icon: '/icons/app-icon-96x96.png' },
|
||||
{ action: 'confirm', title: 'Okay', icon: '/myicons/app-icon-96x96.png' },
|
||||
{ action: 'cancel', title: 'Cancel', icon: '/myicons/app-icon-96x96.png' },
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@@ -888,6 +888,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
|
||||
clearAuthData() {
|
||||
console.log('clearAuthData')
|
||||
this.my = DefaultUser
|
||||
// resetArrToken(mystate.my.tokens)
|
||||
|
||||
|
||||
@@ -1848,10 +1848,10 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
return false
|
||||
} else {
|
||||
console.log('NON SONO LOGGATO... MYUSER NON TORNATO dal SRV',)
|
||||
console.log('Sbianca cmq i dati')
|
||||
// Sbianca cmq i dati
|
||||
const token = localStorage.getItem(toolsext.localStorage.token)
|
||||
if (token) {
|
||||
console.log('Sbianca cmq i dati')
|
||||
// Sbianca cmq i dati
|
||||
userStore.logout()
|
||||
this.rightDrawerOpen = true
|
||||
return false
|
||||
|
||||
Reference in New Issue
Block a user