//iconfont import '@/assets/iconfont/iconfont.css' import './assets/style/main.less' import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import router from './router' // import 'video.js/dist/video-js.css' // css 一定要引入 //引入vxe-table import VxeUIAll from 'vxe-pc-ui' import 'vxe-pc-ui/lib/style.css' import VxeUITable from 'vxe-table' import 'vxe-table/lib/style.css' import { useSettingStore } from '@/stores/setting.js' import { qiankunWindow, renderWithQiankun } from 'vite-plugin-qiankun/dist/helper' import { RouterLink, RouterView, useRoute } from 'vue-router' // 创建实例 let app const setupAll = async (props) => { const { container } = props app = createApp(App) app.use(createPinia()) app.use(router) app.use(VxeUIAll) app.use(VxeUITable) app.mount(container instanceof Element ? container.querySelector('#airapp') : container) app.config.warnHandler = () => null } //qiankun微前端 if (!qiankunWindow.__POWERED_BY_QIANKUN__) { const { VITE_APP_AUTHORITY, VITE_APP_CLIENT_ID } = import.meta.env const queryParams = new URLSearchParams(window.location.search) const access_token = queryParams.get('access_token') const token_type = queryParams.get('token_type') const airportId = queryParams.get('airportId') let oidcSession = { access_token: access_token, token_type: token_type, } oidcSession = JSON.stringify(oidcSession) window.iframe_AirPortID = airportId sessionStorage.setItem(`oidc.user:${VITE_APP_AUTHORITY}:${VITE_APP_CLIENT_ID}`, oidcSession) let access_token_str = `Bearer ${access_token}` //设置token localStorage.setItem('access_token', access_token_str) sessionStorage.setItem('access_token', access_token_str) setupAll({ container: '#airapp' }) //监听消息事件 // window.addEventListener( // 'message', // (event) => { // if (event.data) { // let mdata = JSON.parse(event.data) // // console.log(mdata) // window.iframe_AirPortID = mdata.airportId // let oidcSession = JSON.stringify(mdata.userInfo) // sessionStorage.setItem(`oidc.user:${VITE_APP_AUTHORITY}:${VITE_APP_CLIENT_ID}`, oidcSession) // // let userInfo = JSON.parse(oidcSession) // const access_token = `Bearer ${mdata.userInfo.access_token}` // //设置token // localStorage.setItem('access_token', access_token) // sessionStorage.setItem('access_token', access_token) // //测试时候用的代码 // setupAll({ container: '#airapp' }) // } // }, // false, // ) } else { renderWithQiankun({ mount(props) { console.log('--进入子应用') setupAll(props) useSettingStore().systemSetting = props.setting //获取主应用的token // userStore.setToken(props.token) //强制刷新一次页面 // let mtoken = window.localStorage.getItem('mtoken') // if (!mtoken) { // window.localStorage.setItem('mtoken', props.token) // //刷新页面 // // window.location.reload() // } }, bootstrap() { console.log('--bootstrap') }, update() { console.log('--update') }, unmount() { window.localStorage.removeItem('mtoken') app.unmount() console.log('--离开子应用') }, }) }