64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
/**
|
||
* @Description:
|
||
* @Author: zenghua.wang
|
||
* @Date: 2024-01-24 17:14:41
|
||
* @LastEditors: zenghua.wang
|
||
* @LastEditTime: 2024-03-22 10:11:34
|
||
*/
|
||
import 'virtual:svg-icons-register';
|
||
import { createApp } from 'vue';
|
||
import { renderWithQiankun, qiankunWindow } from 'vite-plugin-qiankun/dist/helper';
|
||
import App from './App.vue';
|
||
import router from './router';
|
||
import pinia from './store';
|
||
import ElementPlus from 'element-plus';
|
||
import 'element-plus/dist/index.css';
|
||
import Avue from '@smallwei/avue';
|
||
import '@smallwei/avue/lib/index.css';
|
||
import { registerDirective } from './directives';
|
||
import { registerGlobalComponents } from './plugins/globalComponents';
|
||
import { registerElIcons } from './plugins/icon';
|
||
import './utils/permission';
|
||
import VueAMap, { initAMapApiLoader } from '@vuemap/vue-amap';
|
||
initAMapApiLoader({
|
||
key: 'c843a50db7157faf295c6fa37c48719f',
|
||
securityJsCode: 'f09302d3ed65110614bdb26e44717ddf', // 新版key需要配合安全密钥使用
|
||
//Loca:{
|
||
// version: '2.0.0'
|
||
//} // 如果需要使用loca组件库,需要加载Loca
|
||
});
|
||
const registerMicroApps = () => {
|
||
let app = null;
|
||
const initQiankun = () => {
|
||
renderWithQiankun({
|
||
bootstrap() {
|
||
console.log('bootstrap');
|
||
},
|
||
mount(props) {
|
||
console.log('mount', props);
|
||
render(props);
|
||
},
|
||
update(props) {
|
||
console.log('update', props);
|
||
},
|
||
unmount(props) {
|
||
console.log('unmount', props);
|
||
app = null;
|
||
},
|
||
});
|
||
};
|
||
const render = async ({ container }) => {
|
||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||
app = createApp(App);
|
||
app.use(pinia).use(router).use(ElementPlus).use(Avue).use(VueAMap);
|
||
registerGlobalComponents(app);
|
||
registerElIcons(app);
|
||
registerDirective(app);
|
||
registerMicroApps(app);
|
||
app.mount(container.querySelector('#sub-app') || '#sub-app');
|
||
};
|
||
qiankunWindow.__POWERED_BY_QIANKUN__ ? initQiankun() : render({});
|
||
};
|
||
|
||
registerMicroApps();
|