versione 1.2.14 :
- aggiornati i file di configurazione, ENV e script non funzionanti., package. - corretto custom-service-worker.js con CORS - ottimizzato il server, la chiamata Load iniziale (senza promise, con async/await).
This commit is contained in:
@@ -103,7 +103,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function loadProfile() {
|
||||
console.log('loadProfile...', username.value)
|
||||
console.log('loadUserActivities...', username.value)
|
||||
try {
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
v-model="signup.username"
|
||||
:readonly="
|
||||
tools.getAskToVerifyReg() &&
|
||||
!site.confpages.enableRegMultiChoice
|
||||
!site.confpages?.enableRegMultiChoice
|
||||
"
|
||||
rounded
|
||||
outlined
|
||||
@@ -421,7 +421,7 @@
|
||||
v-model="signup.username"
|
||||
:readonly="
|
||||
tools.getAskToVerifyReg() &&
|
||||
!site.confpages.enableRegMultiChoice
|
||||
!site.confpages?.enableRegMultiChoice
|
||||
"
|
||||
rounded
|
||||
outlined
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<div v-if="!globalStore.serverError" class="q-ma-sm">
|
||||
|
||||
<div v-if="tools.isLogged() && (site.confpages.enableRegMultiChoice || (!site.confpages.enabledRegNeedTelegram))">
|
||||
<div v-if="tools.isLogged() && (site.confpages?.enableRegMultiChoice || (!site.confpages?.enabledRegNeedTelegram))">
|
||||
<CVerifyEmail v-if="!tools.isEmailVerified() && !tools.TelegVerificato()">
|
||||
</CVerifyEmail>
|
||||
</div>
|
||||
|
||||
@@ -155,15 +155,25 @@ export default defineComponent({
|
||||
if (isfinishLoading.value) {
|
||||
uploadStart()
|
||||
}
|
||||
document.addEventListener('swUpdated', updateAvailable, { once: true })
|
||||
navigator.serviceWorker.addEventListener('controllerchange', () => {
|
||||
// We'll also need to add 'refreshing' to our data originally set to false.
|
||||
if (refreshing.value)
|
||||
return
|
||||
refreshing.value = true
|
||||
// Here the actual reload of the page occurs
|
||||
window.location.reload()
|
||||
})
|
||||
try {
|
||||
if (window) {
|
||||
window.addEventListener('swUpdated', updateAvailable, { once: true })
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.addEventListener('controllerchange', () => {
|
||||
// We'll also need to add 'refreshing' to our data originally set to false.
|
||||
if (refreshing.value)
|
||||
return
|
||||
refreshing.value = true
|
||||
// Here the actual reload of the page occurs
|
||||
window.location.reload()
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Err', e.message)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const {
|
||||
@@ -312,7 +322,7 @@ export default defineComponent({
|
||||
|
||||
setshortlang(mylangtopass)
|
||||
|
||||
tools.setLangAtt(mylangtopass)
|
||||
tools.setLangAtt($q, $router, mylangtopass)
|
||||
|
||||
userStore.setLangServer()
|
||||
},
|
||||
@@ -373,11 +383,13 @@ export default defineComponent({
|
||||
|
||||
if (Platform.is.ios) {
|
||||
// Unregister Service Worker
|
||||
navigator.serviceWorker.getRegistrations().then((registrations) => {
|
||||
for (const registration of registrations) {
|
||||
registration.unregister()
|
||||
}
|
||||
})
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.getRegistrations().then((registrations) => {
|
||||
for (const registration of registrations) {
|
||||
registration.unregister()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// window.location.reload()
|
||||
} else {
|
||||
@@ -435,7 +447,7 @@ export default defineComponent({
|
||||
|
||||
mylang = toolsext.checkLangPassed($q, $router, mylang)
|
||||
|
||||
tools.setLangAtt(mylang)
|
||||
tools.setLangAtt($q, $router, mylang)
|
||||
setshortlang(mylang)
|
||||
}
|
||||
|
||||
|
||||
@@ -118,12 +118,7 @@
|
||||
<div v-if="site.confpages && site.confpages.showMsgs">
|
||||
<message-popover></message-popover>
|
||||
</div>
|
||||
<div
|
||||
v-if="
|
||||
(site.confpages && site.confpages.showCoins) ||
|
||||
site.confpages.showRIS
|
||||
"
|
||||
>
|
||||
<div v-if="site.confpages?.showCoins || site.confpages?.showRIS">
|
||||
<coinsPopover v-model="rightCoinsOpen"></coinsPopover>
|
||||
</div>
|
||||
<div v-if="site.confpages && site.confpages.showNotif">
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/* RISO APP
|
||||
*/
|
||||
import type {
|
||||
IListRoutes,
|
||||
ILang,
|
||||
|
||||
@@ -250,12 +250,12 @@ export interface IConfPages {
|
||||
showRegButton: boolean
|
||||
enableReg: boolean
|
||||
showNL: boolean
|
||||
sendNewsletter: boolean
|
||||
sendNewsletter?: boolean
|
||||
showMsgs: boolean
|
||||
showNotif: boolean
|
||||
showCoins: boolean
|
||||
showRIS: boolean
|
||||
showMenuCoins: boolean
|
||||
showRIS?: boolean
|
||||
showMenuCoins?: boolean
|
||||
showNameSurname: boolean
|
||||
showCompetenze: boolean
|
||||
showConnected: boolean
|
||||
@@ -264,16 +264,16 @@ export interface IConfPages {
|
||||
enableAI: boolean
|
||||
enableGroups: boolean
|
||||
enableCircuits: boolean
|
||||
enableProj: boolean
|
||||
enableTodos: boolean
|
||||
enableProj?: boolean
|
||||
enableTodos?: boolean
|
||||
enableRegByBot: boolean
|
||||
enableRegMultiChoice: boolean
|
||||
enableTokenExpired: boolean
|
||||
enableRegMultiChoice?: boolean
|
||||
enableTokenExpired?: boolean
|
||||
enableDebugOn: boolean
|
||||
enabledRegNeedTelegram: boolean
|
||||
enableGoods: boolean
|
||||
enableServices: boolean
|
||||
enableActivities: boolean
|
||||
enabledRegNeedTelegram?: boolean
|
||||
enableGoods?: boolean
|
||||
enableServices?: boolean
|
||||
enableActivities?: boolean
|
||||
enableHosps: boolean
|
||||
enableEvents: boolean
|
||||
showViewGroups: boolean
|
||||
|
||||
@@ -254,7 +254,7 @@ function getRoutesAd(site: ISites) {
|
||||
|
||||
*/
|
||||
{
|
||||
active: site.confpages.showMenuCoins,
|
||||
active: site.confpages?.showMenuCoins,
|
||||
path: '/admin/ris',
|
||||
order: 60,
|
||||
faIcon: 'fa fa-list-alt',
|
||||
@@ -352,7 +352,7 @@ function getRoutesAd(site: ISites) {
|
||||
onlyEditor: false
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.sendNewsletter,
|
||||
active: site.confpages && site.confpages?.sendNewsletter,
|
||||
path: '/admin/newsletter',
|
||||
order: 60,
|
||||
faIcon: 'fa fa-list-alt',
|
||||
@@ -565,7 +565,7 @@ function getRoutesAd(site: ISites) {
|
||||
separator: false
|
||||
},*/
|
||||
{
|
||||
active: site.confpages && site.confpages.enableReg && (!site.confpages.enabledRegNeedTelegram || site.confpages.enableRegMultiChoice),
|
||||
active: site.confpages && site.confpages?.enableReg && (!site.confpages?.enabledRegNeedTelegram || site.confpages?.enableRegMultiChoice),
|
||||
order: 1000,
|
||||
path: '/signup',
|
||||
materialIcon: 'how_to_reg',
|
||||
@@ -576,7 +576,7 @@ function getRoutesAd(site: ISites) {
|
||||
separator: false
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.enableReg && (!site.confpages.enabledRegNeedTelegram || site.confpages.enableRegMultiChoice),
|
||||
active: site.confpages && site.confpages?.enableReg && (!site.confpages?.enabledRegNeedTelegram || site.confpages?.enableRegMultiChoice),
|
||||
order: 1002,
|
||||
path: '/registrati',
|
||||
materialIcon: 'how_to_reg',
|
||||
|
||||
@@ -117,12 +117,14 @@ async function Request(type: string, path: string, payload: any, responsedata?:
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const baseURL = globalStore.getServerHost()
|
||||
|
||||
|
||||
try {
|
||||
if (tools.isDebug()) console.log('Axios Request', path, type, tools.notshowPwd(payload))
|
||||
let response: AxiosResponse
|
||||
const config: AxiosRequestConfig = {
|
||||
baseURL: globalStore.getServerHost(),
|
||||
baseURL,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'x-auth': userStore.x_auth_token,
|
||||
@@ -216,7 +218,7 @@ async function Request(type: string, path: string, payload: any, responsedata?:
|
||||
} else if (type === 'get' || type === 'delete') {
|
||||
// @ts-ignore
|
||||
response = await axiosInstance[type](path, {
|
||||
baseURL: globalStore.getServerHost(),
|
||||
baseURL,
|
||||
params: payload,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -230,7 +232,7 @@ async function Request(type: string, path: string, payload: any, responsedata?:
|
||||
} else if (type === 'postFormData') {
|
||||
console.log('postFormData', payload)
|
||||
response = await axiosInstance.post(path, payload, {
|
||||
baseURL: globalStore.getServerHost(),
|
||||
baseURL,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
'x-auth': userStore.x_auth_token,
|
||||
|
||||
@@ -111,24 +111,26 @@ async function sendSwMsgIfAvailable() {
|
||||
|
||||
const count = await checkPendingMsg()
|
||||
if (count) {
|
||||
return navigator.serviceWorker.ready
|
||||
.then(() => globalroutines('readall', 'swmsg')
|
||||
.then((arr_recmsg) => {
|
||||
if (arr_recmsg.length > 0) {
|
||||
console.log('---------------------- 2) navigator (2) .serviceWorker.ready')
|
||||
let promiseChain = Promise.resolve()
|
||||
if (useServiceWorker()) {
|
||||
return navigator.serviceWorker.ready
|
||||
.then(() => globalroutines('readall', 'swmsg')
|
||||
.then((arr_recmsg) => {
|
||||
if (arr_recmsg.length > 0) {
|
||||
console.log('---------------------- 2) navigator (2) .serviceWorker.ready')
|
||||
let promiseChain = Promise.resolve()
|
||||
|
||||
for (const rec of arr_recmsg) {
|
||||
// #Alternative to SyncManager
|
||||
promiseChain = promiseChain.then(() => Api.syncAlternative(rec._id)
|
||||
.then(() => {
|
||||
//++Todo conv: something = true
|
||||
}))
|
||||
for (const rec of arr_recmsg) {
|
||||
// #Alternative to SyncManager
|
||||
promiseChain = promiseChain.then(() => Api.syncAlternative(rec._id)
|
||||
.then(() => {
|
||||
//++Todo conv: something = true
|
||||
}))
|
||||
}
|
||||
return promiseChain
|
||||
}
|
||||
return promiseChain
|
||||
}
|
||||
return null
|
||||
}))
|
||||
return null
|
||||
}))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5406,7 +5406,7 @@ export const tools = {
|
||||
isVerified(): boolean {
|
||||
const globalStore = useGlobalStore()
|
||||
const site = globalStore.site
|
||||
if (site.confpages.enableRegMultiChoice) {
|
||||
if (site.confpages?.enableRegMultiChoice) {
|
||||
return this.TelegVerificato() || this.isEmailVerified()
|
||||
}
|
||||
|
||||
@@ -5441,7 +5441,7 @@ export const tools = {
|
||||
getLinkUserTelegramByUser(userprofile: IUserFields) {
|
||||
|
||||
if (userprofile) {
|
||||
if (userprofile.profile.username_telegram) {
|
||||
if (userprofile.profile?.username_telegram) {
|
||||
return 'https://t.me/' + userprofile.profile.username_telegram
|
||||
}
|
||||
} else {
|
||||
@@ -7960,7 +7960,11 @@ export const tools = {
|
||||
return config[name]*/
|
||||
|
||||
try {
|
||||
return name ? import.meta.env[name] : ''
|
||||
let myenv = name ? import.meta.env[name] : ''
|
||||
|
||||
// console.log('--- ENV: ', name, myenv)
|
||||
|
||||
return myenv
|
||||
} catch (e) {
|
||||
return ''
|
||||
}
|
||||
|
||||
@@ -721,11 +721,11 @@ export const useUserStore = defineStore('UserStore', {
|
||||
isUserOk(): boolean {
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
if (globalStore.site.confpages && globalStore.site.confpages.enableRegMultiChoice) {
|
||||
if (globalStore.site.confpages && globalStore.site.confpages?.enableRegMultiChoice) {
|
||||
return ((this.isTelegIdOk() && this.isUsernameTelegOk()) || this.my.verified_email!) && this.my.verified_by_aportador!
|
||||
} else {
|
||||
//if (tools.getAskToVerifyReg()) {
|
||||
if (globalStore.site.confpages && globalStore.site.confpages.enabledRegNeedTelegram) {
|
||||
if (globalStore.site.confpages && globalStore.site.confpages?.enabledRegNeedTelegram) {
|
||||
return this.isTelegIdOk() && this.my.verified_by_aportador! && this.isUsernameTelegOk()
|
||||
} else {
|
||||
return this.my.verified_email!
|
||||
@@ -735,7 +735,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
},
|
||||
|
||||
isUserWaitingVerifAportador(): boolean {
|
||||
return tools.isLogged() && !this.my.verified_by_aportador
|
||||
return tools.isLogged() && !this.my.verified_by_aportador && this.getAportadorSolidario()
|
||||
},
|
||||
|
||||
isOldRegNotFinished(): boolean {
|
||||
@@ -1557,7 +1557,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
if (globalStore.site.confpages && globalStore.site.confpages.enableTodos)
|
||||
await todos.dbLoad({ checkPending: true })
|
||||
|
||||
if (globalStore.site.confpages.enableProj)
|
||||
if (globalStore.site.confpages?.enableProj)
|
||||
await projects.dbLoad({ checkPending: true, onlyiffirsttime: true })
|
||||
|
||||
globalStore.addDynamicPages(router)
|
||||
@@ -1599,7 +1599,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
if (token) {
|
||||
this.setAuth(token, refreshToken)
|
||||
if (globalStore.site.confpages.enableTokenExpired) {
|
||||
if (globalStore.site.confpages?.enableTokenExpired) {
|
||||
if (token && refreshToken) {
|
||||
isLogged = true
|
||||
} else {
|
||||
@@ -2132,7 +2132,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
if (globalStore.site && (!globalStore.site.confpages.showCoins && !globalStore.site.confpages.showRIS)) {
|
||||
if (globalStore.site && (!globalStore.site.confpages?.showCoins && !globalStore.site.confpages?.showRIS)) {
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
@@ -864,36 +864,38 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
|
||||
let reg: any
|
||||
const mykey = import.meta.env.VITE_PUBLICKEY_PUSH
|
||||
return navigator.serviceWorker.ready
|
||||
.then((swreg) => {
|
||||
reg = swreg
|
||||
return swreg.pushManager.getSubscription()
|
||||
})
|
||||
.then((subscription) => {
|
||||
console.log('!!!!!!!! subscription = ', subscription)
|
||||
if (navigator.serviceWorker) {
|
||||
return navigator.serviceWorker.ready
|
||||
.then((swreg) => {
|
||||
reg = swreg
|
||||
return swreg.pushManager.getSubscription()
|
||||
})
|
||||
.then((subscription) => {
|
||||
console.log('!!!!!!!! subscription = ', subscription)
|
||||
|
||||
this.wasAlreadySubscribed = !(subscription === null)
|
||||
this.wasAlreadySubscribed = !(subscription === null)
|
||||
|
||||
if (this.wasAlreadySubscribed) {
|
||||
// console.log('User is already SAVED Subscribe on DB!')
|
||||
// return null
|
||||
return subscription
|
||||
} else {
|
||||
// Create a new subscription
|
||||
console.log('#### Create a new subscription !!!')
|
||||
const convertedVapidPublicKey = urlBase64ToUint8Array(mykey)
|
||||
return reg.pushManager.subscribe({
|
||||
userVisibleOnly: true,
|
||||
applicationServerKey: convertedVapidPublicKey,
|
||||
})
|
||||
}
|
||||
})
|
||||
.then((newSub) => {
|
||||
this.saveNewSubscriptionToServer(newSub)
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log('ERR createPushSubscription:', err)
|
||||
})
|
||||
if (this.wasAlreadySubscribed) {
|
||||
// console.log('User is already SAVED Subscribe on DB!')
|
||||
// return null
|
||||
return subscription
|
||||
} else {
|
||||
// Create a new subscription
|
||||
console.log('#### Create a new subscription !!!')
|
||||
const convertedVapidPublicKey = urlBase64ToUint8Array(mykey)
|
||||
return reg.pushManager.subscribe({
|
||||
userVisibleOnly: true,
|
||||
applicationServerKey: convertedVapidPublicKey,
|
||||
})
|
||||
}
|
||||
})
|
||||
.then((newSub) => {
|
||||
this.saveNewSubscriptionToServer(newSub)
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log('ERR createPushSubscription:', err)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// Calling the Server to Save in the MongoDB the Subscriber
|
||||
@@ -985,23 +987,25 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
if ('serviceWorker' in navigator) {
|
||||
// REMOVE ALL SUBSCRIPTION
|
||||
console.log('REMOVE ALL SUBSCRIPTION...')
|
||||
navigator.serviceWorker.ready
|
||||
.then((reg) => {
|
||||
console.log('... Ready')
|
||||
reg.pushManager.getSubscription().then((subscription) => {
|
||||
console.log(' Found Subscription...')
|
||||
if (subscription) {
|
||||
subscription.unsubscribe().then((successful) => {
|
||||
// You've successfully unsubscribed
|
||||
console.log('You\'ve successfully unsubscribed')
|
||||
}).catch((e) => {
|
||||
// Unsubscription failed
|
||||
})
|
||||
}
|
||||
if (navigator.serviceWorker) {
|
||||
navigator.serviceWorker.ready
|
||||
.then((reg) => {
|
||||
console.log('... Ready')
|
||||
reg.pushManager.getSubscription().then((subscription) => {
|
||||
console.log(' Found Subscription...')
|
||||
if (subscription) {
|
||||
subscription.unsubscribe().then((successful) => {
|
||||
// You've successfully unsubscribed
|
||||
console.log('You\'ve successfully unsubscribed')
|
||||
}).catch((e) => {
|
||||
// Unsubscription failed
|
||||
})
|
||||
}
|
||||
})
|
||||
}).catch((err) => {
|
||||
console.error('err ready service worker', err)
|
||||
})
|
||||
}).catch((err) => {
|
||||
console.error('err ready service worker', err)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1838,8 +1842,17 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
// const isLogged = localStorage.getItem(toolsext.localStorage.username)
|
||||
// console.log('isLogged', isLogged)
|
||||
|
||||
let myidapp = ''
|
||||
try {
|
||||
if (res.data?.myuser) {
|
||||
myidapp = res.data?.myuser?.idapp
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
||||
// calendarStore.editable = userStore.isAdmin || userStore.isManager || userStore.isFacilitatore
|
||||
if (res.data.myuser === null || (res.data.myuser.idapp !== tools.getEnv('VITE_APP_ID'))) {
|
||||
if (!myidapp || (myidapp !== tools.getEnv('VITE_APP_ID'))) {
|
||||
if (isLogged) {
|
||||
// Fai Logout
|
||||
// console.log('Fai Logout', 'isLogged', isLogged)
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
v-model="storeGasordine"
|
||||
:options="productStore.getGasordines()"
|
||||
:label="t('products.gasordine') + `:`"
|
||||
style="min-width: 300px"
|
||||
emit-value
|
||||
map-options
|
||||
></q-select>
|
||||
|
||||
@@ -182,7 +182,7 @@ export default defineComponent({
|
||||
function getCatProds() {
|
||||
const arrcat = productStore.getCatProds(shared_consts.PROD.BOTTEGA)
|
||||
|
||||
console.log('getCatProds', arrcat)
|
||||
// console.log('getCatProds', arrcat)
|
||||
let riscat: any = []
|
||||
if (arrcat && arrcat.length > 0) {
|
||||
riscat = [{ label: 'Tutti', value: '', icon: undefined, color: undefined }]
|
||||
|
||||
@@ -404,7 +404,7 @@
|
||||
userStore.my.profile.calc &&
|
||||
!circuit.circuitoIndipendente &&
|
||||
userStore.my.profile.calc.numGoodsAndServices <= 0 &&
|
||||
globalStore.site.confpages.showRIS &&
|
||||
globalStore.site.confpages?.showRIS &&
|
||||
userStore.IsMyCircuitByName(circuit.name)
|
||||
"
|
||||
rounded
|
||||
@@ -422,7 +422,7 @@
|
||||
</q-banner>
|
||||
<q-banner
|
||||
v-else-if="
|
||||
globalStore.site.confpages.showRIS &&
|
||||
globalStore.site.confpages?.showRIS &&
|
||||
!circuit.circuitoIndipendente &&
|
||||
userStore.my.profile.calc &&
|
||||
userStore.my.profile.calc.numGoodsAndServices <= 0 &&
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
getImgUser(): {{ getImgUser() }}
|
||||
<span v-if="!!tools.isLogged()">Logged: {{ tools.isLogged() }}</span> -
|
||||
<span v-if="!!tools.isUserOk()">UserOk: {{ tools.isUserOk() }}</span> -
|
||||
<span v-if="!!userStore.userprofile.date_reg">Date_Reg: {{ tools.getstrDate(userStore.userprofile.date_reg) }}</span> -
|
||||
<span>tools.isEmailVerified(): {{ tools.isEmailVerified() }}</span> -
|
||||
<span
|
||||
>tools.getLinkUserTelegramByUser():
|
||||
|
||||
Reference in New Issue
Block a user