dengzedong
2024-10-18 8d7d29c212001f44c00230b8491a441c241eeade
src/main.ts
@@ -46,9 +46,15 @@
const { setupApp } = WujieVue
import { micros, getUrl } from '@/utils/micors'
import hostMap from "@/utils/hostMap";
import { micros } from '@/utils/micors'
import lifecycles from '@/utils/lifecycles' // 生命周期函数
// import credentialsFetch from "@/utils/fetch";
const isProduction = process.env.NODE_ENV === "production";
// 创建实例
const setupAll = async () => {
@@ -79,6 +85,13 @@
setupAll()
const degrade = window.localStorage.getItem("degrade") === "true" || !window.Proxy || !window.CustomElementRegistry;
const props = {
  jump: (name) => {
    router.push({ name });
  },
};
// 模拟接口查询,实现动动态子应用加载与动态路由添加
const setMiro = () =>
  new Promise((resolve) => {
@@ -89,12 +102,27 @@
        component: () => import(`@/views/micro/index.vue`)
      }
      router.addRoute('home', obj)
      const attrs = isProduction ? { src: hostMap("//localhost/") } : {};
      setupApp({
        name: value.name,
        url: getUrl(value.name, micros),
        name: "fast",
        url: hostMap("//localhost:90/"),
        attrs,
        exec: true,
        ...lifecycles
      })
        alive: true,
        plugins: [{ cssExcludes: ["https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"] }],
        props,
        // 引入了的第三方样式不需要添加credentials
        // fetch: (url, options) =>
        //   url.includes(hostMap("//localhost:90/")) ? credentialsFetch(url, options) : window.fetch(url, options),
        degrade,
        ...lifecycles,
      });
      // setupApp({
      //   name: value.name,
      //   url: getUrl(value.name, micros),
      //   exec: true,
      //   ...lifecycles
      // })
    }
    resolve(true)
  })