@dcloudio/uni-app-plus 3.0.0-alpha-3000020210914001 → 3.0.0-alpha-3020920210927001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/automator.js CHANGED
@@ -1,478 +1,308 @@
1
- var hasOwnProperty = Object.prototype.hasOwnProperty
2
- var hasOwn = function (val, key) {
3
- return hasOwnProperty.call(val, key)
4
- }
5
- var isUndef = function (v) {
6
- return v === undefined || v === null
7
- }
8
- var isArray = Array.isArray
9
- var isPromise = function (obj) {
1
+ var e,
2
+ t = Object.prototype.hasOwnProperty,
3
+ n = function (e) {
4
+ return null == e
5
+ },
6
+ r = Array.isArray,
7
+ o = function (e) {
8
+ var t = Object.create(null)
9
+ return function (n) {
10
+ return t[n] || (t[n] = e(n))
11
+ }
12
+ },
13
+ u = /\B([A-Z])/g,
14
+ i = o(function (e) {
15
+ return e.replace(u, '-$1').toLowerCase()
16
+ }),
17
+ c = /-(\w)/g,
18
+ a = o(function (e) {
19
+ return e.replace(c, function (e, t) {
20
+ return t ? t.toUpperCase() : ''
21
+ })
22
+ }),
23
+ s = o(function (e) {
24
+ return e.charAt(0).toUpperCase() + e.slice(1)
25
+ }),
26
+ f =
27
+ /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g
28
+ function l(e, n) {
29
+ if (r(e)) return e
30
+ if (n && ((o = n), (u = e), t.call(o, u))) return [e]
31
+ var o,
32
+ u,
33
+ i = []
10
34
  return (
11
- !!obj &&
12
- (typeof obj === 'object' || typeof obj === 'function') &&
13
- typeof obj.then === 'function'
35
+ e.replace(f, function (e, t, n, r) {
36
+ return i.push(n ? r.replace(/\\(\\)?/g, '$1') : t || e), r
37
+ }),
38
+ i
14
39
  )
15
40
  }
16
- var cacheStringFunction = function (fn) {
17
- var cache = Object.create(null)
18
- return function (str) {
19
- var hit = cache[str]
20
- return hit || (cache[str] = fn(str))
21
- }
22
- }
23
- var hyphenateRE = /\B([A-Z])/g
24
- var hyphenate = cacheStringFunction(function (str) {
25
- return str.replace(hyphenateRE, '-$1').toLowerCase()
26
- })
27
- var camelizeRE = /-(\w)/g
28
- var camelize = cacheStringFunction(function (str) {
29
- return str.replace(camelizeRE, function (_, c) {
30
- return c ? c.toUpperCase() : ''
31
- })
32
- })
33
- var capitalize = cacheStringFunction(function (str) {
34
- return str.charAt(0).toUpperCase() + str.slice(1)
35
- })
36
- var PATH_RE =
37
- /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g
38
- function getPaths(path, data) {
39
- if (isArray(path)) {
40
- return path
41
- }
42
- if (data && hasOwn(data, path)) {
43
- return [path]
44
- }
45
- var res = []
46
- path.replace(PATH_RE, function (match, p1, offset, string) {
47
- res.push(offset ? string.replace(/\\(\\)?/g, '$1') : p1 || match)
48
- return string
49
- })
50
- return res
51
- }
52
- function getDataByPath(data, path) {
53
- var paths = getPaths(path, data)
54
- var dataPath
55
- for (dataPath = paths.shift(); !isUndef(dataPath); ) {
56
- if (null == (data = data[dataPath])) {
57
- return
58
- }
59
- dataPath = paths.shift()
60
- }
61
- return data
62
- }
63
- function findParent(vm) {
64
- var parent = vm.$parent
65
- while (parent) {
66
- if (parent._$id) {
67
- return parent
68
- }
69
- parent = parent.$parent
70
- }
71
- }
72
- function getVmNodeId(vm) {
73
- //@ts-ignore
74
- {
75
- if (vm._$weex) {
76
- return vm._uid
77
- }
78
- if (vm._$id) {
79
- return vm._$id
80
- }
81
- var parent_1 = findParent(vm)
82
- if (!vm.$parent) {
83
- return '-1'
84
- }
85
- var vnode = vm.$vnode
86
- var context = vnode.context
87
- // slot 内的组件,需要补充 context 的 id,否则可能与内部组件索引值一致,导致 id 冲突
88
- if (context && context !== parent_1 && context._$id) {
89
- return context._$id + ';' + parent_1._$id + ',' + vnode.data.attrs._i
90
- }
91
- return parent_1._$id + ',' + vnode.data.attrs._i
92
- }
93
- }
94
-
95
- function getPageId(page) {
96
- if (page.__wxWebviewId__) {
97
- //mp-weixin
98
- return page.__wxWebviewId__
99
- }
100
- if (page.privateProperties) {
101
- //mp-baidu
102
- return page.privateProperties.slaveId
103
- }
104
- if (page.$page) {
105
- //h5 and app-plus
106
- return page.$page.id
107
- }
108
- }
109
- function getPagePath(page) {
110
- return page.route || page.uri
111
- }
112
- function getPageQuery(page) {
113
- return page.options || (page.$page && page.$page.options) || {}
114
- }
115
- function parsePage(page) {
116
- return {
117
- id: getPageId(page),
118
- path: getPagePath(page),
119
- query: getPageQuery(page),
120
- }
121
- }
122
- function getPageById(id) {
123
- return getCurrentPages().find(function (page) {
124
- return getPageId(page) === id
125
- })
126
- }
127
- function getPageVm(id) {
128
- var page = getPageById(id)
129
- return page && page.$vm
130
- }
131
- function matchNodeId(vm, nodeId) {
132
- //@ts-ignore
133
- {
134
- return getVmNodeId(vm) === nodeId
135
- }
136
- }
137
- function findComponentVm(vm, nodeId) {
138
- var res
139
- if (vm) {
140
- if (matchNodeId(vm, nodeId)) {
141
- res = vm
142
- } else {
143
- vm.$children.find(function (child) {
144
- res = findComponentVm(child, nodeId)
145
- return res
146
- })
147
- }
148
- }
149
- return res
150
- }
151
- function getComponentVm(pageId, nodeId) {
152
- var pageVm = getPageVm(pageId)
153
- return pageVm && findComponentVm(pageVm, nodeId)
154
- }
155
- function getData(vm, path) {
156
- var data
157
- if (vm) {
158
- data = path ? getDataByPath(vm.$data, path) : Object.assign({}, vm.$data)
159
- }
160
- return Promise.resolve({ data: data })
161
- }
162
- function setData(vm, data) {
163
- if (vm) {
164
- Object.keys(data).forEach(function (name) {
165
- vm[name] = data[name]
41
+ function d(e, t) {
42
+ var r,
43
+ o = l(t, e)
44
+ for (r = o.shift(); !n(r); ) {
45
+ if (null == (e = e[r])) return
46
+ r = o.shift()
47
+ }
48
+ return e
49
+ }
50
+ function p(e) {
51
+ return e.__wxWebviewId__
52
+ ? e.__wxWebviewId__
53
+ : e.privateProperties
54
+ ? e.privateProperties.slaveId
55
+ : e.$page
56
+ ? e.$page.id
57
+ : void 0
58
+ }
59
+ function g(e) {
60
+ return e.route || e.uri
61
+ }
62
+ function m(e) {
63
+ return e.options || (e.$page && e.$page.options) || {}
64
+ }
65
+ function v(e) {
66
+ return { id: p(e), path: g(e), query: m(e) }
67
+ }
68
+ function _(e) {
69
+ var t = (function (e) {
70
+ return getCurrentPages().find(function (t) {
71
+ return p(t) === e
166
72
  })
167
- }
168
- return Promise.resolve()
73
+ })(e)
74
+ return t && t.$vm
169
75
  }
170
- var CALL_METHOD_ERROR
171
- ;(function (CALL_METHOD_ERROR) {
172
- CALL_METHOD_ERROR['VM_NOT_EXISTS'] = 'VM_NOT_EXISTS'
173
- CALL_METHOD_ERROR['METHOD_NOT_EXISTS'] = 'METHOD_NOT_EXISTS'
174
- })(CALL_METHOD_ERROR || (CALL_METHOD_ERROR = {}))
175
- function callMethod(vm, method, args) {
176
- return new Promise(function (resolve, reject) {
177
- if (!vm) {
178
- return reject(CALL_METHOD_ERROR.VM_NOT_EXISTS)
179
- }
180
- if (!vm[method]) {
181
- return reject(CALL_METHOD_ERROR.VM_NOT_EXISTS)
182
- }
183
- var ret = vm[method].apply(vm, args)
184
- isPromise(ret)
185
- ? ret.then(function (res) {
186
- resolve({ result: res })
187
- })
188
- : resolve({ result: ret })
189
- })
190
- }
191
-
192
- var SYNC_APIS = [
193
- 'stopRecord',
194
- 'getRecorderManager',
195
- 'pauseVoice',
196
- 'stopVoice',
197
- 'pauseBackgroundAudio',
198
- 'stopBackgroundAudio',
199
- 'getBackgroundAudioManager',
200
- 'createAudioContext',
201
- 'createInnerAudioContext',
202
- 'createVideoContext',
203
- 'createCameraContext',
204
- 'createMapContext',
205
- 'canIUse',
206
- 'startAccelerometer',
207
- 'stopAccelerometer',
208
- 'startCompass',
209
- 'stopCompass',
210
- 'hideToast',
211
- 'hideLoading',
212
- 'showNavigationBarLoading',
213
- 'hideNavigationBarLoading',
214
- 'navigateBack',
215
- 'createAnimation',
216
- 'pageScrollTo',
217
- 'createSelectorQuery',
218
- 'createCanvasContext',
219
- 'createContext',
220
- 'drawCanvas',
221
- 'hideKeyboard',
222
- 'stopPullDownRefresh',
223
- 'arrayBufferToBase64',
224
- 'base64ToArrayBuffer',
225
- ]
226
- var originUni = {}
227
- var SYNC_API_RE = /Sync$/
228
- var MOCK_API_BLACKLIST_RE = /^on|^off/
229
- function isSyncApi(method) {
230
- return SYNC_API_RE.test(method) || SYNC_APIS.indexOf(method) !== -1
76
+ function h(e, t) {
77
+ var n = _(e)
78
+ return (
79
+ n &&
80
+ (function e(t, n) {
81
+ var r
82
+ return (
83
+ t &&
84
+ (!(function (e, t) {
85
+ return (
86
+ (function (e) {
87
+ if (e._$weex) return e._uid
88
+ if (e._$id) return e._$id
89
+ var t = (function (e) {
90
+ for (var t = e.$parent; t; ) {
91
+ if (t._$id) return t
92
+ t = t.$parent
93
+ }
94
+ })(e)
95
+ if (!e.$parent) return '-1'
96
+ var n = e.$vnode,
97
+ r = n.context
98
+ return r && r !== t && r._$id
99
+ ? r._$id + ';' + t._$id + ',' + n.data.attrs._i
100
+ : t._$id + ',' + n.data.attrs._i
101
+ })(e) === t
102
+ )
103
+ })(t, n)
104
+ ? t.$children.find(function (t) {
105
+ return (r = e(t, n))
106
+ })
107
+ : (r = t)),
108
+ r
109
+ )
110
+ })(n, t)
111
+ )
231
112
  }
232
- function canIMock(method) {
233
- return !MOCK_API_BLACKLIST_RE.test(method)
113
+ function E(e, t) {
114
+ var n
115
+ return (
116
+ e && (n = t ? d(e.$data, t) : Object.assign({}, e.$data)),
117
+ Promise.resolve({ data: n })
118
+ )
234
119
  }
235
- var App = {
236
- getPageStack: function () {
237
- return Promise.resolve({
238
- pageStack: getCurrentPages().map(function (page) {
239
- return parsePage(page)
120
+ function y(e, t) {
121
+ return (
122
+ e &&
123
+ Object.keys(t).forEach(function (n) {
124
+ e[n] = t[n]
240
125
  }),
241
- })
242
- },
243
- getCurrentPage: function () {
244
- var pages = getCurrentPages()
245
- var len = pages.length
246
- return new Promise(function (resolve, reject) {
247
- if (!len) {
248
- reject(Error('getCurrentPages().length=0'))
249
- } else {
250
- resolve(parsePage(pages[len - 1]))
251
- }
252
- })
253
- },
254
- callUniMethod: function (params) {
255
- var method = params.method
256
- var args = params.args
257
- return new Promise(function (resolve, reject) {
258
- if (!uni[method]) {
259
- return reject(Error('uni.' + method + ' not exists'))
260
- }
261
- if (isSyncApi(method)) {
262
- return resolve({
263
- result: uni[method].apply(uni, args),
264
- })
265
- }
266
- var params = [
267
- Object.assign({}, args[0] || {}, {
268
- success: function (result) {
269
- var timeout = method === 'pageScrollTo' ? 350 : 0
270
- setTimeout(function () {
271
- resolve({ result: result })
272
- }, timeout)
273
- },
274
- fail: function (res) {
275
- reject(Error(res.errMsg.replace(method + ':fail ', '')))
276
- },
277
- }),
278
- ]
279
- uni[method].apply(uni, params)
280
- })
281
- },
282
- mockUniMethod: function (params) {
283
- var method = params.method
284
- if (!uni[method]) {
285
- throw Error('uni.' + method + ' not exists')
286
- }
287
- if (!canIMock(method)) {
288
- throw Error("You can't mock uni." + method)
289
- }
290
- // TODO getOwnPropertyDescriptor?
291
- var result = params.result
292
- if (isUndef(result)) {
293
- // restoreUniMethod
294
- if (originUni[method]) {
295
- uni[method] = originUni[method]
296
- delete originUni[method]
297
- }
298
- return Promise.resolve()
299
- }
300
- var mockFn = isSyncApi(method)
301
- ? function () {
302
- return result
303
- }
304
- : function (params) {
305
- setTimeout(function () {
306
- var isFail = result.errMsg && result.errMsg.indexOf(':fail') !== -1
307
- if (isFail) {
308
- params.fail && params.fail(result)
309
- } else {
310
- params.success && params.success(result)
311
- }
312
- params.complete && params.complete(result)
313
- }, 4)
314
- }
315
- // mockFn.origin = originUni[method] || uni[method];
316
- if (!originUni[method]) {
317
- originUni[method] = uni[method]
318
- }
319
- uni[method] = mockFn
320
- return Promise.resolve()
321
- },
322
- }
323
-
324
- var Page = {
325
- getData: function (params) {
326
- return getData(getPageVm(params.pageId), params.path)
327
- },
328
- setData: function (params) {
329
- return setData(getPageVm(params.pageId), params.data)
330
- },
331
- callMethod: function (params) {
332
- var _a
333
- var err =
334
- ((_a = {}),
335
- (_a[CALL_METHOD_ERROR.VM_NOT_EXISTS] =
336
- 'Page[' + params.pageId + '] not exists'),
337
- (_a[CALL_METHOD_ERROR.METHOD_NOT_EXISTS] =
338
- 'page.' + params.method + ' not exists'),
339
- _a)
340
- return new Promise(function (resolve, reject) {
341
- callMethod(getPageVm(params.pageId), params.method, params.args)
342
- .then(function (res) {
343
- return resolve(res)
344
- })
345
- .catch(function (type) {
346
- reject(Error(err[type]))
347
- })
348
- })
349
- },
350
- }
351
-
352
- function getNodeId(params) {
353
- return params.nodeId || params.elementId
126
+ Promise.resolve()
127
+ )
354
128
  }
355
- var Element = {
356
- getData: function (params) {
357
- return getData(
358
- getComponentVm(params.pageId, getNodeId(params)),
359
- params.path
360
- )
361
- },
362
- setData: function (params) {
363
- return setData(
364
- getComponentVm(params.pageId, getNodeId(params)),
365
- params.data
366
- )
367
- },
368
- callMethod: function (params) {
369
- var _a
370
- var nodeId = getNodeId(params)
371
- var err =
372
- ((_a = {}),
373
- (_a[CALL_METHOD_ERROR.VM_NOT_EXISTS] =
374
- 'Component[' + params.pageId + ':' + nodeId + '] not exists'),
375
- (_a[CALL_METHOD_ERROR.METHOD_NOT_EXISTS] =
376
- 'component.' + params.method + ' not exists'),
377
- _a)
378
- return new Promise(function (resolve, reject) {
379
- callMethod(
380
- getComponentVm(params.pageId, nodeId),
381
- params.method,
382
- params.args
383
- )
384
- .then(function (res) {
385
- return resolve(res)
386
- })
387
- .catch(function (type) {
388
- reject(Error(err[type]))
129
+ function w(t, n, r) {
130
+ return new Promise(function (o, u) {
131
+ if (!t) return u(e.VM_NOT_EXISTS)
132
+ if (!t[n]) return u(e.VM_NOT_EXISTS)
133
+ var i,
134
+ c = t[n].apply(t, r)
135
+ !(i = c) ||
136
+ ('object' != typeof i && 'function' != typeof i) ||
137
+ 'function' != typeof i.then
138
+ ? o({ result: c })
139
+ : c.then(function (e) {
140
+ o({ result: e })
389
141
  })
390
- })
391
- },
392
- }
393
-
394
- function initPage(adapter) {
395
- return {
396
- 'Page.getElement': function (params) {
397
- return adapter.querySelector(
398
- adapter.getDocument(params.pageId),
399
- params.selector
400
- )
401
- },
402
- 'Page.getElements': function (params) {
403
- return adapter.querySelectorAll(
404
- adapter.getDocument(params.pageId),
405
- params.selector
406
- )
407
- },
408
- 'Page.getWindowProperties': function (params) {
409
- return adapter.queryProperties(
410
- adapter.getWindow(params.pageId),
411
- params.names
412
- )
413
- },
414
- }
142
+ })
415
143
  }
416
-
417
- function initElement(adapter) {
418
- var getEl = function (params) {
419
- return adapter.getEl(params.elementId, params.pageId)
420
- }
421
- return {
422
- 'Element.getElement': function (params) {
423
- return adapter.querySelector(getEl(params), params.selector)
424
- },
425
- 'Element.getElements': function (params) {
426
- return adapter.querySelectorAll(getEl(params), params.selector)
427
- },
428
- 'Element.getDOMProperties': function (params) {
429
- return adapter.queryProperties(getEl(params), params.names)
430
- },
431
- 'Element.getProperties': function (params) {
432
- var el = getEl(params)
433
- var ctx = el.__vue__ || el.attr || {}
434
- return adapter.queryProperties(ctx, params.names)
435
- },
436
- 'Element.getOffset': function (params) {
437
- return adapter.getOffset(getEl(params))
438
- },
439
- 'Element.getAttributes': function (params) {
440
- return adapter.queryAttributes(getEl(params), params.names)
441
- },
442
- 'Element.getStyles': function (params) {
443
- return adapter.queryStyles(getEl(params), params.names)
444
- },
445
- 'Element.getHTML': function (params) {
446
- return adapter.queryHTML(getEl(params), params.type)
447
- },
448
- 'Element.tap': function (params) {
449
- return adapter.dispatchTapEvent(getEl(params))
450
- },
451
- 'Element.longpress': function (params) {
452
- return adapter.dispatchLongpressEvent(getEl(params))
453
- },
454
- 'Element.touchstart': function (params) {
455
- return adapter.dispatchTouchEvent(getEl(params), 'touchstart', params)
144
+ !(function (e) {
145
+ ;(e.VM_NOT_EXISTS = 'VM_NOT_EXISTS'),
146
+ (e.METHOD_NOT_EXISTS = 'METHOD_NOT_EXISTS')
147
+ })(e || (e = {}))
148
+ var T = [
149
+ 'stopRecord',
150
+ 'getRecorderManager',
151
+ 'pauseVoice',
152
+ 'stopVoice',
153
+ 'pauseBackgroundAudio',
154
+ 'stopBackgroundAudio',
155
+ 'getBackgroundAudioManager',
156
+ 'createAudioContext',
157
+ 'createInnerAudioContext',
158
+ 'createVideoContext',
159
+ 'createCameraContext',
160
+ 'createMapContext',
161
+ 'canIUse',
162
+ 'startAccelerometer',
163
+ 'stopAccelerometer',
164
+ 'startCompass',
165
+ 'stopCompass',
166
+ 'hideToast',
167
+ 'hideLoading',
168
+ 'showNavigationBarLoading',
169
+ 'hideNavigationBarLoading',
170
+ 'navigateBack',
171
+ 'createAnimation',
172
+ 'pageScrollTo',
173
+ 'createSelectorQuery',
174
+ 'createCanvasContext',
175
+ 'createContext',
176
+ 'drawCanvas',
177
+ 'hideKeyboard',
178
+ 'stopPullDownRefresh',
179
+ 'arrayBufferToBase64',
180
+ 'base64ToArrayBuffer',
181
+ ],
182
+ x = {},
183
+ P = /Sync$/,
184
+ S = /^on|^off/
185
+ function O(e) {
186
+ return P.test(e) || -1 !== T.indexOf(e)
187
+ }
188
+ var $ = {
189
+ getPageStack: function () {
190
+ return Promise.resolve({
191
+ pageStack: getCurrentPages().map(function (e) {
192
+ return v(e)
193
+ }),
194
+ })
456
195
  },
457
- 'Element.touchmove': function (params) {
458
- return adapter.dispatchTouchEvent(getEl(params), 'touchmove', params)
196
+ getCurrentPage: function () {
197
+ var e = getCurrentPages(),
198
+ t = e.length
199
+ return new Promise(function (n, r) {
200
+ t ? n(v(e[t - 1])) : r(Error('getCurrentPages().length=0'))
201
+ })
459
202
  },
460
- 'Element.touchend': function (params) {
461
- return adapter.dispatchTouchEvent(getEl(params), 'touchend', params)
203
+ callUniMethod: function (e) {
204
+ var t = e.method,
205
+ n = e.args
206
+ return new Promise(function (e, r) {
207
+ if (!uni[t]) return r(Error('uni.' + t + ' not exists'))
208
+ if (O(t)) return e({ result: uni[t].apply(uni, n) })
209
+ var o = [
210
+ Object.assign({}, n[0] || {}, {
211
+ success: function (n) {
212
+ setTimeout(
213
+ function () {
214
+ e({ result: n })
215
+ },
216
+ 'pageScrollTo' === t ? 350 : 0
217
+ )
218
+ },
219
+ fail: function (e) {
220
+ r(Error(e.errMsg.replace(t + ':fail ', '')))
221
+ },
222
+ }),
223
+ ]
224
+ uni[t].apply(uni, o)
225
+ })
462
226
  },
463
- 'Element.callFunction': function (params) {
464
- return adapter.callFunction(
465
- getEl(params),
466
- params.functionName,
467
- params.args
227
+ mockUniMethod: function (e) {
228
+ var t = e.method
229
+ if (!uni[t]) throw Error('uni.' + t + ' not exists')
230
+ if (
231
+ !(function (e) {
232
+ return !S.test(e)
233
+ })(t)
468
234
  )
469
- },
470
- 'Element.triggerEvent': function (params) {
471
- return adapter.triggerEvent(getEl(params), params.type, params.detail)
235
+ throw Error("You can't mock uni." + t)
236
+ var r = e.result
237
+ if (n(r)) return x[t] && ((uni[t] = x[t]), delete x[t]), Promise.resolve()
238
+ var o = O(t)
239
+ ? function () {
240
+ return r
241
+ }
242
+ : function (e) {
243
+ setTimeout(function () {
244
+ r.errMsg && -1 !== r.errMsg.indexOf(':fail')
245
+ ? e.fail && e.fail(r)
246
+ : e.success && e.success(r),
247
+ e.complete && e.complete(r)
248
+ }, 4)
249
+ }
250
+ return x[t] || (x[t] = uni[t]), (uni[t] = o), Promise.resolve()
251
+ },
252
+ },
253
+ b = {
254
+ getData: function (e) {
255
+ return E(_(e.pageId), e.path)
256
+ },
257
+ setData: function (e) {
258
+ return y(_(e.pageId), e.data)
259
+ },
260
+ callMethod: function (t) {
261
+ var n,
262
+ r =
263
+ (((n = {})[e.VM_NOT_EXISTS] = 'Page[' + t.pageId + '] not exists'),
264
+ (n[e.METHOD_NOT_EXISTS] = 'page.' + t.method + ' not exists'),
265
+ n)
266
+ return new Promise(function (e, n) {
267
+ w(_(t.pageId), t.method, t.args)
268
+ .then(function (t) {
269
+ return e(t)
270
+ })
271
+ .catch(function (e) {
272
+ n(Error(r[e]))
273
+ })
274
+ })
472
275
  },
473
276
  }
277
+ function I(e) {
278
+ return e.nodeId || e.elementId
279
+ }
280
+ var C = {
281
+ getData: function (e) {
282
+ return E(h(e.pageId, I(e)), e.path)
283
+ },
284
+ setData: function (e) {
285
+ return y(h(e.pageId, I(e)), e.data)
286
+ },
287
+ callMethod: function (t) {
288
+ var n,
289
+ r = I(t),
290
+ o =
291
+ (((n = {})[e.VM_NOT_EXISTS] =
292
+ 'Component[' + t.pageId + ':' + r + '] not exists'),
293
+ (n[e.METHOD_NOT_EXISTS] = 'component.' + t.method + ' not exists'),
294
+ n)
295
+ return new Promise(function (e, n) {
296
+ w(h(t.pageId, r), t.method, t.args)
297
+ .then(function (t) {
298
+ return e(t)
299
+ })
300
+ .catch(function (e) {
301
+ n(Error(o[e]))
302
+ })
303
+ })
304
+ },
474
305
  }
475
-
476
306
  /*! *****************************************************************************
477
307
  Copyright (c) Microsoft Corporation. All rights reserved.
478
308
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -487,645 +317,549 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
487
317
  See the Apache Version 2.0 License for specific language governing permissions
488
318
  and limitations under the License.
489
319
  ***************************************************************************** */
490
-
491
- function __spreadArrays() {
492
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
493
- s += arguments[i].length
494
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
495
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
496
- r[k] = a[j]
320
+ function M() {
321
+ for (var e = 0, t = 0, n = arguments.length; t < n; t++)
322
+ e += arguments[t].length
323
+ var r = Array(e),
324
+ o = 0
325
+ for (t = 0; t < n; t++)
326
+ for (var u = arguments[t], i = 0, c = u.length; i < c; i++, o++) r[o] = u[i]
497
327
  return r
498
328
  }
499
-
500
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
501
- // require the crypto API and do not support built-in fallback to lower quality random number
502
- // generators (like Math.random()).
503
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
504
- // find the complete implementation of crypto (msCrypto) on IE11.
505
- var getRandomValues =
506
- (typeof crypto != 'undefined' &&
507
- crypto.getRandomValues &&
508
- crypto.getRandomValues.bind(crypto)) ||
509
- (typeof msCrypto != 'undefined' &&
510
- typeof msCrypto.getRandomValues == 'function' &&
329
+ ;('undefined' != typeof crypto &&
330
+ crypto.getRandomValues &&
331
+ crypto.getRandomValues.bind(crypto)) ||
332
+ ('undefined' != typeof msCrypto &&
333
+ 'function' == typeof msCrypto.getRandomValues &&
511
334
  msCrypto.getRandomValues.bind(msCrypto))
512
-
513
- /**
514
- * Convert array of 16 byte values to UUID string format of the form:
515
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
516
- */
517
- var byteToHex = []
518
-
519
- for (var i = 0; i < 256; ++i) {
520
- byteToHex[i] = (i + 0x100).toString(16).substr(1)
521
- }
522
-
523
- function getDocument(pageId) {
524
- var page = getCurrentPages().find(function (page) {
525
- return page.$page.id === pageId
335
+ for (var A = [], D = 0; D < 256; ++D) A[D] = (D + 256).toString(16).substr(1)
336
+ function N(e) {
337
+ var t = getCurrentPages().find(function (t) {
338
+ return t.$page.id === e
526
339
  })
527
- if (!page) {
528
- throw Error('page[' + pageId + '] not found')
529
- }
530
- var weex = page.$vm._$weex
531
- if (!weex.document.__$weex__) {
532
- weex.document.__$weex__ = weex
533
- }
534
- return weex.document
340
+ if (!t) throw Error('page[' + e + '] not found')
341
+ var n = t.$vm._$weex
342
+ return n.document.__$weex__ || (n.document.__$weex__ = n), n.document
535
343
  }
536
- var TAGS = {}
537
- var U_TAGS = {}
344
+ var k = {},
345
+ q = {}
538
346
  ;['text', 'image', 'input', 'textarea', 'video', 'web-view', 'slider'].forEach(
539
- function (tag) {
540
- TAGS[tag] = true
541
- U_TAGS['u-' + tag] = true
347
+ function (e) {
348
+ ;(k[e] = !0), (q['u-' + e] = !0)
542
349
  }
543
350
  )
544
- var BUILITIN = [
545
- 'movable-view',
546
- 'picker',
547
- 'ad',
548
- 'button',
549
- 'checkbox-group',
550
- 'checkbox',
551
- 'form',
552
- 'icon',
553
- 'label',
554
- 'movable-area',
555
- 'navigator',
556
- 'picker-view-column',
557
- 'picker-view',
558
- 'progress',
559
- 'radio-group',
560
- 'radio',
561
- 'rich-text',
562
- 'u-slider',
563
- 'swiper-item',
564
- 'swiper',
565
- 'switch',
566
- ]
567
- var BUILITIN_ALIAS = BUILITIN.map(function (tag) {
568
- return capitalize(camelize(tag))
569
- })
570
- function transTagName(el) {
571
- var tagName = el.type
572
- if (U_TAGS[tagName]) {
573
- return tagName.replace('u-', '')
574
- }
575
- var componentName = el.__vue__ && el.__vue__.$options.name
576
- if (componentName === 'USlider') {
577
- return 'slider'
578
- }
579
- if (componentName && BUILITIN_ALIAS.indexOf(componentName) !== -1) {
580
- return hyphenate(componentName)
581
- }
582
- return tagName
583
- }
584
- function transEl(el) {
585
- var elem = {
586
- elementId: el.nodeId,
587
- tagName: transTagName(el),
588
- nvue: true,
589
- }
590
- var vm = el.__vue__
591
- if (vm && !vm.$options.isReserved) {
592
- elem.nodeId = vm._uid
593
- }
594
- if (elem.tagName === 'video') {
595
- elem.videoId = elem.nodeId
596
- }
597
- return elem
598
- }
599
- function querySelectorByFn(node, match, result) {
600
- var children = node.children
601
- for (var i = 0; i < children.length; i++) {
602
- var childNode = children[i]
603
- if (match(childNode)) {
604
- if (result) {
605
- result.push(childNode)
606
- } else {
607
- return childNode
608
- }
609
- }
610
- if (result) {
611
- querySelectorByFn(childNode, match, result)
612
- } else {
613
- var res = querySelectorByFn(childNode, match, result)
614
- if (res) {
615
- return res
616
- }
617
- }
618
- }
619
- return result
620
- }
621
- function querySelector(context, selector, result) {
622
- var matchSelector
623
- var match
624
- if (selector.indexOf('#') === 0) {
625
- matchSelector = selector.substr(1)
626
- match = function (node) {
627
- return node.attr && node.attr.id === matchSelector
628
- }
629
- } else if (selector.indexOf('.') === 0) {
630
- matchSelector = selector.substr(1)
631
- match = function (node) {
632
- return node.classList && node.classList.indexOf(matchSelector) !== -1
633
- }
634
- }
635
- if (match) {
636
- var ret_1 = querySelectorByFn(context, match, result)
637
- if (!ret_1) {
638
- throw Error('Node(' + selector + ') not exists')
639
- }
640
- return ret_1
641
- }
642
- if (selector === 'body') {
643
- return Object.assign({}, context, { type: 'page' })
644
- }
645
- if (selector.indexOf('uni-') === 0) {
646
- selector = selector.replace('uni-', '')
647
- }
648
- var tagName = TAGS[selector] ? 'u-' + selector : selector
649
- var aliasTagName =
650
- BUILITIN.indexOf(tagName) !== -1 ? capitalize(camelize(tagName)) : ''
651
- var ret = querySelectorByFn(
652
- context,
653
- function (node) {
654
- return (
655
- node.type === tagName ||
656
- (aliasTagName &&
657
- node.__vue__ &&
658
- node.__vue__.$options.name === aliasTagName)
659
- )
660
- },
661
- result
351
+ var j = [
352
+ 'movable-view',
353
+ 'picker',
354
+ 'ad',
355
+ 'button',
356
+ 'checkbox-group',
357
+ 'checkbox',
358
+ 'form',
359
+ 'icon',
360
+ 'label',
361
+ 'movable-area',
362
+ 'navigator',
363
+ 'picker-view-column',
364
+ 'picker-view',
365
+ 'progress',
366
+ 'radio-group',
367
+ 'radio',
368
+ 'rich-text',
369
+ 'u-slider',
370
+ 'swiper-item',
371
+ 'swiper',
372
+ 'switch',
373
+ ],
374
+ R = j.map(function (e) {
375
+ return s(a(e))
376
+ })
377
+ function V(e) {
378
+ var t = e.type
379
+ if (q[t]) return t.replace('u-', '')
380
+ var n = e.__vue__ && e.__vue__.$options.name
381
+ return 'USlider' === n ? 'slider' : n && -1 !== R.indexOf(n) ? i(n) : t
382
+ }
383
+ function L(e) {
384
+ var t = { elementId: e.nodeId, tagName: V(e), nvue: !0 },
385
+ n = e.__vue__
386
+ return (
387
+ n && !n.$options.isReserved && (t.nodeId = n._uid),
388
+ 'video' === t.tagName && (t.videoId = t.nodeId),
389
+ t
662
390
  )
663
- if (!ret) {
664
- throw Error('Node(' + selector + ') not exists')
665
- }
666
- return ret
667
391
  }
668
- var DOM_PROPERTIES = [
392
+ function B(e, t, n) {
393
+ for (var r = e.children, o = 0; o < r.length; o++) {
394
+ var u = r[o]
395
+ if (t(u)) {
396
+ if (!n) return u
397
+ n.push(u)
398
+ }
399
+ if (n) B(u, t, n)
400
+ else {
401
+ var i = B(u, t, n)
402
+ if (i) return i
403
+ }
404
+ }
405
+ return n
406
+ }
407
+ function H(e, t, n) {
408
+ var r, o
409
+ if (
410
+ (0 === t.indexOf('#')
411
+ ? ((r = t.substr(1)),
412
+ (o = function (e) {
413
+ return e.attr && e.attr.id === r
414
+ }))
415
+ : 0 === t.indexOf('.') &&
416
+ ((r = t.substr(1)),
417
+ (o = function (e) {
418
+ return e.classList && -1 !== e.classList.indexOf(r)
419
+ })),
420
+ o)
421
+ ) {
422
+ var u = B(e, o, n)
423
+ if (!u) throw Error('Node(' + t + ') not exists')
424
+ return u
425
+ }
426
+ if ('body' === t) return Object.assign({}, e, { type: 'page' })
427
+ 0 === t.indexOf('uni-') && (t = t.replace('uni-', ''))
428
+ var i = k[t] ? 'u-' + t : t,
429
+ c = -1 !== j.indexOf(i) ? s(a(i)) : '',
430
+ f = B(
431
+ e,
432
+ function (e) {
433
+ return e.type === i || (c && e.__vue__ && e.__vue__.$options.name === c)
434
+ },
435
+ n
436
+ )
437
+ if (!f) throw Error('Node(' + t + ') not exists')
438
+ return f
439
+ }
440
+ var U = [
669
441
  {
670
- test: function (names) {
442
+ test: function (e) {
671
443
  return (
672
- names.length === 2 &&
673
- names.indexOf('document.documentElement.scrollWidth') !== -1 &&
674
- names.indexOf('document.documentElement.scrollHeight') !== -1
444
+ 2 === e.length &&
445
+ -1 !== e.indexOf('document.documentElement.scrollWidth') &&
446
+ -1 !== e.indexOf('document.documentElement.scrollHeight')
675
447
  )
676
448
  },
677
- call: function (node) {
678
- var weex = node.__$weex__ || node.ownerDocument.__$weex__
679
- return new Promise(function (resolve) {
680
- if (node.type === 'scroll-view' && node.children.length === 1) {
681
- node = node.children[0]
682
- }
683
- weex.requireModule('dom').getComponentRect(node.ref, function (res) {
684
- if (res.result) {
685
- resolve([res.size.width, res.size.height])
686
- } else {
687
- resolve([0, 0])
688
- }
689
- })
449
+ call: function (e) {
450
+ var t = e.__$weex__ || e.ownerDocument.__$weex__
451
+ return new Promise(function (n) {
452
+ 'scroll-view' === e.type &&
453
+ 1 === e.children.length &&
454
+ (e = e.children[0]),
455
+ t.requireModule('dom').getComponentRect(e.ref, function (e) {
456
+ e.result ? n([e.size.width, e.size.height]) : n([0, 0])
457
+ })
690
458
  })
691
459
  },
692
460
  },
693
461
  {
694
- test: function (names) {
695
- return (
696
- names.length === 1 && names[0] === 'document.documentElement.scrollTop'
697
- )
698
- },
699
- call: function (node) {
700
- var weex = node.__$weex__ || node.ownerDocument.__$weex__
701
- return new Promise(function (resolve) {
702
- if (node.type === 'scroll-view' && node.children.length === 1) {
703
- node = node.children[0]
704
- }
705
- weex.requireModule('dom').getComponentRect(node.ref, function (res) {
706
- resolve([(res.size && Math.abs(res.size.top)) || 0])
707
- })
462
+ test: function (e) {
463
+ return 1 === e.length && 'document.documentElement.scrollTop' === e[0]
464
+ },
465
+ call: function (e) {
466
+ var t = e.__$weex__ || e.ownerDocument.__$weex__
467
+ return new Promise(function (n) {
468
+ 'scroll-view' === e.type &&
469
+ 1 === e.children.length &&
470
+ (e = e.children[0]),
471
+ t.requireModule('dom').getComponentRect(e.ref, function (e) {
472
+ n([(e.size && Math.abs(e.size.top)) || 0])
473
+ })
708
474
  })
709
475
  },
710
476
  },
711
477
  {
712
- test: function (names) {
478
+ test: function (e) {
713
479
  return (
714
- names.length === 2 &&
715
- names.indexOf('offsetWidth') !== -1 &&
716
- names.indexOf('offsetHeight') !== -1
480
+ 2 === e.length &&
481
+ -1 !== e.indexOf('offsetWidth') &&
482
+ -1 !== e.indexOf('offsetHeight')
717
483
  )
718
484
  },
719
- call: function (node) {
720
- var weex = node.__$weex__ || node.ownerDocument.__$weex__
721
- return new Promise(function (resolve) {
722
- weex.requireModule('dom').getComponentRect(node.ref, function (res) {
723
- if (res.result) {
724
- resolve([res.size.width, res.size.height])
725
- } else {
726
- resolve([0, 0])
727
- }
485
+ call: function (e) {
486
+ var t = e.__$weex__ || e.ownerDocument.__$weex__
487
+ return new Promise(function (n) {
488
+ t.requireModule('dom').getComponentRect(e.ref, function (e) {
489
+ e.result ? n([e.size.width, e.size.height]) : n([0, 0])
728
490
  })
729
491
  })
730
492
  },
731
493
  },
732
494
  {
733
- test: function (names, node) {
734
- return names.length === 1 && names[0] === 'innerText'
495
+ test: function (e, t) {
496
+ return 1 === e.length && 'innerText' === e[0]
735
497
  },
736
- call: function (node) {
737
- return Promise.resolve([toText(node, []).join('')])
498
+ call: function (e) {
499
+ return Promise.resolve([X(e, []).join('')])
738
500
  },
739
501
  },
740
502
  ]
741
- function toText(node, res) {
742
- if (node.type === 'u-text') {
743
- res.push(node.attr.value)
744
- } else {
745
- node.pureChildren.map(function (child) {
746
- return toText(child, res)
747
- })
748
- }
749
- return res
750
- }
751
- function formatHTML(html) {
752
- return html.replace(/\n/g, '').replace(/<u-/g, '<').replace(/<\/u-/g, '</')
753
- }
754
- function toHTML(node, type) {
755
- if (type === 'outer') {
756
- if (node.role === 'body' && node.type === 'scroll-view') {
757
- return '<page>' + formatHTML(toHTML(node, 'inner')) + '</page>'
758
- }
759
- return formatHTML(node.toString())
760
- }
761
- return formatHTML(
762
- node.pureChildren
763
- .map(function (child) {
764
- return child.toString()
765
- })
766
- .join('')
503
+ function X(e, t) {
504
+ return (
505
+ 'u-text' === e.type
506
+ ? t.push(e.attr.value)
507
+ : e.pureChildren.map(function (e) {
508
+ return X(e, t)
509
+ }),
510
+ t
767
511
  )
768
512
  }
769
- var FUNCTIONS = {
513
+ function W(e) {
514
+ return e.replace(/\n/g, '').replace(/<u-/g, '<').replace(/<\/u-/g, '</')
515
+ }
516
+ function z(e, t) {
517
+ return 'outer' === t
518
+ ? 'body' === e.role && 'scroll-view' === e.type
519
+ ? '<page>' + W(z(e, 'inner')) + '</page>'
520
+ : W(e.toString())
521
+ : W(
522
+ e.pureChildren
523
+ .map(function (e) {
524
+ return e.toString()
525
+ })
526
+ .join('')
527
+ )
528
+ }
529
+ var J = {
770
530
  input: {
771
- input: function (el, value) {
772
- el.setValue(value)
531
+ input: function (e, t) {
532
+ e.setValue(t)
773
533
  },
774
534
  },
775
535
  textarea: {
776
- input: function (el, value) {
777
- el.setValue(value)
536
+ input: function (e, t) {
537
+ e.setValue(t)
778
538
  },
779
539
  },
780
540
  'scroll-view': {
781
- scrollTo: function (el, x, y) {
782
- // TODO
783
- el.scrollTo(y)
541
+ scrollTo: function (e, t, n) {
542
+ e.scrollTo(n)
784
543
  },
785
- scrollTop: function (el) {
786
- // TODO
544
+ scrollTop: function (e) {
787
545
  return 0
788
546
  },
789
- scrollLeft: function (el) {
790
- // TODO
547
+ scrollLeft: function (e) {
791
548
  return 0
792
549
  },
793
- scrollWidth: function (el) {
794
- // TODO
550
+ scrollWidth: function (e) {
795
551
  return 0
796
552
  },
797
- scrollHeight: function (el) {
798
- // TODO
553
+ scrollHeight: function (e) {
799
554
  return 0
800
555
  },
801
556
  },
802
557
  swiper: {
803
- swipeTo: function (el, index) {
804
- el.__vue__.current = index
558
+ swipeTo: function (e, t) {
559
+ e.__vue__.current = t
805
560
  },
806
561
  },
807
562
  'movable-view': {
808
- moveTo: function (el, x, y) {
809
- var vm = el.__vue__
810
- vm.x = x
811
- vm.y = y
563
+ moveTo: function (e, t, n) {
564
+ var r = e.__vue__
565
+ ;(r.x = t), (r.y = n)
812
566
  },
813
567
  },
814
568
  switch: {
815
- tap: function (el) {
816
- var vm = el.__vue__
817
- vm.checked = !vm.checked
569
+ tap: function (e) {
570
+ var t = e.__vue__
571
+ t.checked = !t.checked
818
572
  },
819
573
  },
820
574
  slider: {
821
- slideTo: function (el, value) {
822
- el.__vue__.value = value
575
+ slideTo: function (e, t) {
576
+ e.__vue__.value = t
823
577
  },
824
578
  },
825
579
  }
826
- function getRoot(pageId) {
827
- var doc = getDocument(pageId)
828
- return doc.body
580
+ function F(e) {
581
+ return N(e).body
829
582
  }
830
- var adapter = {
831
- getWindow: function (pageId) {
832
- return getRoot(pageId)
583
+ var K = {
584
+ getWindow: function (e) {
585
+ return F(e)
833
586
  },
834
- getDocument: function (pageId) {
835
- return getRoot(pageId)
587
+ getDocument: function (e) {
588
+ return F(e)
836
589
  },
837
- getEl: function (elementId, pageId) {
838
- var doc = getDocument(pageId)
839
- var element = doc.getRef(elementId)
840
- if (!element) {
841
- throw Error('element destroyed')
842
- }
843
- return element
590
+ getEl: function (e, t) {
591
+ var n = N(t).getRef(e)
592
+ if (!n) throw Error('element destroyed')
593
+ return n
844
594
  },
845
- getOffset: function (node) {
846
- var weex = node.__$weex__ || node.ownerDocument.__$weex__
847
- return new Promise(function (resolve) {
848
- weex.requireModule('dom').getComponentRect(node.ref, function (res) {
849
- if (res.result) {
850
- resolve({
851
- left: res.size.left,
852
- top: res.size.top,
853
- })
854
- } else {
855
- resolve({
856
- left: 0,
857
- top: 0,
858
- })
859
- }
595
+ getOffset: function (e) {
596
+ var t = e.__$weex__ || e.ownerDocument.__$weex__
597
+ return new Promise(function (n) {
598
+ t.requireModule('dom').getComponentRect(e.ref, function (e) {
599
+ e.result
600
+ ? n({ left: e.size.left, top: e.size.top })
601
+ : n({ left: 0, top: 0 })
860
602
  })
861
603
  })
862
604
  },
863
- querySelector: function (context, selector) {
864
- return Promise.resolve(transEl(querySelector(context, selector)))
605
+ querySelector: function (e, t) {
606
+ return Promise.resolve(L(H(e, t)))
865
607
  },
866
- querySelectorAll: function (context, selector) {
608
+ querySelectorAll: function (e, t) {
867
609
  return Promise.resolve({
868
- elements: querySelector(context, selector, []).map(function (el) {
869
- return transEl(el)
610
+ elements: H(e, t, []).map(function (e) {
611
+ return L(e)
870
612
  }),
871
613
  })
872
614
  },
873
- queryProperties: function (context, names) {
874
- var options = DOM_PROPERTIES.find(function (options) {
875
- return options.test(names, context)
876
- })
877
- if (options) {
878
- return options.call(context).then(function (properties) {
879
- return {
880
- properties: properties,
881
- }
882
- })
883
- }
884
- return Promise.resolve({
885
- properties: names.map(function (name) {
886
- return getDataByPath(context, name)
887
- }),
615
+ queryProperties: function (e, t) {
616
+ var n = U.find(function (n) {
617
+ return n.test(t, e)
888
618
  })
619
+ return n
620
+ ? n.call(e).then(function (e) {
621
+ return { properties: e }
622
+ })
623
+ : Promise.resolve({
624
+ properties: t.map(function (t) {
625
+ return d(e, t)
626
+ }),
627
+ })
889
628
  },
890
- queryAttributes: function (context, names) {
891
- var attr = context.attr
629
+ queryAttributes: function (e, t) {
630
+ var n = e.attr
892
631
  return Promise.resolve({
893
- attributes: names.map(function (name) {
894
- if (name === 'class') {
895
- return (context.classList || []).join(' ')
896
- }
897
- return String(attr[name] || attr[camelize(name)] || '')
632
+ attributes: t.map(function (t) {
633
+ return 'class' === t
634
+ ? (e.classList || []).join(' ')
635
+ : String(n[t] || n[a(t)] || '')
898
636
  }),
899
637
  })
900
638
  },
901
- queryStyles: function (context, names) {
902
- var style = context.style
639
+ queryStyles: function (e, t) {
640
+ var n = e.style
903
641
  return Promise.resolve({
904
- styles: names.map(function (name) {
905
- return style[name]
642
+ styles: t.map(function (e) {
643
+ return n[e]
906
644
  }),
907
645
  })
908
646
  },
909
- queryHTML: function (context, type) {
910
- return Promise.resolve({
911
- html: toHTML(context, type),
912
- })
647
+ queryHTML: function (e, t) {
648
+ return Promise.resolve({ html: z(e, t) })
913
649
  },
914
- dispatchTapEvent: function (el) {
915
- el.fireEvent(
916
- 'click',
917
- {
918
- timeStamp: Date.now(),
919
- target: el,
920
- currentTarget: el,
921
- },
922
- true
650
+ dispatchTapEvent: function (e) {
651
+ return (
652
+ e.fireEvent(
653
+ 'click',
654
+ { timeStamp: Date.now(), target: e, currentTarget: e },
655
+ !0
656
+ ),
657
+ Promise.resolve()
923
658
  )
924
- return Promise.resolve()
925
659
  },
926
- dispatchLongpressEvent: function (el) {
927
- el.fireEvent(
928
- 'longpress',
929
- {
930
- timeStamp: Date.now(),
931
- target: el,
932
- currentTarget: el,
933
- },
934
- true
660
+ dispatchLongpressEvent: function (e) {
661
+ return (
662
+ e.fireEvent(
663
+ 'longpress',
664
+ { timeStamp: Date.now(), target: e, currentTarget: e },
665
+ !0
666
+ ),
667
+ Promise.resolve()
935
668
  )
936
- return Promise.resolve()
937
669
  },
938
- dispatchTouchEvent: function (el, type, eventInitDict) {
939
- if (!eventInitDict) {
940
- eventInitDict = {}
941
- }
942
- if (!eventInitDict.touches) {
943
- eventInitDict.touches = []
944
- }
945
- if (!eventInitDict.changedTouches) {
946
- eventInitDict.changedTouches = []
947
- }
948
- if (!eventInitDict.touches.length) {
949
- eventInitDict.touches.push({
950
- identifier: Date.now(),
951
- target: el,
952
- })
953
- }
954
- el.fireEvent(
955
- type,
956
- Object.assign(
957
- {
958
- timeStamp: Date.now(),
959
- target: el,
960
- currentTarget: el,
961
- },
962
- eventInitDict
670
+ dispatchTouchEvent: function (e, t, n) {
671
+ return (
672
+ n || (n = {}),
673
+ n.touches || (n.touches = []),
674
+ n.changedTouches || (n.changedTouches = []),
675
+ n.touches.length || n.touches.push({ identifier: Date.now(), target: e }),
676
+ e.fireEvent(
677
+ t,
678
+ Object.assign(
679
+ { timeStamp: Date.now(), target: e, currentTarget: e },
680
+ n
681
+ ),
682
+ !0
963
683
  ),
964
- true
684
+ Promise.resolve()
965
685
  )
966
- return Promise.resolve()
967
686
  },
968
- callFunction: function (el, functionName, args) {
969
- var fn = getDataByPath(FUNCTIONS, functionName)
970
- if (!fn) {
971
- return Promise.reject(Error(functionName + ' not exists'))
972
- }
973
- return Promise.resolve({
974
- result: fn.apply(null, __spreadArrays([el], args)),
975
- })
976
- },
977
- triggerEvent: function (el, type, detail) {
978
- var vm = el.__vue__
979
- if (vm) {
980
- vm.$trigger && vm.$trigger(type, {}, detail)
981
- } else {
982
- el.fireEvent(
983
- type,
984
- {
985
- timeStamp: Date.now(),
986
- target: el,
987
- currentTarget: el,
988
- },
989
- false,
990
- { params: [{ detail: detail }] }
991
- )
992
- }
993
- return Promise.resolve()
687
+ callFunction: function (e, t, n) {
688
+ var r = d(J, t)
689
+ return r
690
+ ? Promise.resolve({ result: r.apply(null, M([e], n)) })
691
+ : Promise.reject(Error(t + ' not exists'))
692
+ },
693
+ triggerEvent: function (e, t, n) {
694
+ var r = e.__vue__
695
+ return (
696
+ r
697
+ ? r.$trigger && r.$trigger(t, {}, n)
698
+ : e.fireEvent(
699
+ t,
700
+ { timeStamp: Date.now(), target: e, currentTarget: e },
701
+ !1,
702
+ { params: [{ detail: n }] }
703
+ ),
704
+ Promise.resolve()
705
+ )
994
706
  },
995
707
  }
996
-
997
- function initNativeApi() {
998
- return Object.assign({}, initPage(adapter), initElement(adapter))
999
- }
1000
-
1001
- var Api = {}
1002
- Object.keys(App).forEach(function (method) {
1003
- Api['App.' + method] = App[method]
1004
- })
1005
- Object.keys(Page).forEach(function (method) {
1006
- Api['Page.' + method] = Page[method]
1007
- })
1008
- Object.keys(Element).forEach(function (method) {
1009
- Api['Element.' + method] = Element[method]
1010
- })
1011
- var wsEndpoint = process.env.UNI_AUTOMATOR_WS_ENDPOINT
1012
- var NVueApi
1013
- var fallback
1014
- var socketTask
1015
- //@ts-ignore
1016
- {
1017
- fallback = function (id, method, params, data) {
1018
- var pageId = params.pageId
1019
- var page = findPageByPageId(pageId)
1020
- if (!page) {
1021
- data.error = {
1022
- message: 'page[' + pageId + '] not exists',
1023
- }
1024
- send(data)
1025
- return true
1026
- }
1027
- var isNVue = !!page.$page.meta.isNVue
1028
- //@ts-ignore
1029
- if (!isNVue) {
1030
- UniServiceJSBridge.publishHandler(
1031
- 'sendAutoMessage',
1032
- {
1033
- id: id,
1034
- method: method,
1035
- params: params,
1036
- },
1037
- pageId
1038
- )
1039
- return true
1040
- }
1041
- if (!NVueApi) {
1042
- NVueApi = initNativeApi()
1043
- }
1044
- return NVueApi[method]
1045
- }
1046
- UniServiceJSBridge.subscribe('onAutoMessageReceive', function (res) {
1047
- send(res)
708
+ var Q = {}
709
+ Object.keys($).forEach(function (e) {
710
+ Q['App.' + e] = $[e]
711
+ }),
712
+ Object.keys(b).forEach(function (e) {
713
+ Q['Page.' + e] = b[e]
714
+ }),
715
+ Object.keys(C).forEach(function (e) {
716
+ Q['Element.' + e] = C[e]
1048
717
  })
1049
- }
1050
- function send(data) {
1051
- socketTask.send({ data: JSON.stringify(data) })
1052
- }
1053
- function findPageByPageId(pageId) {
1054
- var pages = getCurrentPages()
1055
- if (!pageId) {
1056
- return pages[pages.length - 1]
1057
- }
1058
- return pages.find(function (page) {
1059
- return page.$page.id === pageId
1060
- })
1061
- }
1062
- function onMessage(res) {
1063
- var _a = JSON.parse(res.data),
1064
- id = _a.id,
1065
- method = _a.method,
1066
- params = _a.params
1067
- var data = { id: id }
1068
- var fn = Api[method]
1069
- if (!fn) {
1070
- if (fallback) {
1071
- var result = fallback(id, method, params, data)
1072
- if (result === true) {
1073
- return
1074
- }
1075
- fn = result
1076
- }
1077
- if (!fn) {
1078
- data.error = {
1079
- message: method + ' unimplemented',
1080
- }
1081
- return send(data)
1082
- }
718
+ var Y,
719
+ Z,
720
+ G,
721
+ ee = process.env.UNI_AUTOMATOR_WS_ENDPOINT
722
+ function te(e) {
723
+ G.send({ data: JSON.stringify(e) })
724
+ }
725
+ function ne(e) {
726
+ var t = JSON.parse(e.data),
727
+ n = t.id,
728
+ r = t.method,
729
+ o = t.params,
730
+ u = { id: n },
731
+ i = Q[r]
732
+ if (!i) {
733
+ if (Z) {
734
+ var c = Z(n, r, o, u)
735
+ if (!0 === c) return
736
+ i = c
737
+ }
738
+ if (!i) return (u.error = { message: r + ' unimplemented' }), te(u)
1083
739
  }
1084
740
  try {
1085
- fn(params)
1086
- .then(function (res) {
1087
- res && (data.result = res)
741
+ i(o)
742
+ .then(function (e) {
743
+ e && (u.result = e)
1088
744
  })
1089
- .catch(function (err) {
1090
- data.error = {
1091
- message: err.message,
1092
- }
745
+ .catch(function (e) {
746
+ u.error = { message: e.message }
1093
747
  })
1094
748
  .finally(function () {
1095
- send(data)
749
+ te(u)
1096
750
  })
1097
- } catch (err) {
1098
- data.error = {
1099
- message: err.message,
1100
- }
1101
- send(data)
751
+ } catch (e) {
752
+ ;(u.error = { message: e.message }), te(u)
1102
753
  }
1103
754
  }
1104
- function initRuntimeAutomator(options) {
1105
- if (options === void 0) {
1106
- options = {}
1107
- }
1108
- socketTask = uni.connectSocket({
1109
- url: wsEndpoint,
1110
- complete: function () {},
1111
- })
1112
- socketTask.onMessage(onMessage)
1113
- socketTask.onOpen(function (res) {
1114
- options.success && options.success()
1115
- console.log('已开启自动化测试...')
1116
- })
1117
- socketTask.onError(function (res) {
1118
- console.log('automator.onError', res)
1119
- })
1120
- socketTask.onClose(function () {
1121
- options.fail && options.fail({ errMsg: '$$initRuntimeAutomator:fail' })
1122
- console.log('automator.onClose')
1123
- })
1124
- }
1125
- //@ts-ignore
1126
- {
755
+ ;(Z = function (e, t, n, r) {
756
+ var o = n.pageId,
757
+ u = (function (e) {
758
+ var t = getCurrentPages()
759
+ if (!e) return t[t.length - 1]
760
+ return t.find(function (t) {
761
+ return t.$page.id === e
762
+ })
763
+ })(o)
764
+ return u
765
+ ? !u.$page.meta.isNVue
766
+ ? (UniServiceJSBridge.publishHandler(
767
+ 'sendAutoMessage',
768
+ { id: e, method: t, params: n },
769
+ o
770
+ ),
771
+ !0)
772
+ : (Y ||
773
+ (Y = Object.assign(
774
+ {},
775
+ (function (e) {
776
+ return {
777
+ 'Page.getElement': function (t) {
778
+ return e.querySelector(e.getDocument(t.pageId), t.selector)
779
+ },
780
+ 'Page.getElements': function (t) {
781
+ return e.querySelectorAll(e.getDocument(t.pageId), t.selector)
782
+ },
783
+ 'Page.getWindowProperties': function (t) {
784
+ return e.queryProperties(e.getWindow(t.pageId), t.names)
785
+ },
786
+ }
787
+ })(K),
788
+ (function (e) {
789
+ var t = function (t) {
790
+ return e.getEl(t.elementId, t.pageId)
791
+ }
792
+ return {
793
+ 'Element.getElement': function (n) {
794
+ return e.querySelector(t(n), n.selector)
795
+ },
796
+ 'Element.getElements': function (n) {
797
+ return e.querySelectorAll(t(n), n.selector)
798
+ },
799
+ 'Element.getDOMProperties': function (n) {
800
+ return e.queryProperties(t(n), n.names)
801
+ },
802
+ 'Element.getProperties': function (n) {
803
+ var r = t(n),
804
+ o = r.__vue__ || r.attr || {}
805
+ return e.queryProperties(o, n.names)
806
+ },
807
+ 'Element.getOffset': function (n) {
808
+ return e.getOffset(t(n))
809
+ },
810
+ 'Element.getAttributes': function (n) {
811
+ return e.queryAttributes(t(n), n.names)
812
+ },
813
+ 'Element.getStyles': function (n) {
814
+ return e.queryStyles(t(n), n.names)
815
+ },
816
+ 'Element.getHTML': function (n) {
817
+ return e.queryHTML(t(n), n.type)
818
+ },
819
+ 'Element.tap': function (n) {
820
+ return e.dispatchTapEvent(t(n))
821
+ },
822
+ 'Element.longpress': function (n) {
823
+ return e.dispatchLongpressEvent(t(n))
824
+ },
825
+ 'Element.touchstart': function (n) {
826
+ return e.dispatchTouchEvent(t(n), 'touchstart', n)
827
+ },
828
+ 'Element.touchmove': function (n) {
829
+ return e.dispatchTouchEvent(t(n), 'touchmove', n)
830
+ },
831
+ 'Element.touchend': function (n) {
832
+ return e.dispatchTouchEvent(t(n), 'touchend', n)
833
+ },
834
+ 'Element.callFunction': function (n) {
835
+ return e.callFunction(t(n), n.functionName, n.args)
836
+ },
837
+ 'Element.triggerEvent': function (n) {
838
+ return e.triggerEvent(t(n), n.type, n.detail)
839
+ },
840
+ }
841
+ })(K)
842
+ )),
843
+ Y[t])
844
+ : ((r.error = { message: 'page[' + o + '] not exists' }), te(r), !0)
845
+ }),
846
+ UniServiceJSBridge.subscribe('onAutoMessageReceive', function (e) {
847
+ te(e)
848
+ }),
1127
849
  setTimeout(function () {
1128
- // (global as any).testMessage = onMessage;
1129
- initRuntimeAutomator()
850
+ var e
851
+ void 0 === e && (e = {}),
852
+ (G = uni.connectSocket({ url: ee, complete: function () {} })).onMessage(
853
+ ne
854
+ ),
855
+ G.onOpen(function (t) {
856
+ e.success && e.success(), console.log('已开启自动化测试...')
857
+ }),
858
+ G.onError(function (e) {
859
+ console.log('automator.onError', e)
860
+ }),
861
+ G.onClose(function () {
862
+ e.fail && e.fail({ errMsg: '$$initRuntimeAutomator:fail' }),
863
+ console.log('automator.onClose')
864
+ })
1130
865
  }, 500)
1131
- }