| 123456789101112131415161718192021222324252627282930 |
- import router from '@/router';
- import pinia, { useFlowStore } from '@/stores';
- const components = import.meta.glob('@/pages/**/*.vue');
- export default function launchLoader(container = '#app'): DEV.Loader {
- return async function (app, config) {
- let currentRoute = router.currentRoute.value.fullPath;
- if (currentRoute === '/') currentRoute = '/screen';
- if (config.image.com) {
- const component = components[`/src/pages/${config.image.com}.vue`];
- if (!component) throw { message: `配置 ${config.image.com} 组件未找到` };
- const path = '/screen';
- router.addRoute({
- name: 'screen',
- path,
- component,
- meta: { scan: true },
- });
- if (currentRoute === path) await router.replace(path);
- }
- if (config.image.page && config.image.page !== currentRoute) await router.replace(config.image.page);
- useFlowStore().$init(config.flowConfig)
- app.mount(container);
- };
- }
|