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