mo-h5-bridge 0.0.40 → 0.0.41

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