1404/11/04- first
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
//import { routes } from '@/core/router/routes'
|
||||
//import router from '@/core/router/index'
|
||||
import { useRouterStore } from '@core/stores/router'
|
||||
import type { Router, RouteRecordRaw } from 'vue-router'
|
||||
//const _router = useRouter()
|
||||
//import { cloneDeep } from 'lodash'
|
||||
|
||||
export function setupRoutes(permissionsKeys: string[], router?: Router) {
|
||||
//console.log('this is permission', permissionsKeys)
|
||||
//console.log('this is use router', _router)
|
||||
console.log('salammm')
|
||||
const routerStore = useRouterStore()
|
||||
const modules = import.meta.glob<any>('./routes/*.ts', { eager: true })
|
||||
console.log(modules)
|
||||
function walkInRoutes(routes: RouteRecordRaw) {
|
||||
if (!routes.children) return
|
||||
routes.children = routes?.children?.filter(
|
||||
(item) =>
|
||||
!item.meta?.permissionsKey ||
|
||||
(item.meta?.permissionsKey && permissionsKeys.includes(item.meta?.permissionsKey))
|
||||
)
|
||||
for (const route of routes.children) {
|
||||
/*if (!route.children || (route.children && route.children.length == 0)) {
|
||||
//path.push(route.name)
|
||||
//return
|
||||
continue
|
||||
}*/
|
||||
/*if (routes.children) {
|
||||
}*/
|
||||
walkInRoutes(route)
|
||||
/*if (route.children && route.children.length > 0) {
|
||||
path.push(route.name)
|
||||
const res = walkInRoutes(route.children)
|
||||
if (!res) {
|
||||
path.pop()
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
}*/
|
||||
}
|
||||
return
|
||||
}
|
||||
routerStore.routes = [
|
||||
{
|
||||
path: '/:pathMatch(.*)*',
|
||||
name: 'notFound',
|
||||
component: () => import('@/core/pages/404.vue'),
|
||||
meta: {
|
||||
hideMenu: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'factor',
|
||||
path: '/withdraw/factor/:id',
|
||||
component: () => import('@/pages/menuPages/withdraw/factor/index.vue'),
|
||||
meta: {
|
||||
permissionsKey: 'factor',
|
||||
hideMenu: true
|
||||
}
|
||||
},
|
||||
]
|
||||
for (const modulesKey in modules) {
|
||||
// console.log(modulesKey)
|
||||
const route: RouteRecordRaw | undefined = modules[modulesKey].default ?? undefined
|
||||
if (route) {
|
||||
if (permissionsKeys.length && permissionsKeys[0] == '*') {
|
||||
routerStore.routes.push(route)
|
||||
if (router) {
|
||||
router.addRoute(route)
|
||||
}
|
||||
} else {
|
||||
if (
|
||||
!route?.meta?.permissionsKey ||
|
||||
(route.meta.permissionsKey && permissionsKeys.includes(route.meta.permissionsKey))
|
||||
) {
|
||||
walkInRoutes(route)
|
||||
routerStore.routes.push(route)
|
||||
if (router) {
|
||||
router.addRoute(route)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// console.log(router)
|
||||
//console.log('this is store', routerStore.routes)
|
||||
/* if (router) {
|
||||
console.log('this is router routes', router.getRoutes())
|
||||
}*/
|
||||
}
|
||||
Reference in New Issue
Block a user