import { createApp } from "vue"; import App from "./App.vue"; import { setupStore } from "./store"; //使用了Top await import { setupRouter } from "./router"; import { setupI18n } from "./locales"; import { setupAntd, setupAssets, setupCustomComponents, setupVuePhoto, } from "./plugins"; const app = createApp(App); function setupPlugins() { // 注册全局常用的ant-design-vue组件 setupAntd(app); // 注册全局常用的VuePhoto组件 setupVuePhoto(app); // 引入静态资源 setupAssets(); // 注册全局自定义组件,如: setupCustomComponents(app); } async function setupApp() { // 挂载pinia状态管理 setupStore(app); // 挂载路由 await setupRouter(app); // 初始化 i18n await setupI18n(app); setupShareImage(); app.mount("#app"); } /** * 分享卡片(微信收藏/转发等)的缩略图要求绝对地址,相对路径会被忽略, * 这里按当前域名把 index.html 里的 og:image 补全。 */ function setupShareImage() { const meta = document.querySelector('meta[property="og:image"]'); const content = meta?.getAttribute("content"); if (meta && content && !/^https?:\/\//i.test(content)) { meta.setAttribute("content", new URL(content, location.origin).href); } } setupPlugins(); setupApp();