96 lines
2.7 KiB
TypeScript
96 lines
2.7 KiB
TypeScript
import { createApp } from 'vue'
|
|
import App from './App.vue'
|
|
import { basicMain } from '@core/basicMain'
|
|
import VueApexCharts from 'vue3-apexcharts'
|
|
//todo use custom style and use core style added
|
|
import '@/assets/style.less'
|
|
//import './index.css'
|
|
import { getToken } from '@/utils'
|
|
//import { useStaticApiListsStore } from '@/store/staticApisStore'
|
|
//import { setupPinia } from '@core/plugins/pinia'
|
|
import { setupRoutes } from '@/router'
|
|
//import { useRouterStore } from '@core/stores/router'
|
|
//import { resetRouter } from '@core/router'
|
|
import { useUserStore } from '@/store/userStore'
|
|
import { setupPinia } from '@core/plugins/pinia'
|
|
import { initStoreModeFromSettings } from '@/utils/config'
|
|
|
|
const init = async () => {
|
|
const app = createApp(App)
|
|
app.use(VueApexCharts)
|
|
setupPinia(app)
|
|
try {
|
|
/*if (isToken()) {
|
|
await userStore.getMe()
|
|
setupRoutes()
|
|
}*/
|
|
const userStore = useUserStore()
|
|
const token = getToken()
|
|
if (token) {
|
|
await userStore.getMyInfo()
|
|
await initStoreModeFromSettings()
|
|
setupRoutes(['*'], undefined, userStore.userInfo?.mobile)
|
|
const { refreshAppModeMenu } = await import('@/router')
|
|
refreshAppModeMenu(userStore.userInfo?.mobile)
|
|
//setupRoutes(['project'])
|
|
/*router.removeRoute('usersMain')
|
|
router.removeRoute('users')*/
|
|
//debugger
|
|
//resetRouter(app, router)
|
|
} else setupRoutes(['login'])
|
|
|
|
/* if (userStore.isAdmin) {
|
|
setupRoutes(['*'])
|
|
} else {
|
|
setupRoutes(userStore.permissions)
|
|
}*/
|
|
|
|
//setupRoutes()
|
|
const { router } = basicMain(app)
|
|
//console.log('aaaa', router)
|
|
//console.log('this is route', router.getRoutes())
|
|
//console.log('this is store', useRouterStore().routes)
|
|
//const _temp = useRouter()
|
|
//console.log('this is temp', _temp)
|
|
//resetRouter(app, router)
|
|
router.beforeEach((to, from, next) => {
|
|
const token = getToken()
|
|
if (token) {
|
|
if (to.name == 'login') {
|
|
return next({ name: 'dashboard' })
|
|
}
|
|
return next()
|
|
} else {
|
|
if (['login', '404'].includes(to.name as string)) {
|
|
return next()
|
|
}
|
|
// console.log('salam')
|
|
return next({ name: 'login' })
|
|
}
|
|
})
|
|
//console.log('this is tes final', router.getRoutes())
|
|
//console.log('this is tessssssss')
|
|
} catch (e) {
|
|
console.error(e)
|
|
} finally {
|
|
//setupRoutes()
|
|
//app.use(router)
|
|
//router.hasRoute()
|
|
|
|
//app.use(router)
|
|
|
|
app.mount('#app')
|
|
}
|
|
}
|
|
|
|
init()
|
|
|
|
/*const store = useStaticApiListsStore()
|
|
const token = getToken()
|
|
if (token) store.getMyInfo()*/
|
|
/*
|
|
console.log('thisi s router', router.getRoutes())
|
|
router.removeRoute('customers')
|
|
*/
|
|
//app.mount('#app')
|