/* * @Description: * @FilePath: \base-framework\apps\finance\src\main.ts * @Author: freud * @Date: 2023-06-06 14:37:45 * @LastEditTime: 2024-01-11 11:06:06 * @LastEditors: freud * @Reference: */ // 公共系统样式配置 import '@eciol/design'; // 子系统样式配置 import '@/design/index.less'; import 'ant-design-vue/dist/reset.css'; // Register icon sprite import 'virtual:svg-icons-register'; import 'uno.css'; import { setupGlobDirectives } from '@eciol/directives'; import { setGlobalOptions } from '@eciol/hooks'; import { setupI18n } from '@eciol/locale'; import { InitRouter, setupRouter, setupRouterGuard } from '@eciol/router'; import { setPackageVersion } from '@eciol/shared'; import { useStore } from '@eciol/store'; import { createApp } from 'vue'; import { registerGlobComp } from '@/components/registerGlobComp'; import { setupLocales } from '@/locales'; import { setupErrorHandle } from '@/logics/error-handle'; import { initAppConfigStore } from '@/logics/initAppConfig'; import { basicRoutes } from '@/router/routes'; import { version } from '../package.json'; import App from './App.vue'; async function bootstrap() { setPackageVersion(version); setupLocales(); const app = createApp(App); // Configure store // 配置 store useStore(app, { immediate: true }); // Multilingual configuration // 多语言配置 // Asynchronous case: language files may be obtained from the server side // 异步案例:语言文件可能从服务器端获取 await setupI18n(app); // Initialize internal system configuration // 初始化内部系统配置 initAppConfigStore(); // Register global components // 注册全局组件 registerGlobComp(app); const router = InitRouter(import.meta.env.VITE_PUBLIC_PATH, { routes: basicRoutes, }); // Configure routing // 配置路由 setupRouter(app); // router-guard // 路由守卫 setupRouterGuard(router); // Register global directive // 注册全局指令 setupGlobDirectives(app); // Configure global error handling // 配置全局错误处理 setupErrorHandle(app); // https://next.router.vuejs.org/api/#isready // await router.isReady(); // vue-request global settings setGlobalOptions({ manual: true, }); app.mount('#app'); } bootstrap();