<template>
|
<web-view :src="src" @message="viewMessage"/>
|
</template>
|
|
<script setup>
|
|
const src = defineModel('src')
|
const emit = defineEmits(['webMessage'])
|
|
function viewMessage(event) {
|
messageFun({
|
data: {data: {arg: event.detail.data[0]}},
|
type: 'WEB_INVOKE_APPSERVICE'
|
})
|
}
|
// WEB_INVOKE_APPSERVICE
|
function messageFun(e) {
|
if(e.data.type === 'WEB_INVOKE_APPSERVICE'){
|
if (e.data.data.arg.type === 'tokenExpired'){
|
return uni.redirectTo({
|
url: '/pages/login/index'
|
})
|
}
|
emit('webMessage', e.data.data.arg)
|
}
|
}
|
|
onShow(() => {
|
window.addEventListener('message', messageFun)
|
})
|
onHide(() => {
|
window.removeEventListener('message', messageFun)
|
})
|
|
|
</script>
|
|
<style scoped lang="scss">
|
|
</style>
|