import type { App } from 'vue' import type { Router, RouteRecordRaw } from 'vue-router' export interface PageType { component: any meta?: RouteRecordRaw['meta'] name?: string } export interface ModuleOptions { /** * 初始化模块配置 * @param app */ app?: (app: App) => Promise | void /** * 静态的路由配置信息 */ routes?: RouteRecordRaw[] | ((routes: RouteRecordRaw[]) => RouteRecordRaw[]) /** * 动态路由页面配置 */ pages?: Record /** * 给用户router的实例,进行操作 */ router?: (router: Router) => Promise | void /** * 这里的setup就是rootComponent的setup */ setup?: () => void } export function defineModule(options: ModuleOptions) { return options }