1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| function onMessage (pageId, arg) {
| pageId = parseInt(pageId)
| const page = getCurrentPages(true).find(page => page.$page.id === pageId)
| if (!page) {
| return
| }
| if (!page.$page.meta.isNVue) {
| const target = page.$vm._$vd.elements.find(target => target.type === 'web-view' && target.events.message)
| if (!target) {
| return
| }
| target.dispatchEvent('message', {
| type: 'message',
| target: Object.create(null),
| currentTarget: Object.create(null),
| timeStamp: Date.now(),
| detail: {
| data: [arg]
| }
| })
| }
| }
|
| export default function onWebInvokeAppService ({
| name,
| arg
| }, pageIds) {
| if (name === 'postMessage') {
| onMessage(pageIds[0], arg)
| } else {
| uni[name](arg)
| }
| }
|
|