Merge pull request #9538 from dataease/pr@dev-v2_bug_fix

fix(嵌入式): 嵌入式场景下仪表板切换到移动端无法正常显示
This commit is contained in:
dataeaseShu 2024-05-08 16:36:06 +08:00 committed by GitHub
commit 4be7208261
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 2 additions and 28 deletions

View File

@ -17,7 +17,7 @@ const { start, done } = useNProgress()
const interactiveStore = interactiveStoreWithOut()
const { loadStart, loadDone } = usePageLoading()
const whiteList = ['/login'] // 不重定向白名单
const whiteList = ['/login', '/panel'] // 不重定向白名单
router.beforeEach(async (to, _, next) => {
start()

View File

@ -1,6 +1,5 @@
<script lang="ts" setup>
import { ref, onMounted, unref, onBeforeUnmount, computed } from 'vue'
import { XpackComponent } from '@/components/plugin'
import { ElMessage, ElMessageBox } from 'element-plus-secondary'
import MobileBackgroundSelector from './MobileBackgroundSelector.vue'
import ComponentWrapper from '@/components/data-visualization/canvas/ComponentWrapper.vue'
@ -47,17 +46,6 @@ const iframeSrc = computed(() => {
? `${embeddedStore.baseUrl}mobile.html#/panel`
: './mobile.html#/panel'
})
const openHandler = ref(null)
const initOpenHandler = newWindow => {
if (openHandler?.value && !!embeddedStore.baseUrl) {
const pm = {
methodName: 'initOpenHandler',
args: newWindow
}
openHandler.value.invokeMethod(pm)
}
}
const handleLoad = () => {
mobileStatusChange(
@ -146,7 +134,6 @@ const setMobileStyle = debounce(() => {
transformOrigin: '0 0'
}
}, 100)
const newWindow = ref()
onMounted(() => {
window.addEventListener('message', hanedleMessage)
window.addEventListener('resize', setMobileStyle)
@ -158,9 +145,6 @@ onMounted(() => {
}
})
setMobileStyle()
setTimeout(() => {
initOpenHandler(newWindow.value)
}, 300)
})
onBeforeUnmount(() => {
@ -230,7 +214,7 @@ const save = () => {
{{ dvInfo.name }}
</div>
<div class="config-panel-content" v-loading="mobileLoading">
<iframe ref="newWindow" :src="iframeSrc" frameborder="0" width="375" />
<iframe :src="iframeSrc" frameborder="0" width="375" />
</div>
<div class="config-panel-foot"></div>
</div>
@ -274,7 +258,6 @@ const save = () => {
</div>
</div>
</div>
<XpackComponent ref="openHandler" jsname="L2NvbXBvbmVudC9lbWJlZGRlZC1pZnJhbWUvT3BlbkhhbmRsZXI=" />
</template>
<style lang="less" scoped>

View File

@ -1,7 +1,6 @@
<script lang="ts" setup>
import { onBeforeMount, ref, onBeforeUnmount } from 'vue'
import { useEmitt } from '@/hooks/web/useEmitt'
import { XpackComponent } from '@/components/plugin'
import eventBus from '@/utils/eventBus'
import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain'
import DePreviewMobile from './MobileInPc.vue'
@ -90,10 +89,7 @@ const hanedleMessage = event => {
}
}
let p = null
const XpackLoaded = () => p(true)
onBeforeMount(async () => {
await new Promise(r => (p = r))
window.top.postMessage({ type: 'panelInit', value: true }, '*')
window.addEventListener('message', hanedleMessage)
useEmitt({
@ -120,11 +116,6 @@ onBeforeUnmount(() => {
<div class="panel-mobile">
<de-preview-mobile v-if="panelInit"></de-preview-mobile>
</div>
<XpackComponent
jsname="L2NvbXBvbmVudC9lbWJlZGRlZC1pZnJhbWUvTmV3V2luZG93SGFuZGxlcg=="
@loaded="XpackLoaded"
@load-fail="XpackLoaded"
/>
</template>
<style lang="less" scoped>