tuoheng_virtualAirPlan_web/src/main.js

113 lines
3.3 KiB
JavaScript

//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('--离开子应用')
},
})
}