mo-h5-bridge 0.0.39 → 0.0.40

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.
@@ -1,12 +1,12 @@
1
- function w(t) {
1
+ function w(i) {
2
2
  return new Promise((e) => {
3
- const i = document.createElement("script");
4
- i.type = "text/javascript", i.src = t, i.onload = function() {
3
+ const t = document.createElement("script");
4
+ t.type = "text/javascript", t.src = i, t.onload = function() {
5
5
  e();
6
- }, document.head.appendChild(i);
6
+ }, document.head.appendChild(t);
7
7
  });
8
8
  }
9
- const r = navigator.userAgent, h = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(r), y = /Windows|Macintosh|Linux/i.test(r) && !h, c = {
9
+ const c = navigator.userAgent, p = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(c), h = /Windows|Macintosh|Linux/i.test(c) && !p, r = {
10
10
  WeChatMini: "WeChatMini",
11
11
  // 微信小程序
12
12
  AlipayMini: "AlipayMini",
@@ -20,40 +20,40 @@ const r = navigator.userAgent, h = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IE
20
20
  Pc: "Pc"
21
21
  // pc端
22
22
  }, l = {
23
- ["is" + c.WeChatMini]: /miniProgram/i.test(r),
23
+ ["is" + r.WeChatMini]: /miniProgram/i.test(c),
24
24
  // 微信小程序
25
- ["is" + c.AlipayMini]: /AlipayClient.*miniProgram/i.test(r),
25
+ ["is" + r.AlipayMini]: /AlipayClient.*miniProgram/i.test(c),
26
26
  // 支付宝小程序
27
- ["is" + c.Android]: /Android/i.test(r),
27
+ ["is" + r.Android]: /Android/i.test(c),
28
28
  // andorid
29
- ["is" + c.Ios]: /iPhone|iPad|iPod/i.test(r),
29
+ ["is" + r.Ios]: /iPhone|iPad|iPod/i.test(c),
30
30
  // ios
31
- ["is" + c.Mobile]: h,
32
- ["is" + c.Pc]: y
33
- }, P = "https://appx/web-view.min.js", M = {
31
+ ["is" + r.Mobile]: p,
32
+ ["is" + r.Pc]: h
33
+ }, v = "https://appx/web-view.min.js", y = {
34
34
  // 用于在外勤app中,app返回到库存管理页面中,刷新库存管理页面
35
35
  refreshCar: void 0
36
36
  };
37
- class T {
37
+ class P {
38
38
  constructor() {
39
- this.map = /* @__PURE__ */ new Map(), Object.keys(M).forEach((e) => {
39
+ this.map = /* @__PURE__ */ new Map(), Object.keys(y).forEach((e) => {
40
40
  this.map.set(e, /* @__PURE__ */ new Set());
41
41
  });
42
42
  }
43
43
  // 添加元素到指定键的集合
44
- add(e, i) {
45
- return this.map.has(e) || this.map.set(e, /* @__PURE__ */ new Set()), this.map.get(e).add(i), this;
44
+ add(e, t) {
45
+ return this.map.has(e) || this.map.set(e, /* @__PURE__ */ new Set()), this.map.get(e).add(t), this;
46
46
  }
47
47
  // 从指定键的集合中删除元素
48
- delete(e, i) {
48
+ delete(e, t) {
49
49
  if (!this.map.has(e))
50
50
  return !1;
51
- const n = this.map.get(e), o = n.delete(i);
52
- return n.size === 0 && this.map.delete(e), o;
51
+ const n = this.map.get(e), s = n.delete(t);
52
+ return n.size === 0 && this.map.delete(e), s;
53
53
  }
54
54
  // 检查指定键的集合是否包含元素
55
- has(e, i) {
56
- return this.map.has(e) && this.map.get(e).has(i);
55
+ has(e, t) {
56
+ return this.map.has(e) && this.map.get(e).has(t);
57
57
  }
58
58
  // 获取指定键的集合
59
59
  get(e) {
@@ -85,25 +85,18 @@ class T {
85
85
  }
86
86
  // 遍历每个键的集合
87
87
  forEach(e) {
88
- this.map.forEach((i, n) => {
89
- e(i, n, this.map);
88
+ this.map.forEach((t, n) => {
89
+ e(t, n, this.map);
90
90
  });
91
91
  }
92
92
  }
93
- const B = new T(), d = [];
94
- function a(t) {
95
- return (...e) => (console.warn(`Bridge:${t} not init`), new Promise((i, n) => {
96
- d.push({ name: t, args: e, resolve: i, reject: n });
97
- }));
93
+ const B = new P();
94
+ function a(i) {
95
+ return (...e) => {
96
+ console.warn(`[Bridge] ${i} called before init`, (/* @__PURE__ */ new Date()).toISOString(), "args:", e), console.warn(`[Bridge] ${i} call stack:`, new Error().stack);
97
+ };
98
98
  }
99
- function p() {
100
- if (d.length === 0)
101
- return;
102
- d.splice(0).forEach(({ name: e, args: i, resolve: n, reject: o }) => {
103
- s[e](...i).then(n).catch(o);
104
- });
105
- }
106
- const s = {
99
+ const o = {
107
100
  navigateTo: a("navigateTo"),
108
101
  navigateBack: a("navigateBack"),
109
102
  switchTab: a("switchTab"),
@@ -118,212 +111,212 @@ const s = {
118
111
  updateTimelineShareData: a("updateTimelineShareData"),
119
112
  getArea: a("getArea")
120
113
  };
121
- async function b(t) {
114
+ async function M(i) {
122
115
  return new Promise((e) => {
123
116
  my.postMessage({
124
- ...t
117
+ ...i
125
118
  }), e();
126
119
  });
127
120
  }
128
- async function L(t) {
121
+ async function T(i) {
129
122
  return new Promise((e) => {
130
- my.onMessage = t, e();
123
+ my.onMessage = i, e();
131
124
  });
132
125
  }
133
- async function A(t) {
134
- return new Promise((e, i) => {
126
+ async function b(i) {
127
+ return new Promise((e, t) => {
135
128
  my.getLocation({
136
- ...t,
129
+ ...i,
137
130
  success: function(n) {
138
131
  e(n);
139
132
  },
140
133
  fail: function(n) {
141
- i(n);
134
+ t(n);
142
135
  }
143
136
  });
144
137
  });
145
138
  }
146
- async function C(t) {
147
- return new Promise((e, i) => {
139
+ async function S(i) {
140
+ return new Promise((e, t) => {
148
141
  my.openLocation({
149
- ...t,
142
+ ...i,
150
143
  success: function(n) {
151
144
  e(n);
152
145
  },
153
146
  fail: function(n) {
154
- i(n);
147
+ t(n);
155
148
  }
156
149
  });
157
150
  });
158
151
  }
159
- async function W(t) {
160
- return new Promise((e, i) => {
152
+ async function L(i) {
153
+ return new Promise((e, t) => {
161
154
  my.navigateTo({
162
- ...t,
155
+ ...i,
163
156
  success: function(n) {
164
157
  e(n);
165
158
  },
166
159
  fail: function(n) {
167
- i(n);
160
+ t(n);
168
161
  }
169
162
  });
170
163
  });
171
164
  }
172
- async function J(t) {
173
- return new Promise((e, i) => {
165
+ async function A(i) {
166
+ return new Promise((e, t) => {
174
167
  my.navigateBack({
175
- ...t,
168
+ ...i,
176
169
  success: function(n) {
177
170
  e(n);
178
171
  },
179
172
  fail: function(n) {
180
- i(n);
173
+ t(n);
181
174
  }
182
175
  });
183
176
  });
184
177
  }
185
- async function S(t) {
186
- return new Promise((e, i) => {
178
+ async function C(i) {
179
+ return new Promise((e, t) => {
187
180
  my.redirectTo({
188
- ...t,
181
+ ...i,
189
182
  success: function(n) {
190
183
  e(n);
191
184
  },
192
185
  fail: function(n) {
193
- i(n);
186
+ t(n);
194
187
  }
195
188
  });
196
189
  });
197
190
  }
198
- function x(t) {
199
- return new Promise((e, i) => {
191
+ function I(i) {
192
+ return new Promise((e, t) => {
200
193
  my.switchTab({
201
- ...t,
194
+ ...i,
202
195
  success: function(n) {
203
196
  e(n);
204
197
  },
205
198
  fail: function(n) {
206
- i(n);
199
+ t(n);
207
200
  }
208
201
  });
209
202
  });
210
203
  }
211
- function E() {
212
- s.postMessage = b, s.onMessage = L, s.getLocation = A, s.openLocation = C, s.navigateTo = W, s.navigateBack = J, s.redirectTo = S, s.switchTab = x, p();
204
+ function D() {
205
+ o.postMessage = M, o.onMessage = T, o.getLocation = b, o.openLocation = S, o.navigateTo = L, o.navigateBack = A, o.redirectTo = C, o.switchTab = I;
213
206
  }
214
- async function $() {
215
- await w(P), E();
207
+ async function W() {
208
+ await w(v), D();
216
209
  }
217
- const V = "https://res.wx.qq.com/open/js/jweixin-1.6.0.js";
218
- async function I(t = {}) {
219
- return new Promise((e, i) => {
210
+ const x = "https://res.wx.qq.com/open/js/jweixin-1.6.0.js";
211
+ async function J(i = {}) {
212
+ return new Promise((e, t) => {
220
213
  wx.getLocation({
221
- ...t,
214
+ ...i,
222
215
  success: function(n) {
223
216
  console.log("success", n), e(n);
224
217
  },
225
218
  fail: function(n) {
226
- console.log("fail", n), i(n);
219
+ console.log("fail", n), t(n);
227
220
  }
228
221
  });
229
222
  });
230
223
  }
231
- async function j(t) {
232
- return new Promise((e, i) => {
224
+ async function O(i) {
225
+ return new Promise((e, t) => {
233
226
  wx.openLocation({
234
- ...t,
227
+ ...i,
235
228
  success: function(n) {
236
229
  e(n);
237
230
  },
238
231
  fail: function(n) {
239
- i(n);
232
+ t(n);
240
233
  }
241
234
  });
242
235
  });
243
236
  }
244
- async function k(t) {
245
- return new Promise((e, i) => {
237
+ async function E(i) {
238
+ return new Promise((e, t) => {
246
239
  wx.miniProgram.postMessage({
247
- ...t,
240
+ ...i,
248
241
  success: function(n) {
249
242
  e(n);
250
243
  },
251
244
  fail: function(n) {
252
- i(n);
245
+ t(n);
253
246
  }
254
247
  });
255
248
  });
256
249
  }
257
- async function R(t) {
258
- return new Promise((e, i) => {
250
+ async function $(i) {
251
+ return new Promise((e, t) => {
259
252
  wx.miniProgram.navigateTo({
260
- ...t,
253
+ ...i,
261
254
  success: function(n) {
262
255
  e(n);
263
256
  },
264
257
  fail: function(n) {
265
- i(n);
258
+ t(n);
266
259
  }
267
260
  });
268
261
  });
269
262
  }
270
- async function D(t) {
271
- return new Promise((e, i) => {
263
+ async function V(i) {
264
+ return new Promise((e, t) => {
272
265
  wx.miniProgram.navigateBack({
273
- ...t,
266
+ ...i,
274
267
  success: function(n) {
275
268
  e(n);
276
269
  },
277
270
  fail: function(n) {
278
- i(n);
271
+ t(n);
279
272
  }
280
273
  });
281
274
  });
282
275
  }
283
- async function O(t) {
284
- return new Promise((e, i) => {
276
+ async function k(i) {
277
+ return new Promise((e, t) => {
285
278
  wx.miniProgram.switchTab({
286
- ...t,
279
+ ...i,
287
280
  success: function(n) {
288
281
  e(n);
289
282
  },
290
283
  fail: function(n) {
291
- i(n);
284
+ t(n);
292
285
  }
293
286
  });
294
287
  });
295
288
  }
296
- async function N(t) {
297
- return new Promise((e, i) => {
289
+ async function R(i) {
290
+ return new Promise((e, t) => {
298
291
  wx.miniProgram.redirectTo({
299
- ...t,
292
+ ...i,
300
293
  success: function(n) {
301
294
  e(n);
302
295
  },
303
296
  fail: function(n) {
304
- i(n);
297
+ t(n);
305
298
  }
306
299
  });
307
300
  });
308
301
  }
309
- function m() {
310
- s.navigateTo = R, s.navigateBack = D, s.redirectTo = N, s.switchTab = O, s.postMessage = k, s.getLocation = I, s.openLocation = j, p();
302
+ function f() {
303
+ console.log("[Bridge] we-chat register start", (/* @__PURE__ */ new Date()).toISOString()), o.navigateTo = $, o.navigateBack = V, o.redirectTo = R, o.switchTab = k, o.postMessage = E, o.getLocation = J, o.openLocation = O, console.log("[Bridge] we-chat register done", (/* @__PURE__ */ new Date()).toISOString());
311
304
  }
312
- async function _(t) {
305
+ async function j(i) {
313
306
  const e = location.href.split("#")[0];
314
- return await fetch(`${t.requestUrl}?url=${e}`, {
307
+ return await fetch(`${i.requestUrl}?url=${e}`, {
315
308
  method: "GET"
316
- }).then((i) => i.json());
309
+ }).then((t) => t.json());
317
310
  }
318
- function q(t) {
311
+ function N(i) {
319
312
  async function e() {
320
- const i = await _(t);
313
+ const t = await j(i);
321
314
  console.log({
322
315
  debug: !1,
323
- appId: i.data.appId,
324
- timestamp: i.data.timestamp,
325
- nonceStr: i.data.nonceStr,
326
- signature: i.data.signature,
316
+ appId: t.data.appId,
317
+ timestamp: t.data.timestamp,
318
+ nonceStr: t.data.nonceStr,
319
+ signature: t.data.signature,
327
320
  jsApiList: [
328
321
  // 获取当前的地理位置、速度:
329
322
  // 微信小程序与支付宝同名
@@ -337,10 +330,10 @@ function q(t) {
337
330
  ]
338
331
  }), wx.config({
339
332
  debug: !1,
340
- appId: i.data.appId,
341
- timestamp: i.data.timestamp,
342
- nonceStr: i.data.nonceStr,
343
- signature: i.data.signature,
333
+ appId: t.data.appId,
334
+ timestamp: t.data.timestamp,
335
+ nonceStr: t.data.nonceStr,
336
+ signature: t.data.signature,
344
337
  jsApiList: [
345
338
  // 获取当前的地理位置、速度:
346
339
  // 微信小程序与支付宝同名
@@ -356,76 +349,81 @@ function q(t) {
356
349
  }
357
350
  return e(), Promise.resolve();
358
351
  }
359
- async function H(t) {
360
- await w(V), t.requestUrl ? (await q(t), wx.ready(function() {
361
- m();
362
- })) : m();
352
+ async function _(i) {
353
+ console.log(
354
+ "[Bridge] we-chat init start",
355
+ (/* @__PURE__ */ new Date()).toISOString(),
356
+ "hasRequestUrl:",
357
+ !!i.requestUrl
358
+ ), await w(x), console.log("[Bridge] we-chat CDN downloaded", (/* @__PURE__ */ new Date()).toISOString()), i.requestUrl ? (await N(i), wx.ready(function() {
359
+ console.log("[Bridge] we-chat wx.ready fired", (/* @__PURE__ */ new Date()).toISOString()), f();
360
+ })) : (console.log("[Bridge] we-chat register (no config)", (/* @__PURE__ */ new Date()).toISOString()), f());
363
361
  }
364
- const v = l.isAndroid, U = (t) => {
365
- window.WebViewJavascriptBridge ? t(window.WebViewJavascriptBridge) : document.addEventListener(
362
+ const m = l.isAndroid, q = (i) => {
363
+ window.WebViewJavascriptBridge ? i(window.WebViewJavascriptBridge) : document.addEventListener(
366
364
  "WebViewJavascriptBridgeReady",
367
365
  function() {
368
- t(window.WebViewJavascriptBridge);
366
+ i(window.WebViewJavascriptBridge);
369
367
  },
370
368
  !1
371
369
  );
372
- }, F = (t) => {
370
+ }, U = (i) => {
373
371
  if (window.WebViewJavascriptBridge)
374
- return t(window.WebViewJavascriptBridge);
372
+ return i(window.WebViewJavascriptBridge);
375
373
  if (window.WVJBCallbacks)
376
- return window.WVJBCallbacks.push(t);
377
- window.WVJBCallbacks = [t];
374
+ return window.WVJBCallbacks.push(i);
375
+ window.WVJBCallbacks = [i];
378
376
  const e = document.createElement("iframe");
379
377
  e.style.display = "none", e.src = "wvjbscheme://__BRIDGE_LOADED__", document.documentElement.appendChild(e), setTimeout(function() {
380
378
  document.documentElement.removeChild(e);
381
379
  }, 0);
382
380
  };
383
- window.setupWebViewJavascriptBridge = v ? U : F;
384
- v && window.setupWebViewJavascriptBridge(function(t) {
385
- t.init(function(e, i) {
386
- i("JS 返回给原生的消息内容");
381
+ window.setupWebViewJavascriptBridge = m ? q : U;
382
+ m && window.setupWebViewJavascriptBridge(function(i) {
383
+ i.init(function(e, t) {
384
+ t("JS 返回给原生的消息内容");
387
385
  });
388
386
  });
389
- async function G() {
390
- return new Promise((t) => {
387
+ async function H() {
388
+ return new Promise((i) => {
391
389
  window.setupWebViewJavascriptBridge((e) => {
392
- Object.keys(s).forEach((i) => {
393
- s[i] = function(n) {
394
- return new Promise((o, g) => {
390
+ Object.keys(o).forEach((t) => {
391
+ o[t] = function(n) {
392
+ return new Promise((s, d) => {
395
393
  e.callHandler(
396
394
  "sendToNative",
397
395
  // 传递给原生的参数
398
396
  {
399
- type: i,
397
+ type: t,
400
398
  value: n
401
399
  },
402
- (f) => {
403
- console.log("fromNativeParams 1", f);
404
- const u = typeof f == "string" ? JSON.parse(f) : f;
405
- console.log("fromNativeParams 2", u), u.type === "success" ? (console.log("fromNativeParams 3", u.value), o(u.value)) : g(u.value);
400
+ (g) => {
401
+ console.log("fromNativeParams 1", g);
402
+ const u = typeof g == "string" ? JSON.parse(g) : g;
403
+ console.log("fromNativeParams 2", u), u.type === "success" ? (console.log("fromNativeParams 3", u.value), s(u.value)) : d(u.value);
406
404
  }
407
405
  );
408
406
  });
409
407
  };
410
408
  }), e.registerHandler(
411
409
  "receiveFromNative",
412
- (i, n) => {
413
- console.log(1111, i);
414
- const o = typeof i == "string" ? JSON.parse(i) : i;
415
- console.log(2222, o), B.get(o.type).forEach((g) => {
416
- console.log(3333, o.value), g(o.value);
410
+ (t, n) => {
411
+ console.log(1111, t);
412
+ const s = typeof t == "string" ? JSON.parse(t) : t;
413
+ console.log(2222, s), B.get(s.type).forEach((d) => {
414
+ console.log(3333, s.value), d(s.value);
417
415
  }), n();
418
416
  }
419
- ), p(), t();
417
+ ), i();
420
418
  });
421
419
  });
422
420
  }
423
- async function K(t) {
424
- l.isAlipayMini ? await $() : l.isWeChatMini ? await H(t) : l.isMobile && await G();
421
+ async function F(i) {
422
+ l.isAlipayMini ? await W() : l.isWeChatMini ? await _(i) : l.isMobile && await H();
425
423
  }
426
424
  export {
427
- s as Bridge,
425
+ o as Bridge,
428
426
  B as BridgeReceive,
429
- K as initBridge
427
+ F as initBridge
430
428
  };
431
429
  //# sourceMappingURL=mo-h5-bridge.js.map