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