tuoheng_virtualAirPlan_web/src/main.js

94 lines
2.6 KiB
JavaScript
Raw Normal View History

2025-08-22 09:43:16 +08:00
//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'
// 创建实例
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
2025-08-27 09:44:46 +08:00
// console.log('.......................', import.meta.env)
2025-08-22 09:43:16 +08:00
2025-08-26 19:59:05 +08:00
//监听消息事件
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)
2025-08-22 09:43:16 +08:00
2025-08-26 19:59:05 +08:00
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,
)
2025-08-22 09:43:16 +08:00
} 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('--离开子应用')
},
})
}