/*
 * @Author: wfl
 * @LastEditors: wfl
 * @description:
 * @updateInfo:
 * @Date: 2022-10-26 13:47:49
 * @LastEditTime: 2022-10-26 13:59:16
 */
import { registerMicroApps, start } from 'qiankun';

export const regisMicro = () => {
  if (import.meta.env.VITE_GLOBAL_MICRO_APP) {
    // 注册微应用
    registerMicroApps(
      [
        {
          // 必须与微应用注册名字相同
          name: 'microApp',
          // 入口路径，开发时为微应用所启本地服务，上线时为微应用线上路径
          entry: import.meta.env.DEV ? 'http://192.168.1.112:3110' : '/micro-app',
          // app.vue 配置的挂载容器 id
          container: '#micro-app',
          // 当访问路由为 home 时加载微应用
          activeRule: '/#/micro-app',
          props: {
            // 主应用向微应用传递参数
          },
        },
      ],
      {
        // 生命周期钩子函数
        beforeLoad: (app) => {
          console.log('beforeLoad', app);
          return Promise.resolve();
        },
        beforeMount: (app) => {
          console.log('beforeMount ', app);
          return Promise.resolve();
        },
        afterMount: (app) => {
          console.log('afterMount', app);
          return Promise.resolve();
        },
        beforeUnmount: (app) => {
          console.log('beforeUnmount ', app);
          return Promise.resolve();
        },
        afterUnmount: (app) => {
          console.log('afterUnmount', app);
          return Promise.resolve();
        },
      },
    );
    // 启动 qiankun
    start();
  }
}
