mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-08-17 10:18:47 +00:00
20 lines
651 B
Vue
20 lines
651 B
Vue
export type DynamicViewsRecord = Record<string, () => Promise<Recordable>>;
|
||
|
||
/** 已注册模块的动态页面 */
|
||
export const packageViews: DynamicViewsRecord = {};
|
||
|
||
/**
|
||
* 注册动态路由页面
|
||
* @param getViews 获取该模块下所有页面的方法
|
||
*/
|
||
export function registerDynamicRouter(getViews: () => DynamicViewsRecord) {
|
||
if (typeof getViews === 'function') {
|
||
let dynamicViews = getViews();
|
||
Object.keys(dynamicViews).forEach((key) => {
|
||
// 处理动态页面的key,使其可以让路由识别
|
||
let newKey = key.replace('./src/views', '../../views');
|
||
packageViews[newKey] = dynamicViews[key];
|
||
});
|
||
}
|
||
}
|