53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
import { RouteConfig, Route, RouteRecord } from 'vue-router/types'
|
|
|
|
import { tools } from '@src/store/Modules/tools'
|
|
import { toolsext } from '@src/store/Modules/toolsext'
|
|
|
|
import auth from '../middleware/auth'
|
|
import { GlobalStore, Projects, Todos, UserStore } from '@store'
|
|
import { RouteNames } from '@src/router/route-names'
|
|
import { IListRoutes, IMenuList } from '@src/model'
|
|
import { static_data } from '@src/db/static_data'
|
|
|
|
interface IMyMeta {
|
|
title?: string,
|
|
headerShadow?: boolean,
|
|
contentProp?: boolean,
|
|
transparent?: boolean,
|
|
isModal?: boolean,
|
|
requiresAuth?: boolean,
|
|
isTab?: boolean,
|
|
noAuth?: boolean,
|
|
asyncData?: (to?: IMyRoute | IMyRouteRecord) => Promise<{title?: string} | void>,
|
|
isAuthorized?: (to?: any) => boolean
|
|
middleware?: any[]
|
|
}
|
|
|
|
export interface IMyRoute extends Route {
|
|
meta: IMyMeta,
|
|
matched: IMyRouteRecord[]
|
|
}
|
|
|
|
export interface IMyRouteRecord extends RouteRecord {
|
|
meta: IMyMeta,
|
|
}
|
|
|
|
export interface IMyRouteConfig extends RouteConfig {
|
|
children?: IMyRouteConfig[],
|
|
meta?: IMyMeta
|
|
}
|
|
|
|
export const cfgrouter = {
|
|
|
|
getmenu() {
|
|
|
|
const arrroutes: IListRoutes[] = []
|
|
|
|
for (const route of static_data.routes) {
|
|
tools.addRoute(arrroutes, route)
|
|
}
|
|
|
|
return arrroutes
|
|
}
|
|
}
|