张含笑
2025-10-15 d73e13e5bfbec03f0b4a09f7b07735722e1d45df
src/components/WebViewPlus.vue
@@ -8,19 +8,29 @@
const emit = defineEmits(['webMessage'])
function viewMessage(event) {
  messageFun({data: {data: {arg: event.detail.data[0]}}})
  messageFun({
    data: {
      data: {arg: event.detail.data[0]},
      type: 'WEB_INVOKE_APPSERVICE'
    },
  })
}
// WEB_INVOKE_APPSERVICE
function messageFun(e) {
  emit('webMessage', e.data.data.arg)
  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(() => {
  console.log('show')
  window.addEventListener('message', messageFun)
})
onHide(() => {
  console.log('hide')
  window.removeEventListener('message', messageFun)
})