mo-h5-bridge 0.0.13 → 0.0.15
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/dist/mo-h5-bridge.js +104 -104
- package/dist/mo-h5-bridge.js.map +1 -1
- package/dist/mo-h5-bridge.umd.cjs +1 -1
- package/dist/mo-h5-bridge.umd.cjs.map +1 -1
- package/package.json +1 -1
package/dist/mo-h5-bridge.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
function
|
1
|
+
function l(t) {
|
2
2
|
return new Promise((e) => {
|
3
3
|
const i = document.createElement("script");
|
4
|
-
i.type = "text/javascript", i.src =
|
4
|
+
i.type = "text/javascript", i.src = t, i.onload = function() {
|
5
5
|
e();
|
6
6
|
}, document.head.appendChild(i);
|
7
7
|
});
|
8
8
|
}
|
9
|
-
const c = navigator.userAgent,
|
9
|
+
const c = navigator.userAgent, p = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(c), P = /Windows|Macintosh|Linux/i.test(c) && !p, a = {
|
10
10
|
WeChatMini: "WeChatMini",
|
11
11
|
// 微信小程序
|
12
12
|
AlipayMini: "AlipayMini",
|
@@ -19,7 +19,7 @@ const c = navigator.userAgent, g = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IE
|
|
19
19
|
// 移动端
|
20
20
|
Pc: "Pc"
|
21
21
|
// pc端
|
22
|
-
},
|
22
|
+
}, d = {
|
23
23
|
["is" + a.WeChatMini]: /miniProgram/i.test(c),
|
24
24
|
// 微信小程序
|
25
25
|
["is" + a.AlipayMini]: /AlipayClient.*miniProgram/i.test(c),
|
@@ -28,7 +28,7 @@ const c = navigator.userAgent, g = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IE
|
|
28
28
|
// andorid
|
29
29
|
["is" + a.Ios]: /iPhone|iPad|iPod/i.test(c),
|
30
30
|
// ios
|
31
|
-
["is" + a.Mobile]:
|
31
|
+
["is" + a.Mobile]: p,
|
32
32
|
["is" + a.Pc]: P
|
33
33
|
}, b = "https://appx/web-view.min.js", B = {
|
34
34
|
// 用于在外勤app中,app返回到库存管理页面中,刷新库存管理页面
|
@@ -48,8 +48,8 @@ class L {
|
|
48
48
|
delete(e, i) {
|
49
49
|
if (!this.map.has(e))
|
50
50
|
return !1;
|
51
|
-
const
|
52
|
-
return
|
51
|
+
const n = this.map.get(e), s = n.delete(i);
|
52
|
+
return n.size === 0 && this.map.delete(e), s;
|
53
53
|
}
|
54
54
|
// 检查指定键的集合是否包含元素
|
55
55
|
has(e, i) {
|
@@ -85,8 +85,8 @@ class L {
|
|
85
85
|
}
|
86
86
|
// 遍历每个键的集合
|
87
87
|
forEach(e) {
|
88
|
-
this.map.forEach((i,
|
89
|
-
e(i,
|
88
|
+
this.map.forEach((i, n) => {
|
89
|
+
e(i, n, this.map);
|
90
90
|
});
|
91
91
|
}
|
92
92
|
}
|
@@ -107,151 +107,151 @@ const M = new L(), o = {
|
|
107
107
|
updateTimelineShareData: void 0,
|
108
108
|
getArea: void 0
|
109
109
|
};
|
110
|
-
async function T(
|
110
|
+
async function T(t) {
|
111
111
|
return new Promise((e, i) => {
|
112
112
|
my.getLocation({
|
113
|
-
...
|
114
|
-
success: function(
|
115
|
-
e(
|
113
|
+
...t,
|
114
|
+
success: function(n) {
|
115
|
+
e(n);
|
116
116
|
},
|
117
|
-
fail: function(
|
118
|
-
i(
|
117
|
+
fail: function(n) {
|
118
|
+
i(n);
|
119
119
|
}
|
120
120
|
});
|
121
121
|
});
|
122
122
|
}
|
123
|
-
async function A(
|
123
|
+
async function A(t) {
|
124
124
|
return new Promise((e, i) => {
|
125
125
|
my.openLocation({
|
126
|
-
...
|
127
|
-
success: function(
|
128
|
-
e(
|
126
|
+
...t,
|
127
|
+
success: function(n) {
|
128
|
+
e(n);
|
129
129
|
},
|
130
|
-
fail: function(
|
131
|
-
i(
|
130
|
+
fail: function(n) {
|
131
|
+
i(n);
|
132
132
|
}
|
133
133
|
});
|
134
134
|
});
|
135
135
|
}
|
136
|
-
async function C(
|
136
|
+
async function C(t) {
|
137
137
|
return new Promise((e, i) => {
|
138
138
|
my.navigateTo({
|
139
|
-
...
|
140
|
-
success: function(
|
141
|
-
e(
|
139
|
+
...t,
|
140
|
+
success: function(n) {
|
141
|
+
e(n);
|
142
142
|
},
|
143
|
-
fail: function(
|
144
|
-
i(
|
143
|
+
fail: function(n) {
|
144
|
+
i(n);
|
145
145
|
}
|
146
146
|
});
|
147
147
|
});
|
148
148
|
}
|
149
|
-
async function W(
|
149
|
+
async function W(t) {
|
150
150
|
return new Promise((e, i) => {
|
151
151
|
my.postMessage({
|
152
|
-
...
|
153
|
-
success: function(
|
154
|
-
e(
|
152
|
+
...t,
|
153
|
+
success: function(n) {
|
154
|
+
e(n);
|
155
155
|
},
|
156
|
-
fail: function(
|
157
|
-
i(
|
156
|
+
fail: function(n) {
|
157
|
+
i(n);
|
158
158
|
}
|
159
159
|
});
|
160
160
|
});
|
161
161
|
}
|
162
|
-
function J(
|
162
|
+
function J(t) {
|
163
163
|
my.switchTab({
|
164
|
-
url:
|
164
|
+
url: t
|
165
165
|
});
|
166
166
|
}
|
167
167
|
function x() {
|
168
168
|
o.getLocation = T, o.openLocation = A, o.navigateTo = C, o.postMessage = W, o.switchTab = J;
|
169
169
|
}
|
170
170
|
async function E() {
|
171
|
-
await
|
171
|
+
await l(b), x();
|
172
172
|
}
|
173
|
-
const
|
174
|
-
async function V(
|
173
|
+
const g = "https://res.wx.qq.com/open/js/jweixin-1.6.0.js";
|
174
|
+
async function V(t = {}) {
|
175
175
|
return new Promise((e, i) => {
|
176
176
|
wx.getLocation({
|
177
|
-
...
|
178
|
-
success: function(
|
179
|
-
e(
|
177
|
+
...t,
|
178
|
+
success: function(n) {
|
179
|
+
console.log("success", n), e(n);
|
180
180
|
},
|
181
|
-
fail: function(
|
182
|
-
i(
|
181
|
+
fail: function(n) {
|
182
|
+
console.log("fail", n), i(n);
|
183
183
|
}
|
184
184
|
});
|
185
185
|
});
|
186
186
|
}
|
187
|
-
async function S(
|
187
|
+
async function S(t) {
|
188
188
|
return new Promise((e, i) => {
|
189
189
|
wx.openLocation({
|
190
|
-
...
|
191
|
-
success: function(
|
192
|
-
e(
|
190
|
+
...t,
|
191
|
+
success: function(n) {
|
192
|
+
e(n);
|
193
193
|
},
|
194
|
-
fail: function(
|
195
|
-
i(
|
194
|
+
fail: function(n) {
|
195
|
+
i(n);
|
196
196
|
}
|
197
197
|
});
|
198
198
|
});
|
199
199
|
}
|
200
|
-
async function
|
200
|
+
async function m(t) {
|
201
201
|
return new Promise((e, i) => {
|
202
202
|
wx.miniProgram.postMessage({
|
203
|
-
...
|
204
|
-
success: function(
|
205
|
-
e(
|
203
|
+
...t,
|
204
|
+
success: function(n) {
|
205
|
+
e(n);
|
206
206
|
},
|
207
|
-
fail: function(
|
208
|
-
i(
|
207
|
+
fail: function(n) {
|
208
|
+
i(n);
|
209
209
|
}
|
210
210
|
});
|
211
211
|
});
|
212
212
|
}
|
213
|
-
async function
|
213
|
+
async function w(t) {
|
214
214
|
return new Promise((e, i) => {
|
215
215
|
wx.miniProgram.navigateTo({
|
216
|
-
...
|
217
|
-
success: function(
|
218
|
-
e(
|
216
|
+
...t,
|
217
|
+
success: function(n) {
|
218
|
+
e(n);
|
219
219
|
},
|
220
|
-
fail: function(
|
221
|
-
i(
|
220
|
+
fail: function(n) {
|
221
|
+
i(n);
|
222
222
|
}
|
223
223
|
});
|
224
224
|
});
|
225
225
|
}
|
226
|
-
async function h(
|
226
|
+
async function h(t) {
|
227
227
|
return new Promise((e, i) => {
|
228
228
|
wx.miniProgram.navigateBack({
|
229
|
-
...
|
230
|
-
success: function(
|
231
|
-
e(
|
229
|
+
...t,
|
230
|
+
success: function(n) {
|
231
|
+
e(n);
|
232
232
|
},
|
233
|
-
fail: function(
|
234
|
-
i(
|
233
|
+
fail: function(n) {
|
234
|
+
i(n);
|
235
235
|
}
|
236
236
|
});
|
237
237
|
});
|
238
238
|
}
|
239
|
-
function v(
|
240
|
-
wx.miniProgram.switchTab(
|
239
|
+
function v(t) {
|
240
|
+
wx.miniProgram.switchTab(t);
|
241
241
|
}
|
242
242
|
function j() {
|
243
|
-
o.getLocation = V, o.openLocation = S, o.postMessage =
|
243
|
+
o.getLocation = V, o.openLocation = S, o.postMessage = m, o.navigateTo = w, o.navigateBack = h, o.switchTab = v;
|
244
244
|
}
|
245
245
|
function I() {
|
246
|
-
o.postMessage =
|
246
|
+
o.postMessage = m, o.navigateTo = w, o.navigateBack = h, o.switchTab = v;
|
247
247
|
}
|
248
|
-
async function R(
|
248
|
+
async function R(t) {
|
249
249
|
const e = location.href.split("#")[0];
|
250
|
-
return await fetch(`${
|
250
|
+
return await fetch(`${t.requestUrl}?url=${e}`).then((i) => i.json());
|
251
251
|
}
|
252
|
-
function $(
|
252
|
+
function $(t) {
|
253
253
|
async function e() {
|
254
|
-
const i = await R(
|
254
|
+
const i = await R(t);
|
255
255
|
wx.config({
|
256
256
|
debug: !1,
|
257
257
|
appId: i.data.appId,
|
@@ -278,75 +278,75 @@ function $(n) {
|
|
278
278
|
1e3 * 60 * 4
|
279
279
|
), Promise.resolve();
|
280
280
|
}
|
281
|
-
async function
|
282
|
-
await
|
281
|
+
async function N() {
|
282
|
+
await l(g), I();
|
283
283
|
}
|
284
|
-
async function
|
285
|
-
await
|
284
|
+
async function k(t) {
|
285
|
+
await l(g), await $(t), wx.ready(function() {
|
286
286
|
j();
|
287
287
|
});
|
288
288
|
}
|
289
|
-
const y =
|
290
|
-
window.WebViewJavascriptBridge ?
|
289
|
+
const y = d.isAndroid, O = (t) => {
|
290
|
+
window.WebViewJavascriptBridge ? t(window.WebViewJavascriptBridge) : document.addEventListener(
|
291
291
|
"WebViewJavascriptBridgeReady",
|
292
292
|
function() {
|
293
|
-
|
293
|
+
t(window.WebViewJavascriptBridge);
|
294
294
|
},
|
295
295
|
!1
|
296
296
|
);
|
297
|
-
},
|
297
|
+
}, D = (t) => {
|
298
298
|
if (window.WebViewJavascriptBridge)
|
299
|
-
return
|
299
|
+
return t(window.WebViewJavascriptBridge);
|
300
300
|
if (window.WVJBCallbacks)
|
301
|
-
return window.WVJBCallbacks.push(
|
302
|
-
window.WVJBCallbacks = [
|
301
|
+
return window.WVJBCallbacks.push(t);
|
302
|
+
window.WVJBCallbacks = [t];
|
303
303
|
const e = document.createElement("iframe");
|
304
304
|
e.style.display = "none", e.src = "wvjbscheme://__BRIDGE_LOADED__", document.documentElement.appendChild(e), setTimeout(function() {
|
305
305
|
document.documentElement.removeChild(e);
|
306
306
|
}, 0);
|
307
307
|
};
|
308
|
-
window.setupWebViewJavascriptBridge = y ?
|
309
|
-
y && window.setupWebViewJavascriptBridge(function(
|
310
|
-
|
308
|
+
window.setupWebViewJavascriptBridge = y ? O : D;
|
309
|
+
y && window.setupWebViewJavascriptBridge(function(t) {
|
310
|
+
t.init(function(e, i) {
|
311
311
|
alert(e), i("JS 返回给原生的消息内容");
|
312
312
|
});
|
313
313
|
});
|
314
314
|
async function _() {
|
315
|
-
return new Promise((
|
315
|
+
return new Promise((t) => {
|
316
316
|
window.setupWebViewJavascriptBridge((e) => {
|
317
317
|
Object.keys(o).forEach((i) => {
|
318
|
-
o[i] = function(
|
319
|
-
return new Promise((s,
|
318
|
+
o[i] = function(n) {
|
319
|
+
return new Promise((s, f) => {
|
320
320
|
e.callHandler(
|
321
321
|
"sendToNative",
|
322
322
|
// 传递给原生的参数
|
323
323
|
{
|
324
324
|
type: i,
|
325
|
-
value:
|
325
|
+
value: n
|
326
326
|
},
|
327
|
-
(
|
328
|
-
console.log("
|
329
|
-
const
|
330
|
-
|
327
|
+
(u) => {
|
328
|
+
console.log("fromNativeParams 1", u);
|
329
|
+
const r = typeof u == "string" ? JSON.parse(u) : u;
|
330
|
+
console.log("fromNativeParams 2", r), r.type === "success" ? (console.log("fromNativeParams 3", r.value), s(r.value)) : f(r.value);
|
331
331
|
}
|
332
332
|
);
|
333
333
|
});
|
334
334
|
};
|
335
335
|
}), e.registerHandler(
|
336
336
|
"receiveFromNative",
|
337
|
-
(i,
|
337
|
+
(i, n) => {
|
338
338
|
console.log(1111, i);
|
339
339
|
const s = typeof i == "string" ? JSON.parse(i) : i;
|
340
|
-
console.log(2222, s), M.get(s.type).forEach((
|
341
|
-
console.log(3333, s.value),
|
342
|
-
}),
|
340
|
+
console.log(2222, s), M.get(s.type).forEach((f) => {
|
341
|
+
console.log(3333, s.value), f(s.value);
|
342
|
+
}), n();
|
343
343
|
}
|
344
|
-
),
|
344
|
+
), t();
|
345
345
|
});
|
346
346
|
});
|
347
347
|
}
|
348
|
-
async function H(
|
349
|
-
|
348
|
+
async function H(t) {
|
349
|
+
d.isAlipayMini ? await E() : d.isWeChatMini ? !t || !t.token ? await N() : await k(t) : d.isMobile && await _();
|
350
350
|
}
|
351
351
|
export {
|
352
352
|
o as Bridge,
|
package/dist/mo-h5-bridge.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mo-h5-bridge.js","sources":["../node_modules/.pnpm/mo-front-end-util@0.0.12_po_95e3fb4d25c5bdc692c7c22d4373e712/node_modules/mo-front-end-util/dist/mo-front-end-util.js","../package/sdk/alipay/const.ts","../package/sdk/mobile/bridge-receive.ts","../package/const.ts","../package/sdk/alipay/get-location/index.ts","../package/sdk/alipay/open-location/index.ts","../package/sdk/alipay/navigate-to/index.ts","../package/sdk/alipay/post-message/index.ts","../package/sdk/alipay/switch-tab/index.ts","../package/sdk/alipay/register.ts","../package/sdk/alipay/index.ts","../package/sdk/we-chat/const.ts","../package/sdk/we-chat/get-location/index.ts","../package/sdk/we-chat/open-location/index.ts","../package/sdk/we-chat/post-message/index.ts","../package/sdk/we-chat/navigate-to/index.ts","../package/sdk/we-chat/navigate-back/index.ts","../package/sdk/we-chat/switch-tab/index.ts","../package/sdk/we-chat/register.ts","../package/sdk/we-chat/index.ts","../package/sdk/mobile/depend.ts","../package/sdk/mobile/index.ts","../package/main.ts"],"sourcesContent":["const a = /^1[3456789]\\d{9}$/, c = /[\\(\\)\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\-\\+\\=\\_\\|\\{\\}\\[\\]\\:\\;\\'\\<\\>\\,\\.\\?\\\\]/, r = /^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/])[\\da-zA-Z`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/]{12,30}$/;\nfunction l(o) {\n return new Promise((t) => {\n const i = document.createElement(\"script\");\n i.type = \"text/javascript\", i.src = o, i.onload = function() {\n t();\n }, document.head.appendChild(i);\n });\n}\nfunction p(o, t) {\n const i = document.createElement(\"a\");\n i.href = URL.createObjectURL(o), i.target = \"_blank\", i.download = t, document.body.appendChild(i), i.click(), URL.revokeObjectURL(i.href), document.body.removeChild(i);\n}\nconst n = navigator.userAgent, d = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n), s = /Windows|Macintosh|Linux/i.test(n) && !d, e = {\n WeChatMini: \"WeChatMini\",\n // 微信小程序\n AlipayMini: \"AlipayMini\",\n // 支付宝小程序\n Android: \"Android\",\n // 安卓端\n Ios: \"Ios\",\n // ios端\n Mobile: \"Mobile\",\n // 移动端\n Pc: \"Pc\"\n // pc端\n}, h = {\n [\"is\" + e.WeChatMini]: /miniProgram/i.test(n),\n // 微信小程序\n [\"is\" + e.AlipayMini]: /AlipayClient.*miniProgram/i.test(n),\n // 支付宝小程序\n [\"is\" + e.Android]: /Android/i.test(n),\n // andorid\n [\"is\" + e.Ios]: /iPhone|iPad|iPod/i.test(n),\n // ios\n [\"is\" + e.Mobile]: d,\n [\"is\" + e.Pc]: s\n};\nexport {\n e as ALL_ENV,\n h as RUN_ENV,\n p as downloadByBlob,\n l as downloadCdn,\n r as passwordReg,\n a as phoneReg,\n c as specialCharReg\n};\n//# sourceMappingURL=mo-front-end-util.js.map\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://appx/web-view.min.js';\r\n","/* eslint-disable */\r\n\r\n// 下面这个方法仅用作展示,告诉使用者总共有哪些内容\r\nconst BridgeReceiveName = {\r\n // 用于在外勤app中,app返回到库存管理页面中,刷新库存管理页面\r\n refreshCar: undefined\r\n};\r\n\r\nclass BridgeReceiveCls {\r\n constructor() {\r\n this.map = new Map();\r\n Object.keys(BridgeReceiveName).forEach((key) => {\r\n this.map.set(key, new Set());\r\n });\r\n }\r\n\r\n // 添加元素到指定键的集合\r\n add(key, value) {\r\n if (!this.map.has(key)) {\r\n this.map.set(key, new Set());\r\n }\r\n this.map.get(key).add(value);\r\n return this;\r\n }\r\n\r\n // 从指定键的集合中删除元素\r\n delete(key, value) {\r\n if (!this.map.has(key)) return false;\r\n const set = this.map.get(key);\r\n const result = set.delete(value);\r\n // 如果集合为空,删除键\r\n if (set.size === 0) {\r\n this.map.delete(key);\r\n }\r\n return result;\r\n }\r\n\r\n // 检查指定键的集合是否包含元素\r\n has(key, value) {\r\n return this.map.has(key) && this.map.get(key).has(value);\r\n }\r\n\r\n // 获取指定键的集合\r\n get(key) {\r\n return this.map.get(key) || new Set();\r\n }\r\n\r\n // 删除整个键及其集合\r\n deleteKey(key) {\r\n return this.map.delete(key);\r\n }\r\n\r\n // 检查键是否存在\r\n hasKey(key) {\r\n return this.map.has(key);\r\n }\r\n\r\n // 获取所有键\r\n keys() {\r\n return this.map.keys();\r\n }\r\n\r\n // 获取所有值集合\r\n values() {\r\n return this.map.values();\r\n }\r\n\r\n // 获取所有 [键, 集合] 对\r\n entries() {\r\n return this.map.entries();\r\n }\r\n\r\n // 清空所有数据\r\n clear() {\r\n this.map.clear();\r\n }\r\n\r\n // 遍历每个键的集合\r\n forEach(callback) {\r\n this.map.forEach((set, key) => {\r\n callback(set, key, this.map);\r\n });\r\n }\r\n}\r\n\r\nexport const BridgeReceive = new BridgeReceiveCls();\r\n","import { BridgeReceive } from './sdk/mobile/bridge-receive';\r\n\r\n// 桥接对象,供外部使用,这里需要表示出全部内容,既供外部调用,也展示出来方便查看\r\nconst Bridge: {\r\n // 范围:wechat\r\n // 功能:请求授权\r\n // 参数:wechat\r\n authorize: any;\r\n // 范围:wechat\r\n // 功能:获取位置 参数:\r\n // wechat、\r\n getLocation: any;\r\n // 范围:wechat\r\n // 功能:打开地图\r\n // 参数:wechat\r\n openLocation: any;\r\n // 范围:wechat\r\n // 功能:开启设置\r\n // 参数:wechat\r\n openSetting: any;\r\n openURL: any;\r\n // 范围:wechat(不能跳转tab页)、客户端\r\n // 功能:跳转到某一页\r\n // 参数:wechat\r\n navigateTo: any;\r\n // 范围:wechat\r\n // 功能:发送消息(wechat小程序中只能在h5退出项目时才能触发)\r\n // 参数:wechat\r\n postMessage: any;\r\n // 范围:android、ios\r\n // 功能:获取token\r\n // 参数:无\r\n getToken: any;\r\n // 范围:wechat\r\n // 功能:跳转tab页\r\n // 参数:wechat\r\n switchTab: any;\r\n // 范围:客户端\r\n // 功能:进入订单详情页,库存页面,点击订单进入详情页\r\n // 参数:无\r\n gotoOrderDetail: any;\r\n // 范围:客户端\r\n // 功能:获取库存页面的区域\r\n // 参数:无\r\n getAreas: any;\r\n // 范围:wechat、客户端\r\n // 功能:返回上一级\r\n // 参数:无\r\n navigateBack: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享给朋友”及“分享到QQ”按钮的分享内容\r\n // 参数:wechat\r\n updateAppMessageShareData: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容\r\n // 参数:wechat\r\n updateTimelineShareData: any;\r\n // 范围:客户端\r\n // 功能:获取区域\r\n // 参数:无\r\n getArea: any;\r\n} = {\r\n authorize: undefined,\r\n getLocation: undefined,\r\n openLocation: undefined,\r\n openSetting: undefined,\r\n openURL: undefined,\r\n navigateTo: undefined,\r\n postMessage: undefined,\r\n getToken: undefined,\r\n switchTab: undefined,\r\n gotoOrderDetail: undefined,\r\n getAreas: undefined,\r\n navigateBack: undefined,\r\n updateAppMessageShareData: undefined,\r\n updateTimelineShareData: undefined,\r\n getArea: undefined\r\n};\r\n\r\nexport { Bridge, BridgeReceive };\r\n","export async function getLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n my.switchTab({\r\n url\r\n });\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { navigateTo } from './navigate-to';\r\nimport { postMessage } from './post-message';\r\nimport { switchTab } from './switch-tab';\r\n\r\n// 在这里添加具体的需要暴露的方法名\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.postMessage = postMessage;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register } from './register';\r\n\r\nexport async function init() {\r\n await downloadCdn(URL_PATH);\r\n\r\n register();\r\n}\r\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';\r\n","export async function getLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateBack(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateBack({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n wx.miniProgram.switchTab(url);\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { postMessage } from './post-message';\r\nimport { navigateTo } from './navigate-to';\r\nimport { navigateBack } from './navigate-back';\r\nimport { switchTab } from './switch-tab';\r\n// import { updateAppMessageShareData } from './update-app-message-share-data';\r\n// import { updateTimelineShareData } from './update-timeline-share-data';\r\n\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n // Bridge.updateAppMessageShareData = updateAppMessageShareData;\r\n // Bridge.updateTimelineShareData = updateTimelineShareData;\r\n}\r\n\r\nexport function notLoginRegister() {\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register, notLoginRegister } from './register';\r\n\r\nasync function getConfig(arg: InitWxConfigType) {\r\n const urlParam = location.href.split('#')[0];\r\n\r\n return await fetch(`${arg.requestUrl}?url=${urlParam}`).then((response) => {\r\n return response.json();\r\n });\r\n\r\n // return await fetch(`${arg.requestUrl}?url=${urlParam}`, {\r\n // headers: {\r\n // token: arg.token,\r\n // 'Content-Type': 'application/json'\r\n // }\r\n // }).then((response) => {\r\n // return response.json();\r\n // });\r\n}\r\n\r\nfunction setConfig(arg: InitWxConfigType) {\r\n async function initConfig() {\r\n const configData = await getConfig(arg);\r\n wx.config({\r\n debug: false,\r\n appId: configData.data.appId,\r\n timestamp: configData.data.timestamp,\r\n nonceStr: configData.data.nonceStr,\r\n signature: configData.data.signature,\r\n jsApiList: [\r\n // 获取当前的地理位置、速度:\r\n // 微信小程序与支付宝同名\r\n 'getLocation',\r\n // 使用微信内置地图查看位置:\r\n // 微信小程序与支付宝同名\r\n 'openLocation',\r\n 'startRecord',\r\n 'chooseImage',\r\n 'scanQRCode'\r\n ]\r\n });\r\n }\r\n\r\n initConfig();\r\n\r\n // // wx.error只需要注册一次,每次失败间隔会重新初始化\r\n // wx.error(() => {\r\n // setTimeout(() => {\r\n // initConfig();\r\n // }, 1000 * 3);\r\n // });\r\n\r\n // 签名5min会过期,所以需要定时更新签名\r\n setInterval(\r\n async (res) => {\r\n console.log('js-sdk 重新初始化', res);\r\n initConfig();\r\n },\r\n 1000 * 60 * 4\r\n );\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nasync function wcChatInitNotLogin() {\r\n await downloadCdn(URL_PATH);\r\n\r\n notLoginRegister();\r\n}\r\n\r\nexport async function init(arg: InitWxConfigType) {\r\n await downloadCdn(URL_PATH);\r\n await setConfig(arg);\r\n\r\n wx.ready(function () {\r\n register();\r\n });\r\n}\r\n\r\nexport { wcChatInitNotLogin };\r\n","/**\r\n * 使用 JSBridge 总结:\r\n * 1、跟 IOS 交互的时候,只需要且必须注册 iosFunction 方法即可,\r\n * 不能在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则 IOS 无法调用到 H5 的注册函数;\r\n * 2、与安卓进行交互的时候\r\n * ①、使用 iosFunction,就可以实现 H5 调用 安卓的注册函数,但是安卓无法调用 H5 的注册函数,\r\n * 并且 H5 调用安卓成功后的回调函数也无法执行\r\n * ②、使用 androidFunction 并且要在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,\r\n * 安卓才可以正常调用 H5 的回调函数,并且 H5 调用安卓成功后的回调函数也可以正常执行了\r\n */\r\n\r\n// @ts-nocheck\r\n\r\nimport { RUN_ENV } from 'mo-front-end-util';\r\n\r\nconst isAndroid = RUN_ENV.isAndroid;\r\n\r\n/**\r\n * Android 与安卓交互时:\r\n * 1、不调用这个函数安卓无法调用 H5 注册的事件函数;\r\n * 2、但是 H5 可以正常调用安卓注册的事件函数;\r\n * 3、还必须在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则:\r\n * ①、安卓依然无法调用 H5 注册的事件函数\r\n * ①、H5 正常调用安卓事件函数后的回调函数无法正常执行\r\n *\r\n * @param {*} callback\r\n */\r\nconst androidFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n callback(window.WebViewJavascriptBridge);\r\n } else {\r\n document.addEventListener(\r\n 'WebViewJavascriptBridgeReady',\r\n function () {\r\n callback(window.WebViewJavascriptBridge);\r\n },\r\n false\r\n );\r\n }\r\n};\r\n\r\n/**\r\n * IOS 与 IOS 交互时,使用这个函数即可,别的操作都不需要执行\r\n * @param {*} callback\r\n */\r\nconst iosFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n return callback(window.WebViewJavascriptBridge);\r\n }\r\n if (window.WVJBCallbacks) {\r\n return window.WVJBCallbacks.push(callback);\r\n }\r\n window.WVJBCallbacks = [callback];\r\n const WVJBIframe = document.createElement('iframe');\r\n WVJBIframe.style.display = 'none';\r\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';\r\n document.documentElement.appendChild(WVJBIframe);\r\n setTimeout(function () {\r\n document.documentElement.removeChild(WVJBIframe);\r\n }, 0);\r\n};\r\n\r\n/**\r\n * 注册 setupWebViewJavascriptBridge 方法\r\n * 之所以不将上面两个方法融合成一个方法,是因为放在一起,那么就只有 iosFunction 中相关的方法体生效\r\n */\r\nwindow.setupWebViewJavascriptBridge = isAndroid ? androidFunction : iosFunction;\r\n\r\n/**\r\n * 这里如果不做判断是不是安卓,而是直接就执行下面的方法,就会导致\r\n * 1、IOS 无法调用 H5 这边注册的事件函数\r\n * 2、H5 可以正常调用 IOS 这边的事件函数,并且 H5 的回调函数可以正常执行\r\n */\r\nif (isAndroid) {\r\n /**\r\n * 与安卓交互时,不调用这个函数会导致:\r\n * 1、H5 可以正常调用 安卓这边的事件函数,但是无法再调用到 H5 的回调函数\r\n *\r\n * 前提 setupWebViewJavascriptBridge 这个函数使用的是 androidFunction 这个,否则还是会导致上面 1 的现象出现\r\n */\r\n window.setupWebViewJavascriptBridge(function (bridge) {\r\n // 注册 H5 界面的默认接收函数(与安卓交互时,不注册这个事件无法接收回调函数)\r\n bridge.init(function (msg, responseCallback) {\r\n alert(msg);\r\n responseCallback('JS 返回给原生的消息内容');\r\n });\r\n });\r\n}\r\n","import './depend';\r\nimport { Bridge } from '../../const';\r\nimport { BridgeReceive } from './bridge-receive.ts';\r\n\r\nexport async function init() {\r\n return new Promise((resolve) => {\r\n // @ts-ignore\r\n window.setupWebViewJavascriptBridge((bridge) => {\r\n // H5给原生发消息\r\n Object.keys(Bridge).forEach((name) => {\r\n Bridge[name as keyof typeof Bridge] = function (toNativeParams: unknown) {\r\n return new Promise((resolve, reject) => {\r\n // 调用原生方法\r\n bridge.callHandler(\r\n 'sendToNative',\r\n // 传递给原生的参数\r\n {\r\n type: name,\r\n value: toNativeParams\r\n },\r\n (data: { type: string; value: any } | string) => {\r\n console.log('name2 fromNativeParams', data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n // 原生返回回来的数据\r\n if (result.type === 'success') {\r\n resolve(result.value);\r\n } else {\r\n reject(result.value);\r\n }\r\n }\r\n );\r\n });\r\n };\r\n });\r\n\r\n // 原生给H5发消息\r\n bridge.registerHandler(\r\n 'receiveFromNative',\r\n (data: { type: string; value: any } | string, fn) => {\r\n // 从原生接到数据的数据结构\r\n // {\r\n // type: 自定义的交互名,\r\n // value: 给前端的参数\r\n // }\r\n\r\n console.log(1111, data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n console.log(2222, result);\r\n\r\n BridgeReceive.get(result.type).forEach((cb) => {\r\n console.log(3333, result.value);\r\n cb(result.value);\r\n });\r\n\r\n // 原生要求必须回调\r\n fn();\r\n }\r\n );\r\n\r\n resolve();\r\n });\r\n });\r\n}\r\n","import { RUN_ENV } from 'mo-front-end-util';\r\nimport { init as alipayInit } from './sdk/alipay/index';\r\nimport { init as weChatInit, wcChatInitNotLogin } from './sdk/we-chat/index';\r\nimport { init as mobileInit } from './sdk/mobile/index';\r\nimport { Bridge, BridgeReceive } from './const';\r\n\r\nasync function initBridge(arg: void | InitWxConfigType) {\r\n if (RUN_ENV.isAlipayMini) {\r\n await alipayInit();\r\n } else if (RUN_ENV.isWeChatMini) {\r\n if (!arg || !arg.token) {\r\n await wcChatInitNotLogin();\r\n } else {\r\n await weChatInit(arg as InitWxConfigType);\r\n }\r\n } else if (RUN_ENV.isMobile) {\r\n await mobileInit();\r\n }\r\n}\r\n\r\nexport { Bridge, BridgeReceive, initBridge };\r\n"],"names":["l","o","t","n","d","s","e","h","URL_PATH","BridgeReceiveName","BridgeReceiveCls","key","value","set","result","callback","BridgeReceive","Bridge","getLocation","args","resolve","reject","res","err","openLocation","navigateTo","postMessage","switchTab","url","register","init","downloadCdn","navigateBack","notLoginRegister","getConfig","arg","urlParam","response","setConfig","initConfig","configData","wcChatInitNotLogin","isAndroid","RUN_ENV","androidFunction","iosFunction","WVJBIframe","bridge","msg","responseCallback","name","toNativeParams","data","fn","cb","initBridge","alipayInit","weChatInit","mobileInit"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"mo-h5-bridge.js","sources":["../node_modules/.pnpm/mo-front-end-util@0.0.12_po_95e3fb4d25c5bdc692c7c22d4373e712/node_modules/mo-front-end-util/dist/mo-front-end-util.js","../package/sdk/alipay/const.ts","../package/sdk/mobile/bridge-receive.ts","../package/const.ts","../package/sdk/alipay/get-location/index.ts","../package/sdk/alipay/open-location/index.ts","../package/sdk/alipay/navigate-to/index.ts","../package/sdk/alipay/post-message/index.ts","../package/sdk/alipay/switch-tab/index.ts","../package/sdk/alipay/register.ts","../package/sdk/alipay/index.ts","../package/sdk/we-chat/const.ts","../package/sdk/we-chat/get-location/index.ts","../package/sdk/we-chat/open-location/index.ts","../package/sdk/we-chat/post-message/index.ts","../package/sdk/we-chat/navigate-to/index.ts","../package/sdk/we-chat/navigate-back/index.ts","../package/sdk/we-chat/switch-tab/index.ts","../package/sdk/we-chat/register.ts","../package/sdk/we-chat/index.ts","../package/sdk/mobile/depend.ts","../package/sdk/mobile/index.ts","../package/main.ts"],"sourcesContent":["const a = /^1[3456789]\\d{9}$/, c = /[\\(\\)\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\-\\+\\=\\_\\|\\{\\}\\[\\]\\:\\;\\'\\<\\>\\,\\.\\?\\\\]/, r = /^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/])[\\da-zA-Z`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/]{12,30}$/;\nfunction l(o) {\n return new Promise((t) => {\n const i = document.createElement(\"script\");\n i.type = \"text/javascript\", i.src = o, i.onload = function() {\n t();\n }, document.head.appendChild(i);\n });\n}\nfunction p(o, t) {\n const i = document.createElement(\"a\");\n i.href = URL.createObjectURL(o), i.target = \"_blank\", i.download = t, document.body.appendChild(i), i.click(), URL.revokeObjectURL(i.href), document.body.removeChild(i);\n}\nconst n = navigator.userAgent, d = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n), s = /Windows|Macintosh|Linux/i.test(n) && !d, e = {\n WeChatMini: \"WeChatMini\",\n // 微信小程序\n AlipayMini: \"AlipayMini\",\n // 支付宝小程序\n Android: \"Android\",\n // 安卓端\n Ios: \"Ios\",\n // ios端\n Mobile: \"Mobile\",\n // 移动端\n Pc: \"Pc\"\n // pc端\n}, h = {\n [\"is\" + e.WeChatMini]: /miniProgram/i.test(n),\n // 微信小程序\n [\"is\" + e.AlipayMini]: /AlipayClient.*miniProgram/i.test(n),\n // 支付宝小程序\n [\"is\" + e.Android]: /Android/i.test(n),\n // andorid\n [\"is\" + e.Ios]: /iPhone|iPad|iPod/i.test(n),\n // ios\n [\"is\" + e.Mobile]: d,\n [\"is\" + e.Pc]: s\n};\nexport {\n e as ALL_ENV,\n h as RUN_ENV,\n p as downloadByBlob,\n l as downloadCdn,\n r as passwordReg,\n a as phoneReg,\n c as specialCharReg\n};\n//# sourceMappingURL=mo-front-end-util.js.map\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://appx/web-view.min.js';\r\n","/* eslint-disable */\r\n\r\n// 下面这个方法仅用作展示,告诉使用者总共有哪些内容\r\nconst BridgeReceiveName = {\r\n // 用于在外勤app中,app返回到库存管理页面中,刷新库存管理页面\r\n refreshCar: undefined\r\n};\r\n\r\nclass BridgeReceiveCls {\r\n constructor() {\r\n this.map = new Map();\r\n Object.keys(BridgeReceiveName).forEach((key) => {\r\n this.map.set(key, new Set());\r\n });\r\n }\r\n\r\n // 添加元素到指定键的集合\r\n add(key, value) {\r\n if (!this.map.has(key)) {\r\n this.map.set(key, new Set());\r\n }\r\n this.map.get(key).add(value);\r\n return this;\r\n }\r\n\r\n // 从指定键的集合中删除元素\r\n delete(key, value) {\r\n if (!this.map.has(key)) return false;\r\n const set = this.map.get(key);\r\n const result = set.delete(value);\r\n // 如果集合为空,删除键\r\n if (set.size === 0) {\r\n this.map.delete(key);\r\n }\r\n return result;\r\n }\r\n\r\n // 检查指定键的集合是否包含元素\r\n has(key, value) {\r\n return this.map.has(key) && this.map.get(key).has(value);\r\n }\r\n\r\n // 获取指定键的集合\r\n get(key) {\r\n return this.map.get(key) || new Set();\r\n }\r\n\r\n // 删除整个键及其集合\r\n deleteKey(key) {\r\n return this.map.delete(key);\r\n }\r\n\r\n // 检查键是否存在\r\n hasKey(key) {\r\n return this.map.has(key);\r\n }\r\n\r\n // 获取所有键\r\n keys() {\r\n return this.map.keys();\r\n }\r\n\r\n // 获取所有值集合\r\n values() {\r\n return this.map.values();\r\n }\r\n\r\n // 获取所有 [键, 集合] 对\r\n entries() {\r\n return this.map.entries();\r\n }\r\n\r\n // 清空所有数据\r\n clear() {\r\n this.map.clear();\r\n }\r\n\r\n // 遍历每个键的集合\r\n forEach(callback) {\r\n this.map.forEach((set, key) => {\r\n callback(set, key, this.map);\r\n });\r\n }\r\n}\r\n\r\nexport const BridgeReceive = new BridgeReceiveCls();\r\n","import { BridgeReceive } from './sdk/mobile/bridge-receive';\r\n\r\n// 桥接对象,供外部使用,这里需要表示出全部内容,既供外部调用,也展示出来方便查看\r\nconst Bridge: {\r\n // 范围:wechat\r\n // 功能:请求授权\r\n // 参数:wechat\r\n authorize: any;\r\n // 范围:wechat\r\n // 功能:获取位置 参数:\r\n // wechat、\r\n getLocation: any;\r\n // 范围:wechat\r\n // 功能:打开地图\r\n // 参数:wechat\r\n openLocation: any;\r\n // 范围:wechat\r\n // 功能:开启设置\r\n // 参数:wechat\r\n openSetting: any;\r\n openURL: any;\r\n // 范围:wechat(不能跳转tab页)、客户端\r\n // 功能:跳转到某一页\r\n // 参数:wechat\r\n navigateTo: any;\r\n // 范围:wechat\r\n // 功能:发送消息(wechat小程序中只能在h5退出项目时才能触发)\r\n // 参数:wechat\r\n postMessage: any;\r\n // 范围:android、ios\r\n // 功能:获取token\r\n // 参数:无\r\n getToken: any;\r\n // 范围:wechat\r\n // 功能:跳转tab页\r\n // 参数:wechat\r\n switchTab: any;\r\n // 范围:客户端\r\n // 功能:进入订单详情页,库存页面,点击订单进入详情页\r\n // 参数:无\r\n gotoOrderDetail: any;\r\n // 范围:客户端\r\n // 功能:获取库存页面的区域\r\n // 参数:无\r\n getAreas: any;\r\n // 范围:wechat、客户端\r\n // 功能:返回上一级\r\n // 参数:无\r\n navigateBack: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享给朋友”及“分享到QQ”按钮的分享内容\r\n // 参数:wechat\r\n updateAppMessageShareData: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容\r\n // 参数:wechat\r\n updateTimelineShareData: any;\r\n // 范围:客户端\r\n // 功能:获取区域\r\n // 参数:无\r\n getArea: any;\r\n} = {\r\n authorize: undefined,\r\n getLocation: undefined,\r\n openLocation: undefined,\r\n openSetting: undefined,\r\n openURL: undefined,\r\n navigateTo: undefined,\r\n postMessage: undefined,\r\n getToken: undefined,\r\n switchTab: undefined,\r\n gotoOrderDetail: undefined,\r\n getAreas: undefined,\r\n navigateBack: undefined,\r\n updateAppMessageShareData: undefined,\r\n updateTimelineShareData: undefined,\r\n getArea: undefined\r\n};\r\n\r\nexport { Bridge, BridgeReceive };\r\n","export async function getLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n my.switchTab({\r\n url\r\n });\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { navigateTo } from './navigate-to';\r\nimport { postMessage } from './post-message';\r\nimport { switchTab } from './switch-tab';\r\n\r\n// 在这里添加具体的需要暴露的方法名\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.postMessage = postMessage;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register } from './register';\r\n\r\nexport async function init() {\r\n await downloadCdn(URL_PATH);\r\n\r\n register();\r\n}\r\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';\r\n","export async function getLocation(args: any = {}) {\r\n return new Promise((resolve, reject) => {\r\n wx.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n console.log('success', res);\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n console.log('fail', err);\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateBack(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateBack({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n wx.miniProgram.switchTab(url);\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { postMessage } from './post-message';\r\nimport { navigateTo } from './navigate-to';\r\nimport { navigateBack } from './navigate-back';\r\nimport { switchTab } from './switch-tab';\r\n// import { updateAppMessageShareData } from './update-app-message-share-data';\r\n// import { updateTimelineShareData } from './update-timeline-share-data';\r\n\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n // Bridge.updateAppMessageShareData = updateAppMessageShareData;\r\n // Bridge.updateTimelineShareData = updateTimelineShareData;\r\n}\r\n\r\nexport function notLoginRegister() {\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register, notLoginRegister } from './register';\r\n\r\nasync function getConfig(arg: InitWxConfigType) {\r\n const urlParam = location.href.split('#')[0];\r\n\r\n return await fetch(`${arg.requestUrl}?url=${urlParam}`).then((response) => {\r\n return response.json();\r\n });\r\n\r\n // return await fetch(`${arg.requestUrl}?url=${urlParam}`, {\r\n // headers: {\r\n // token: arg.token,\r\n // 'Content-Type': 'application/json'\r\n // }\r\n // }).then((response) => {\r\n // return response.json();\r\n // });\r\n}\r\n\r\nfunction setConfig(arg: InitWxConfigType) {\r\n async function initConfig() {\r\n const configData = await getConfig(arg);\r\n wx.config({\r\n debug: false,\r\n appId: configData.data.appId,\r\n timestamp: configData.data.timestamp,\r\n nonceStr: configData.data.nonceStr,\r\n signature: configData.data.signature,\r\n jsApiList: [\r\n // 获取当前的地理位置、速度:\r\n // 微信小程序与支付宝同名\r\n 'getLocation',\r\n // 使用微信内置地图查看位置:\r\n // 微信小程序与支付宝同名\r\n 'openLocation',\r\n 'startRecord',\r\n 'chooseImage',\r\n 'scanQRCode'\r\n ]\r\n });\r\n }\r\n\r\n initConfig();\r\n\r\n // // wx.error只需要注册一次,每次失败间隔会重新初始化\r\n // wx.error(() => {\r\n // setTimeout(() => {\r\n // initConfig();\r\n // }, 1000 * 3);\r\n // });\r\n\r\n // 签名5min会过期,所以需要定时更新签名\r\n setInterval(\r\n async (res) => {\r\n console.log('js-sdk 重新初始化', res);\r\n initConfig();\r\n },\r\n 1000 * 60 * 4\r\n );\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nasync function wcChatInitNotLogin() {\r\n await downloadCdn(URL_PATH);\r\n\r\n notLoginRegister();\r\n}\r\n\r\nexport async function init(arg: InitWxConfigType) {\r\n await downloadCdn(URL_PATH);\r\n await setConfig(arg);\r\n\r\n wx.ready(function () {\r\n register();\r\n });\r\n}\r\n\r\nexport { wcChatInitNotLogin };\r\n","/**\r\n * 使用 JSBridge 总结:\r\n * 1、跟 IOS 交互的时候,只需要且必须注册 iosFunction 方法即可,\r\n * 不能在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则 IOS 无法调用到 H5 的注册函数;\r\n * 2、与安卓进行交互的时候\r\n * ①、使用 iosFunction,就可以实现 H5 调用 安卓的注册函数,但是安卓无法调用 H5 的注册函数,\r\n * 并且 H5 调用安卓成功后的回调函数也无法执行\r\n * ②、使用 androidFunction 并且要在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,\r\n * 安卓才可以正常调用 H5 的回调函数,并且 H5 调用安卓成功后的回调函数也可以正常执行了\r\n */\r\n\r\n// @ts-nocheck\r\n\r\nimport { RUN_ENV } from 'mo-front-end-util';\r\n\r\nconst isAndroid = RUN_ENV.isAndroid;\r\n\r\n/**\r\n * Android 与安卓交互时:\r\n * 1、不调用这个函数安卓无法调用 H5 注册的事件函数;\r\n * 2、但是 H5 可以正常调用安卓注册的事件函数;\r\n * 3、还必须在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则:\r\n * ①、安卓依然无法调用 H5 注册的事件函数\r\n * ①、H5 正常调用安卓事件函数后的回调函数无法正常执行\r\n *\r\n * @param {*} callback\r\n */\r\nconst androidFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n callback(window.WebViewJavascriptBridge);\r\n } else {\r\n document.addEventListener(\r\n 'WebViewJavascriptBridgeReady',\r\n function () {\r\n callback(window.WebViewJavascriptBridge);\r\n },\r\n false\r\n );\r\n }\r\n};\r\n\r\n/**\r\n * IOS 与 IOS 交互时,使用这个函数即可,别的操作都不需要执行\r\n * @param {*} callback\r\n */\r\nconst iosFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n return callback(window.WebViewJavascriptBridge);\r\n }\r\n if (window.WVJBCallbacks) {\r\n return window.WVJBCallbacks.push(callback);\r\n }\r\n window.WVJBCallbacks = [callback];\r\n const WVJBIframe = document.createElement('iframe');\r\n WVJBIframe.style.display = 'none';\r\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';\r\n document.documentElement.appendChild(WVJBIframe);\r\n setTimeout(function () {\r\n document.documentElement.removeChild(WVJBIframe);\r\n }, 0);\r\n};\r\n\r\n/**\r\n * 注册 setupWebViewJavascriptBridge 方法\r\n * 之所以不将上面两个方法融合成一个方法,是因为放在一起,那么就只有 iosFunction 中相关的方法体生效\r\n */\r\nwindow.setupWebViewJavascriptBridge = isAndroid ? androidFunction : iosFunction;\r\n\r\n/**\r\n * 这里如果不做判断是不是安卓,而是直接就执行下面的方法,就会导致\r\n * 1、IOS 无法调用 H5 这边注册的事件函数\r\n * 2、H5 可以正常调用 IOS 这边的事件函数,并且 H5 的回调函数可以正常执行\r\n */\r\nif (isAndroid) {\r\n /**\r\n * 与安卓交互时,不调用这个函数会导致:\r\n * 1、H5 可以正常调用 安卓这边的事件函数,但是无法再调用到 H5 的回调函数\r\n *\r\n * 前提 setupWebViewJavascriptBridge 这个函数使用的是 androidFunction 这个,否则还是会导致上面 1 的现象出现\r\n */\r\n window.setupWebViewJavascriptBridge(function (bridge) {\r\n // 注册 H5 界面的默认接收函数(与安卓交互时,不注册这个事件无法接收回调函数)\r\n bridge.init(function (msg, responseCallback) {\r\n alert(msg);\r\n responseCallback('JS 返回给原生的消息内容');\r\n });\r\n });\r\n}\r\n","import './depend';\r\nimport { Bridge } from '../../const';\r\nimport { BridgeReceive } from './bridge-receive.ts';\r\n\r\nexport async function init() {\r\n return new Promise((outResolve) => {\r\n // @ts-ignore\r\n window.setupWebViewJavascriptBridge((bridge) => {\r\n // H5给原生发消息\r\n Object.keys(Bridge).forEach((name) => {\r\n Bridge[name as keyof typeof Bridge] = function (toNativeParams: unknown) {\r\n return new Promise((resolve, reject) => {\r\n // 调用原生方法\r\n bridge.callHandler(\r\n 'sendToNative',\r\n // 传递给原生的参数\r\n {\r\n type: name,\r\n value: toNativeParams\r\n },\r\n (data: { type: string; value: any } | string) => {\r\n console.log('fromNativeParams 1', data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n console.log('fromNativeParams 2', result);\r\n // 原生返回回来的数据\r\n if (result.type === 'success') {\r\n console.log('fromNativeParams 3', result.value);\r\n resolve(result.value);\r\n } else {\r\n reject(result.value);\r\n }\r\n }\r\n );\r\n });\r\n };\r\n });\r\n\r\n // 原生给H5发消息\r\n bridge.registerHandler(\r\n 'receiveFromNative',\r\n (data: { type: string; value: any } | string, fn) => {\r\n // 从原生接到数据的数据结构\r\n // {\r\n // type: 自定义的交互名,\r\n // value: 给前端的参数\r\n // }\r\n\r\n console.log(1111, data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n console.log(2222, result);\r\n\r\n BridgeReceive.get(result.type).forEach((cb) => {\r\n console.log(3333, result.value);\r\n cb(result.value);\r\n });\r\n\r\n // 原生要求必须回调\r\n fn();\r\n }\r\n );\r\n\r\n outResolve();\r\n });\r\n });\r\n}\r\n","import { RUN_ENV } from 'mo-front-end-util';\r\nimport { init as alipayInit } from './sdk/alipay/index';\r\nimport { init as weChatInit, wcChatInitNotLogin } from './sdk/we-chat/index';\r\nimport { init as mobileInit } from './sdk/mobile/index';\r\nimport { Bridge, BridgeReceive } from './const';\r\n\r\nasync function initBridge(arg: void | InitWxConfigType) {\r\n if (RUN_ENV.isAlipayMini) {\r\n await alipayInit();\r\n } else if (RUN_ENV.isWeChatMini) {\r\n if (!arg || !arg.token) {\r\n await wcChatInitNotLogin();\r\n } else {\r\n await weChatInit(arg as InitWxConfigType);\r\n }\r\n } else if (RUN_ENV.isMobile) {\r\n await mobileInit();\r\n }\r\n}\r\n\r\nexport { Bridge, BridgeReceive, initBridge };\r\n"],"names":["o","t","n","d","s","e","h","URL_PATH","BridgeReceiveName","BridgeReceiveCls","key","value","set","result","callback","BridgeReceive","Bridge","getLocation","args","resolve","reject","res","err","openLocation","navigateTo","postMessage","switchTab","url","register","init","downloadCdn","navigateBack","notLoginRegister","getConfig","arg","urlParam","response","setConfig","initConfig","configData","wcChatInitNotLogin","isAndroid","RUN_ENV","androidFunction","iosFunction","WVJBIframe","bridge","msg","responseCallback","outResolve","name","toNativeParams","data","fn","cb","initBridge","alipayInit","weChatInit","mobileInit"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
(function(s,c){typeof exports=="object"&&typeof module<"u"?c(exports):typeof define=="function"&&define.amd?define(["exports"],c):(s=typeof globalThis<"u"?globalThis:s||self,c(s["mo-h5-bridge"]={}))})(this,function(s){"use strict";function c(
|
1
|
+
(function(s,c){typeof exports=="object"&&typeof module<"u"?c(exports):typeof define=="function"&&define.amd?define(["exports"],c):(s=typeof globalThis<"u"?globalThis:s||self,c(s["mo-h5-bridge"]={}))})(this,function(s){"use strict";function c(t){return new Promise(e=>{const i=document.createElement("script");i.type="text/javascript",i.src=t,i.onload=function(){e()},document.head.appendChild(i)})}const r=navigator.userAgent,g=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(r),B=/Windows|Macintosh|Linux/i.test(r)&&!g,u={WeChatMini:"WeChatMini",AlipayMini:"AlipayMini",Android:"Android",Ios:"Ios",Mobile:"Mobile",Pc:"Pc"},f={["is"+u.WeChatMini]:/miniProgram/i.test(r),["is"+u.AlipayMini]:/AlipayClient.*miniProgram/i.test(r),["is"+u.Android]:/Android/i.test(r),["is"+u.Ios]:/iPhone|iPad|iPod/i.test(r),["is"+u.Mobile]:g,["is"+u.Pc]:B},M="https://appx/web-view.min.js",L={refreshCar:void 0};class T{constructor(){this.map=new Map,Object.keys(L).forEach(e=>{this.map.set(e,new Set)})}add(e,i){return this.map.has(e)||this.map.set(e,new Set),this.map.get(e).add(i),this}delete(e,i){if(!this.map.has(e))return!1;const n=this.map.get(e),a=n.delete(i);return n.size===0&&this.map.delete(e),a}has(e,i){return this.map.has(e)&&this.map.get(e).has(i)}get(e){return this.map.get(e)||new Set}deleteKey(e){return this.map.delete(e)}hasKey(e){return this.map.has(e)}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}clear(){this.map.clear()}forEach(e){this.map.forEach((i,n)=>{e(i,n,this.map)})}}const m=new T,o={authorize:void 0,getLocation:void 0,openLocation:void 0,openSetting:void 0,openURL:void 0,navigateTo:void 0,postMessage:void 0,getToken:void 0,switchTab:void 0,gotoOrderDetail:void 0,getAreas:void 0,navigateBack:void 0,updateAppMessageShareData:void 0,updateTimelineShareData:void 0,getArea:void 0};async function A(t){return new Promise((e,i)=>{my.getLocation({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}async function C(t){return new Promise((e,i)=>{my.openLocation({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}async function W(t){return new Promise((e,i)=>{my.navigateTo({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}async function J(t){return new Promise((e,i)=>{my.postMessage({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}function S(t){my.switchTab({url:t})}function j(){o.getLocation=A,o.openLocation=C,o.navigateTo=W,o.postMessage=J,o.switchTab=S}async function x(){await c(M),j()}const w="https://res.wx.qq.com/open/js/jweixin-1.6.0.js";async function E(t={}){return new Promise((e,i)=>{wx.getLocation({...t,success:function(n){console.log("success",n),e(n)},fail:function(n){console.log("fail",n),i(n)}})})}async function V(t){return new Promise((e,i)=>{wx.openLocation({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}async function h(t){return new Promise((e,i)=>{wx.miniProgram.postMessage({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}async function v(t){return new Promise((e,i)=>{wx.miniProgram.navigateTo({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}async function y(t){return new Promise((e,i)=>{wx.miniProgram.navigateBack({...t,success:function(n){e(n)},fail:function(n){i(n)}})})}function P(t){wx.miniProgram.switchTab(t)}function R(){o.getLocation=E,o.openLocation=V,o.postMessage=h,o.navigateTo=v,o.navigateBack=y,o.switchTab=P}function I(){o.postMessage=h,o.navigateTo=v,o.navigateBack=y,o.switchTab=P}async function $(t){const e=location.href.split("#")[0];return await fetch(`${t.requestUrl}?url=${e}`).then(i=>i.json())}function N(t){async function e(){const i=await $(t);wx.config({debug:!1,appId:i.data.appId,timestamp:i.data.timestamp,nonceStr:i.data.nonceStr,signature:i.data.signature,jsApiList:["getLocation","openLocation","startRecord","chooseImage","scanQRCode"]})}return e(),setInterval(async i=>{console.log("js-sdk 重新初始化",i),e()},1e3*60*4),Promise.resolve()}async function O(){await c(w),I()}async function k(t){await c(w),await N(t),wx.ready(function(){R()})}const b=f.isAndroid,D=t=>{window.WebViewJavascriptBridge?t(window.WebViewJavascriptBridge):document.addEventListener("WebViewJavascriptBridgeReady",function(){t(window.WebViewJavascriptBridge)},!1)},_=t=>{if(window.WebViewJavascriptBridge)return t(window.WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(t);window.WVJBCallbacks=[t];const e=document.createElement("iframe");e.style.display="none",e.src="wvjbscheme://__BRIDGE_LOADED__",document.documentElement.appendChild(e),setTimeout(function(){document.documentElement.removeChild(e)},0)};window.setupWebViewJavascriptBridge=b?D:_,b&&window.setupWebViewJavascriptBridge(function(t){t.init(function(e,i){alert(e),i("JS 返回给原生的消息内容")})});async function H(){return new Promise(t=>{window.setupWebViewJavascriptBridge(e=>{Object.keys(o).forEach(i=>{o[i]=function(n){return new Promise((a,p)=>{e.callHandler("sendToNative",{type:i,value:n},l=>{console.log("fromNativeParams 1",l);const d=typeof l=="string"?JSON.parse(l):l;console.log("fromNativeParams 2",d),d.type==="success"?(console.log("fromNativeParams 3",d.value),a(d.value)):p(d.value)})})}}),e.registerHandler("receiveFromNative",(i,n)=>{console.log(1111,i);const a=typeof i=="string"?JSON.parse(i):i;console.log(2222,a),m.get(a.type).forEach(p=>{console.log(3333,a.value),p(a.value)}),n()}),t()})})}async function U(t){f.isAlipayMini?await x():f.isWeChatMini?!t||!t.token?await O():await k(t):f.isMobile&&await H()}s.Bridge=o,s.BridgeReceive=m,s.initBridge=U,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
|
2
2
|
//# sourceMappingURL=mo-h5-bridge.umd.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mo-h5-bridge.umd.cjs","sources":["../node_modules/.pnpm/mo-front-end-util@0.0.12_po_95e3fb4d25c5bdc692c7c22d4373e712/node_modules/mo-front-end-util/dist/mo-front-end-util.js","../package/sdk/alipay/const.ts","../package/sdk/mobile/bridge-receive.ts","../package/const.ts","../package/sdk/alipay/get-location/index.ts","../package/sdk/alipay/open-location/index.ts","../package/sdk/alipay/navigate-to/index.ts","../package/sdk/alipay/post-message/index.ts","../package/sdk/alipay/switch-tab/index.ts","../package/sdk/alipay/register.ts","../package/sdk/alipay/index.ts","../package/sdk/we-chat/const.ts","../package/sdk/we-chat/get-location/index.ts","../package/sdk/we-chat/open-location/index.ts","../package/sdk/we-chat/post-message/index.ts","../package/sdk/we-chat/navigate-to/index.ts","../package/sdk/we-chat/navigate-back/index.ts","../package/sdk/we-chat/switch-tab/index.ts","../package/sdk/we-chat/register.ts","../package/sdk/we-chat/index.ts","../package/sdk/mobile/depend.ts","../package/sdk/mobile/index.ts","../package/main.ts"],"sourcesContent":["const a = /^1[3456789]\\d{9}$/, c = /[\\(\\)\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\-\\+\\=\\_\\|\\{\\}\\[\\]\\:\\;\\'\\<\\>\\,\\.\\?\\\\]/, r = /^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/])[\\da-zA-Z`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/]{12,30}$/;\nfunction l(o) {\n return new Promise((t) => {\n const i = document.createElement(\"script\");\n i.type = \"text/javascript\", i.src = o, i.onload = function() {\n t();\n }, document.head.appendChild(i);\n });\n}\nfunction p(o, t) {\n const i = document.createElement(\"a\");\n i.href = URL.createObjectURL(o), i.target = \"_blank\", i.download = t, document.body.appendChild(i), i.click(), URL.revokeObjectURL(i.href), document.body.removeChild(i);\n}\nconst n = navigator.userAgent, d = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n), s = /Windows|Macintosh|Linux/i.test(n) && !d, e = {\n WeChatMini: \"WeChatMini\",\n // 微信小程序\n AlipayMini: \"AlipayMini\",\n // 支付宝小程序\n Android: \"Android\",\n // 安卓端\n Ios: \"Ios\",\n // ios端\n Mobile: \"Mobile\",\n // 移动端\n Pc: \"Pc\"\n // pc端\n}, h = {\n [\"is\" + e.WeChatMini]: /miniProgram/i.test(n),\n // 微信小程序\n [\"is\" + e.AlipayMini]: /AlipayClient.*miniProgram/i.test(n),\n // 支付宝小程序\n [\"is\" + e.Android]: /Android/i.test(n),\n // andorid\n [\"is\" + e.Ios]: /iPhone|iPad|iPod/i.test(n),\n // ios\n [\"is\" + e.Mobile]: d,\n [\"is\" + e.Pc]: s\n};\nexport {\n e as ALL_ENV,\n h as RUN_ENV,\n p as downloadByBlob,\n l as downloadCdn,\n r as passwordReg,\n a as phoneReg,\n c as specialCharReg\n};\n//# sourceMappingURL=mo-front-end-util.js.map\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://appx/web-view.min.js';\r\n","/* eslint-disable */\r\n\r\n// 下面这个方法仅用作展示,告诉使用者总共有哪些内容\r\nconst BridgeReceiveName = {\r\n // 用于在外勤app中,app返回到库存管理页面中,刷新库存管理页面\r\n refreshCar: undefined\r\n};\r\n\r\nclass BridgeReceiveCls {\r\n constructor() {\r\n this.map = new Map();\r\n Object.keys(BridgeReceiveName).forEach((key) => {\r\n this.map.set(key, new Set());\r\n });\r\n }\r\n\r\n // 添加元素到指定键的集合\r\n add(key, value) {\r\n if (!this.map.has(key)) {\r\n this.map.set(key, new Set());\r\n }\r\n this.map.get(key).add(value);\r\n return this;\r\n }\r\n\r\n // 从指定键的集合中删除元素\r\n delete(key, value) {\r\n if (!this.map.has(key)) return false;\r\n const set = this.map.get(key);\r\n const result = set.delete(value);\r\n // 如果集合为空,删除键\r\n if (set.size === 0) {\r\n this.map.delete(key);\r\n }\r\n return result;\r\n }\r\n\r\n // 检查指定键的集合是否包含元素\r\n has(key, value) {\r\n return this.map.has(key) && this.map.get(key).has(value);\r\n }\r\n\r\n // 获取指定键的集合\r\n get(key) {\r\n return this.map.get(key) || new Set();\r\n }\r\n\r\n // 删除整个键及其集合\r\n deleteKey(key) {\r\n return this.map.delete(key);\r\n }\r\n\r\n // 检查键是否存在\r\n hasKey(key) {\r\n return this.map.has(key);\r\n }\r\n\r\n // 获取所有键\r\n keys() {\r\n return this.map.keys();\r\n }\r\n\r\n // 获取所有值集合\r\n values() {\r\n return this.map.values();\r\n }\r\n\r\n // 获取所有 [键, 集合] 对\r\n entries() {\r\n return this.map.entries();\r\n }\r\n\r\n // 清空所有数据\r\n clear() {\r\n this.map.clear();\r\n }\r\n\r\n // 遍历每个键的集合\r\n forEach(callback) {\r\n this.map.forEach((set, key) => {\r\n callback(set, key, this.map);\r\n });\r\n }\r\n}\r\n\r\nexport const BridgeReceive = new BridgeReceiveCls();\r\n","import { BridgeReceive } from './sdk/mobile/bridge-receive';\r\n\r\n// 桥接对象,供外部使用,这里需要表示出全部内容,既供外部调用,也展示出来方便查看\r\nconst Bridge: {\r\n // 范围:wechat\r\n // 功能:请求授权\r\n // 参数:wechat\r\n authorize: any;\r\n // 范围:wechat\r\n // 功能:获取位置 参数:\r\n // wechat、\r\n getLocation: any;\r\n // 范围:wechat\r\n // 功能:打开地图\r\n // 参数:wechat\r\n openLocation: any;\r\n // 范围:wechat\r\n // 功能:开启设置\r\n // 参数:wechat\r\n openSetting: any;\r\n openURL: any;\r\n // 范围:wechat(不能跳转tab页)、客户端\r\n // 功能:跳转到某一页\r\n // 参数:wechat\r\n navigateTo: any;\r\n // 范围:wechat\r\n // 功能:发送消息(wechat小程序中只能在h5退出项目时才能触发)\r\n // 参数:wechat\r\n postMessage: any;\r\n // 范围:android、ios\r\n // 功能:获取token\r\n // 参数:无\r\n getToken: any;\r\n // 范围:wechat\r\n // 功能:跳转tab页\r\n // 参数:wechat\r\n switchTab: any;\r\n // 范围:客户端\r\n // 功能:进入订单详情页,库存页面,点击订单进入详情页\r\n // 参数:无\r\n gotoOrderDetail: any;\r\n // 范围:客户端\r\n // 功能:获取库存页面的区域\r\n // 参数:无\r\n getAreas: any;\r\n // 范围:wechat、客户端\r\n // 功能:返回上一级\r\n // 参数:无\r\n navigateBack: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享给朋友”及“分享到QQ”按钮的分享内容\r\n // 参数:wechat\r\n updateAppMessageShareData: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容\r\n // 参数:wechat\r\n updateTimelineShareData: any;\r\n // 范围:客户端\r\n // 功能:获取区域\r\n // 参数:无\r\n getArea: any;\r\n} = {\r\n authorize: undefined,\r\n getLocation: undefined,\r\n openLocation: undefined,\r\n openSetting: undefined,\r\n openURL: undefined,\r\n navigateTo: undefined,\r\n postMessage: undefined,\r\n getToken: undefined,\r\n switchTab: undefined,\r\n gotoOrderDetail: undefined,\r\n getAreas: undefined,\r\n navigateBack: undefined,\r\n updateAppMessageShareData: undefined,\r\n updateTimelineShareData: undefined,\r\n getArea: undefined\r\n};\r\n\r\nexport { Bridge, BridgeReceive };\r\n","export async function getLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n my.switchTab({\r\n url\r\n });\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { navigateTo } from './navigate-to';\r\nimport { postMessage } from './post-message';\r\nimport { switchTab } from './switch-tab';\r\n\r\n// 在这里添加具体的需要暴露的方法名\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.postMessage = postMessage;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register } from './register';\r\n\r\nexport async function init() {\r\n await downloadCdn(URL_PATH);\r\n\r\n register();\r\n}\r\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';\r\n","export async function getLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateBack(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateBack({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n wx.miniProgram.switchTab(url);\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { postMessage } from './post-message';\r\nimport { navigateTo } from './navigate-to';\r\nimport { navigateBack } from './navigate-back';\r\nimport { switchTab } from './switch-tab';\r\n// import { updateAppMessageShareData } from './update-app-message-share-data';\r\n// import { updateTimelineShareData } from './update-timeline-share-data';\r\n\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n // Bridge.updateAppMessageShareData = updateAppMessageShareData;\r\n // Bridge.updateTimelineShareData = updateTimelineShareData;\r\n}\r\n\r\nexport function notLoginRegister() {\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register, notLoginRegister } from './register';\r\n\r\nasync function getConfig(arg: InitWxConfigType) {\r\n const urlParam = location.href.split('#')[0];\r\n\r\n return await fetch(`${arg.requestUrl}?url=${urlParam}`).then((response) => {\r\n return response.json();\r\n });\r\n\r\n // return await fetch(`${arg.requestUrl}?url=${urlParam}`, {\r\n // headers: {\r\n // token: arg.token,\r\n // 'Content-Type': 'application/json'\r\n // }\r\n // }).then((response) => {\r\n // return response.json();\r\n // });\r\n}\r\n\r\nfunction setConfig(arg: InitWxConfigType) {\r\n async function initConfig() {\r\n const configData = await getConfig(arg);\r\n wx.config({\r\n debug: false,\r\n appId: configData.data.appId,\r\n timestamp: configData.data.timestamp,\r\n nonceStr: configData.data.nonceStr,\r\n signature: configData.data.signature,\r\n jsApiList: [\r\n // 获取当前的地理位置、速度:\r\n // 微信小程序与支付宝同名\r\n 'getLocation',\r\n // 使用微信内置地图查看位置:\r\n // 微信小程序与支付宝同名\r\n 'openLocation',\r\n 'startRecord',\r\n 'chooseImage',\r\n 'scanQRCode'\r\n ]\r\n });\r\n }\r\n\r\n initConfig();\r\n\r\n // // wx.error只需要注册一次,每次失败间隔会重新初始化\r\n // wx.error(() => {\r\n // setTimeout(() => {\r\n // initConfig();\r\n // }, 1000 * 3);\r\n // });\r\n\r\n // 签名5min会过期,所以需要定时更新签名\r\n setInterval(\r\n async (res) => {\r\n console.log('js-sdk 重新初始化', res);\r\n initConfig();\r\n },\r\n 1000 * 60 * 4\r\n );\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nasync function wcChatInitNotLogin() {\r\n await downloadCdn(URL_PATH);\r\n\r\n notLoginRegister();\r\n}\r\n\r\nexport async function init(arg: InitWxConfigType) {\r\n await downloadCdn(URL_PATH);\r\n await setConfig(arg);\r\n\r\n wx.ready(function () {\r\n register();\r\n });\r\n}\r\n\r\nexport { wcChatInitNotLogin };\r\n","/**\r\n * 使用 JSBridge 总结:\r\n * 1、跟 IOS 交互的时候,只需要且必须注册 iosFunction 方法即可,\r\n * 不能在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则 IOS 无法调用到 H5 的注册函数;\r\n * 2、与安卓进行交互的时候\r\n * ①、使用 iosFunction,就可以实现 H5 调用 安卓的注册函数,但是安卓无法调用 H5 的注册函数,\r\n * 并且 H5 调用安卓成功后的回调函数也无法执行\r\n * ②、使用 androidFunction 并且要在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,\r\n * 安卓才可以正常调用 H5 的回调函数,并且 H5 调用安卓成功后的回调函数也可以正常执行了\r\n */\r\n\r\n// @ts-nocheck\r\n\r\nimport { RUN_ENV } from 'mo-front-end-util';\r\n\r\nconst isAndroid = RUN_ENV.isAndroid;\r\n\r\n/**\r\n * Android 与安卓交互时:\r\n * 1、不调用这个函数安卓无法调用 H5 注册的事件函数;\r\n * 2、但是 H5 可以正常调用安卓注册的事件函数;\r\n * 3、还必须在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则:\r\n * ①、安卓依然无法调用 H5 注册的事件函数\r\n * ①、H5 正常调用安卓事件函数后的回调函数无法正常执行\r\n *\r\n * @param {*} callback\r\n */\r\nconst androidFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n callback(window.WebViewJavascriptBridge);\r\n } else {\r\n document.addEventListener(\r\n 'WebViewJavascriptBridgeReady',\r\n function () {\r\n callback(window.WebViewJavascriptBridge);\r\n },\r\n false\r\n );\r\n }\r\n};\r\n\r\n/**\r\n * IOS 与 IOS 交互时,使用这个函数即可,别的操作都不需要执行\r\n * @param {*} callback\r\n */\r\nconst iosFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n return callback(window.WebViewJavascriptBridge);\r\n }\r\n if (window.WVJBCallbacks) {\r\n return window.WVJBCallbacks.push(callback);\r\n }\r\n window.WVJBCallbacks = [callback];\r\n const WVJBIframe = document.createElement('iframe');\r\n WVJBIframe.style.display = 'none';\r\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';\r\n document.documentElement.appendChild(WVJBIframe);\r\n setTimeout(function () {\r\n document.documentElement.removeChild(WVJBIframe);\r\n }, 0);\r\n};\r\n\r\n/**\r\n * 注册 setupWebViewJavascriptBridge 方法\r\n * 之所以不将上面两个方法融合成一个方法,是因为放在一起,那么就只有 iosFunction 中相关的方法体生效\r\n */\r\nwindow.setupWebViewJavascriptBridge = isAndroid ? androidFunction : iosFunction;\r\n\r\n/**\r\n * 这里如果不做判断是不是安卓,而是直接就执行下面的方法,就会导致\r\n * 1、IOS 无法调用 H5 这边注册的事件函数\r\n * 2、H5 可以正常调用 IOS 这边的事件函数,并且 H5 的回调函数可以正常执行\r\n */\r\nif (isAndroid) {\r\n /**\r\n * 与安卓交互时,不调用这个函数会导致:\r\n * 1、H5 可以正常调用 安卓这边的事件函数,但是无法再调用到 H5 的回调函数\r\n *\r\n * 前提 setupWebViewJavascriptBridge 这个函数使用的是 androidFunction 这个,否则还是会导致上面 1 的现象出现\r\n */\r\n window.setupWebViewJavascriptBridge(function (bridge) {\r\n // 注册 H5 界面的默认接收函数(与安卓交互时,不注册这个事件无法接收回调函数)\r\n bridge.init(function (msg, responseCallback) {\r\n alert(msg);\r\n responseCallback('JS 返回给原生的消息内容');\r\n });\r\n });\r\n}\r\n","import './depend';\r\nimport { Bridge } from '../../const';\r\nimport { BridgeReceive } from './bridge-receive.ts';\r\n\r\nexport async function init() {\r\n return new Promise((resolve) => {\r\n // @ts-ignore\r\n window.setupWebViewJavascriptBridge((bridge) => {\r\n // H5给原生发消息\r\n Object.keys(Bridge).forEach((name) => {\r\n Bridge[name as keyof typeof Bridge] = function (toNativeParams: unknown) {\r\n return new Promise((resolve, reject) => {\r\n // 调用原生方法\r\n bridge.callHandler(\r\n 'sendToNative',\r\n // 传递给原生的参数\r\n {\r\n type: name,\r\n value: toNativeParams\r\n },\r\n (data: { type: string; value: any } | string) => {\r\n console.log('name2 fromNativeParams', data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n // 原生返回回来的数据\r\n if (result.type === 'success') {\r\n resolve(result.value);\r\n } else {\r\n reject(result.value);\r\n }\r\n }\r\n );\r\n });\r\n };\r\n });\r\n\r\n // 原生给H5发消息\r\n bridge.registerHandler(\r\n 'receiveFromNative',\r\n (data: { type: string; value: any } | string, fn) => {\r\n // 从原生接到数据的数据结构\r\n // {\r\n // type: 自定义的交互名,\r\n // value: 给前端的参数\r\n // }\r\n\r\n console.log(1111, data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n console.log(2222, result);\r\n\r\n BridgeReceive.get(result.type).forEach((cb) => {\r\n console.log(3333, result.value);\r\n cb(result.value);\r\n });\r\n\r\n // 原生要求必须回调\r\n fn();\r\n }\r\n );\r\n\r\n resolve();\r\n });\r\n });\r\n}\r\n","import { RUN_ENV } from 'mo-front-end-util';\r\nimport { init as alipayInit } from './sdk/alipay/index';\r\nimport { init as weChatInit, wcChatInitNotLogin } from './sdk/we-chat/index';\r\nimport { init as mobileInit } from './sdk/mobile/index';\r\nimport { Bridge, BridgeReceive } from './const';\r\n\r\nasync function initBridge(arg: void | InitWxConfigType) {\r\n if (RUN_ENV.isAlipayMini) {\r\n await alipayInit();\r\n } else if (RUN_ENV.isWeChatMini) {\r\n if (!arg || !arg.token) {\r\n await wcChatInitNotLogin();\r\n } else {\r\n await weChatInit(arg as InitWxConfigType);\r\n }\r\n } else if (RUN_ENV.isMobile) {\r\n await mobileInit();\r\n }\r\n}\r\n\r\nexport { Bridge, BridgeReceive, initBridge };\r\n"],"names":["l","o","t","n","d","s","e","h","URL_PATH","BridgeReceiveName","BridgeReceiveCls","key","value","set","result","callback","BridgeReceive","Bridge","getLocation","args","resolve","reject","res","err","openLocation","navigateTo","postMessage","switchTab","url","register","init","downloadCdn","navigateBack","notLoginRegister","getConfig","arg","urlParam","response","setConfig","initConfig","configData","wcChatInitNotLogin","isAndroid","RUN_ENV","androidFunction","iosFunction","WVJBIframe","bridge","msg","responseCallback","name","toNativeParams","data","fn","cb","initBridge","alipayInit","weChatInit","mobileInit"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"mo-h5-bridge.umd.cjs","sources":["../node_modules/.pnpm/mo-front-end-util@0.0.12_po_95e3fb4d25c5bdc692c7c22d4373e712/node_modules/mo-front-end-util/dist/mo-front-end-util.js","../package/sdk/alipay/const.ts","../package/sdk/mobile/bridge-receive.ts","../package/const.ts","../package/sdk/alipay/get-location/index.ts","../package/sdk/alipay/open-location/index.ts","../package/sdk/alipay/navigate-to/index.ts","../package/sdk/alipay/post-message/index.ts","../package/sdk/alipay/switch-tab/index.ts","../package/sdk/alipay/register.ts","../package/sdk/alipay/index.ts","../package/sdk/we-chat/const.ts","../package/sdk/we-chat/get-location/index.ts","../package/sdk/we-chat/open-location/index.ts","../package/sdk/we-chat/post-message/index.ts","../package/sdk/we-chat/navigate-to/index.ts","../package/sdk/we-chat/navigate-back/index.ts","../package/sdk/we-chat/switch-tab/index.ts","../package/sdk/we-chat/register.ts","../package/sdk/we-chat/index.ts","../package/sdk/mobile/depend.ts","../package/sdk/mobile/index.ts","../package/main.ts"],"sourcesContent":["const a = /^1[3456789]\\d{9}$/, c = /[\\(\\)\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\-\\+\\=\\_\\|\\{\\}\\[\\]\\:\\;\\'\\<\\>\\,\\.\\?\\\\]/, r = /^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/])[\\da-zA-Z`~!@#$%^&*()-+=_|{}\\[\\]:;'<>,.?/]{12,30}$/;\nfunction l(o) {\n return new Promise((t) => {\n const i = document.createElement(\"script\");\n i.type = \"text/javascript\", i.src = o, i.onload = function() {\n t();\n }, document.head.appendChild(i);\n });\n}\nfunction p(o, t) {\n const i = document.createElement(\"a\");\n i.href = URL.createObjectURL(o), i.target = \"_blank\", i.download = t, document.body.appendChild(i), i.click(), URL.revokeObjectURL(i.href), document.body.removeChild(i);\n}\nconst n = navigator.userAgent, d = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n), s = /Windows|Macintosh|Linux/i.test(n) && !d, e = {\n WeChatMini: \"WeChatMini\",\n // 微信小程序\n AlipayMini: \"AlipayMini\",\n // 支付宝小程序\n Android: \"Android\",\n // 安卓端\n Ios: \"Ios\",\n // ios端\n Mobile: \"Mobile\",\n // 移动端\n Pc: \"Pc\"\n // pc端\n}, h = {\n [\"is\" + e.WeChatMini]: /miniProgram/i.test(n),\n // 微信小程序\n [\"is\" + e.AlipayMini]: /AlipayClient.*miniProgram/i.test(n),\n // 支付宝小程序\n [\"is\" + e.Android]: /Android/i.test(n),\n // andorid\n [\"is\" + e.Ios]: /iPhone|iPad|iPod/i.test(n),\n // ios\n [\"is\" + e.Mobile]: d,\n [\"is\" + e.Pc]: s\n};\nexport {\n e as ALL_ENV,\n h as RUN_ENV,\n p as downloadByBlob,\n l as downloadCdn,\n r as passwordReg,\n a as phoneReg,\n c as specialCharReg\n};\n//# sourceMappingURL=mo-front-end-util.js.map\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://appx/web-view.min.js';\r\n","/* eslint-disable */\r\n\r\n// 下面这个方法仅用作展示,告诉使用者总共有哪些内容\r\nconst BridgeReceiveName = {\r\n // 用于在外勤app中,app返回到库存管理页面中,刷新库存管理页面\r\n refreshCar: undefined\r\n};\r\n\r\nclass BridgeReceiveCls {\r\n constructor() {\r\n this.map = new Map();\r\n Object.keys(BridgeReceiveName).forEach((key) => {\r\n this.map.set(key, new Set());\r\n });\r\n }\r\n\r\n // 添加元素到指定键的集合\r\n add(key, value) {\r\n if (!this.map.has(key)) {\r\n this.map.set(key, new Set());\r\n }\r\n this.map.get(key).add(value);\r\n return this;\r\n }\r\n\r\n // 从指定键的集合中删除元素\r\n delete(key, value) {\r\n if (!this.map.has(key)) return false;\r\n const set = this.map.get(key);\r\n const result = set.delete(value);\r\n // 如果集合为空,删除键\r\n if (set.size === 0) {\r\n this.map.delete(key);\r\n }\r\n return result;\r\n }\r\n\r\n // 检查指定键的集合是否包含元素\r\n has(key, value) {\r\n return this.map.has(key) && this.map.get(key).has(value);\r\n }\r\n\r\n // 获取指定键的集合\r\n get(key) {\r\n return this.map.get(key) || new Set();\r\n }\r\n\r\n // 删除整个键及其集合\r\n deleteKey(key) {\r\n return this.map.delete(key);\r\n }\r\n\r\n // 检查键是否存在\r\n hasKey(key) {\r\n return this.map.has(key);\r\n }\r\n\r\n // 获取所有键\r\n keys() {\r\n return this.map.keys();\r\n }\r\n\r\n // 获取所有值集合\r\n values() {\r\n return this.map.values();\r\n }\r\n\r\n // 获取所有 [键, 集合] 对\r\n entries() {\r\n return this.map.entries();\r\n }\r\n\r\n // 清空所有数据\r\n clear() {\r\n this.map.clear();\r\n }\r\n\r\n // 遍历每个键的集合\r\n forEach(callback) {\r\n this.map.forEach((set, key) => {\r\n callback(set, key, this.map);\r\n });\r\n }\r\n}\r\n\r\nexport const BridgeReceive = new BridgeReceiveCls();\r\n","import { BridgeReceive } from './sdk/mobile/bridge-receive';\r\n\r\n// 桥接对象,供外部使用,这里需要表示出全部内容,既供外部调用,也展示出来方便查看\r\nconst Bridge: {\r\n // 范围:wechat\r\n // 功能:请求授权\r\n // 参数:wechat\r\n authorize: any;\r\n // 范围:wechat\r\n // 功能:获取位置 参数:\r\n // wechat、\r\n getLocation: any;\r\n // 范围:wechat\r\n // 功能:打开地图\r\n // 参数:wechat\r\n openLocation: any;\r\n // 范围:wechat\r\n // 功能:开启设置\r\n // 参数:wechat\r\n openSetting: any;\r\n openURL: any;\r\n // 范围:wechat(不能跳转tab页)、客户端\r\n // 功能:跳转到某一页\r\n // 参数:wechat\r\n navigateTo: any;\r\n // 范围:wechat\r\n // 功能:发送消息(wechat小程序中只能在h5退出项目时才能触发)\r\n // 参数:wechat\r\n postMessage: any;\r\n // 范围:android、ios\r\n // 功能:获取token\r\n // 参数:无\r\n getToken: any;\r\n // 范围:wechat\r\n // 功能:跳转tab页\r\n // 参数:wechat\r\n switchTab: any;\r\n // 范围:客户端\r\n // 功能:进入订单详情页,库存页面,点击订单进入详情页\r\n // 参数:无\r\n gotoOrderDetail: any;\r\n // 范围:客户端\r\n // 功能:获取库存页面的区域\r\n // 参数:无\r\n getAreas: any;\r\n // 范围:wechat、客户端\r\n // 功能:返回上一级\r\n // 参数:无\r\n navigateBack: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享给朋友”及“分享到QQ”按钮的分享内容\r\n // 参数:wechat\r\n updateAppMessageShareData: any;\r\n // 范围:客户端(小程序调用不起来)\r\n // 功能:自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容\r\n // 参数:wechat\r\n updateTimelineShareData: any;\r\n // 范围:客户端\r\n // 功能:获取区域\r\n // 参数:无\r\n getArea: any;\r\n} = {\r\n authorize: undefined,\r\n getLocation: undefined,\r\n openLocation: undefined,\r\n openSetting: undefined,\r\n openURL: undefined,\r\n navigateTo: undefined,\r\n postMessage: undefined,\r\n getToken: undefined,\r\n switchTab: undefined,\r\n gotoOrderDetail: undefined,\r\n getAreas: undefined,\r\n navigateBack: undefined,\r\n updateAppMessageShareData: undefined,\r\n updateTimelineShareData: undefined,\r\n getArea: undefined\r\n};\r\n\r\nexport { Bridge, BridgeReceive };\r\n","export async function getLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n my.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n my.switchTab({\r\n url\r\n });\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { navigateTo } from './navigate-to';\r\nimport { postMessage } from './post-message';\r\nimport { switchTab } from './switch-tab';\r\n\r\n// 在这里添加具体的需要暴露的方法名\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.postMessage = postMessage;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register } from './register';\r\n\r\nexport async function init() {\r\n await downloadCdn(URL_PATH);\r\n\r\n register();\r\n}\r\n","// 支付宝sdk下载地址\r\nexport const URL_PATH = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';\r\n","export async function getLocation(args: any = {}) {\r\n return new Promise((resolve, reject) => {\r\n wx.getLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n console.log('success', res);\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n console.log('fail', err);\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function openLocation(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.openLocation({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function postMessage(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.postMessage({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateTo(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateTo({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export async function navigateBack(args: any) {\r\n return new Promise((resolve, reject) => {\r\n wx.miniProgram.navigateBack({\r\n ...args,\r\n success: function (res: unknown) {\r\n resolve(res);\r\n },\r\n fail: function (err: unknown) {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n","export function switchTab(url: string) {\r\n wx.miniProgram.switchTab(url);\r\n}\r\n","import { Bridge } from '../../const';\r\n\r\nimport { getLocation } from './get-location';\r\nimport { openLocation } from './open-location';\r\nimport { postMessage } from './post-message';\r\nimport { navigateTo } from './navigate-to';\r\nimport { navigateBack } from './navigate-back';\r\nimport { switchTab } from './switch-tab';\r\n// import { updateAppMessageShareData } from './update-app-message-share-data';\r\n// import { updateTimelineShareData } from './update-timeline-share-data';\r\n\r\nexport function register() {\r\n Bridge.getLocation = getLocation;\r\n Bridge.openLocation = openLocation;\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n // Bridge.updateAppMessageShareData = updateAppMessageShareData;\r\n // Bridge.updateTimelineShareData = updateTimelineShareData;\r\n}\r\n\r\nexport function notLoginRegister() {\r\n Bridge.postMessage = postMessage;\r\n Bridge.navigateTo = navigateTo;\r\n Bridge.navigateBack = navigateBack;\r\n Bridge.switchTab = switchTab;\r\n}\r\n","import { downloadCdn } from 'mo-front-end-util';\r\nimport { URL_PATH } from './const';\r\nimport { register, notLoginRegister } from './register';\r\n\r\nasync function getConfig(arg: InitWxConfigType) {\r\n const urlParam = location.href.split('#')[0];\r\n\r\n return await fetch(`${arg.requestUrl}?url=${urlParam}`).then((response) => {\r\n return response.json();\r\n });\r\n\r\n // return await fetch(`${arg.requestUrl}?url=${urlParam}`, {\r\n // headers: {\r\n // token: arg.token,\r\n // 'Content-Type': 'application/json'\r\n // }\r\n // }).then((response) => {\r\n // return response.json();\r\n // });\r\n}\r\n\r\nfunction setConfig(arg: InitWxConfigType) {\r\n async function initConfig() {\r\n const configData = await getConfig(arg);\r\n wx.config({\r\n debug: false,\r\n appId: configData.data.appId,\r\n timestamp: configData.data.timestamp,\r\n nonceStr: configData.data.nonceStr,\r\n signature: configData.data.signature,\r\n jsApiList: [\r\n // 获取当前的地理位置、速度:\r\n // 微信小程序与支付宝同名\r\n 'getLocation',\r\n // 使用微信内置地图查看位置:\r\n // 微信小程序与支付宝同名\r\n 'openLocation',\r\n 'startRecord',\r\n 'chooseImage',\r\n 'scanQRCode'\r\n ]\r\n });\r\n }\r\n\r\n initConfig();\r\n\r\n // // wx.error只需要注册一次,每次失败间隔会重新初始化\r\n // wx.error(() => {\r\n // setTimeout(() => {\r\n // initConfig();\r\n // }, 1000 * 3);\r\n // });\r\n\r\n // 签名5min会过期,所以需要定时更新签名\r\n setInterval(\r\n async (res) => {\r\n console.log('js-sdk 重新初始化', res);\r\n initConfig();\r\n },\r\n 1000 * 60 * 4\r\n );\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nasync function wcChatInitNotLogin() {\r\n await downloadCdn(URL_PATH);\r\n\r\n notLoginRegister();\r\n}\r\n\r\nexport async function init(arg: InitWxConfigType) {\r\n await downloadCdn(URL_PATH);\r\n await setConfig(arg);\r\n\r\n wx.ready(function () {\r\n register();\r\n });\r\n}\r\n\r\nexport { wcChatInitNotLogin };\r\n","/**\r\n * 使用 JSBridge 总结:\r\n * 1、跟 IOS 交互的时候,只需要且必须注册 iosFunction 方法即可,\r\n * 不能在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则 IOS 无法调用到 H5 的注册函数;\r\n * 2、与安卓进行交互的时候\r\n * ①、使用 iosFunction,就可以实现 H5 调用 安卓的注册函数,但是安卓无法调用 H5 的注册函数,\r\n * 并且 H5 调用安卓成功后的回调函数也无法执行\r\n * ②、使用 androidFunction 并且要在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,\r\n * 安卓才可以正常调用 H5 的回调函数,并且 H5 调用安卓成功后的回调函数也可以正常执行了\r\n */\r\n\r\n// @ts-nocheck\r\n\r\nimport { RUN_ENV } from 'mo-front-end-util';\r\n\r\nconst isAndroid = RUN_ENV.isAndroid;\r\n\r\n/**\r\n * Android 与安卓交互时:\r\n * 1、不调用这个函数安卓无法调用 H5 注册的事件函数;\r\n * 2、但是 H5 可以正常调用安卓注册的事件函数;\r\n * 3、还必须在 setupWebViewJavascriptBridge 中执行 bridge.init 方法,否则:\r\n * ①、安卓依然无法调用 H5 注册的事件函数\r\n * ①、H5 正常调用安卓事件函数后的回调函数无法正常执行\r\n *\r\n * @param {*} callback\r\n */\r\nconst androidFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n callback(window.WebViewJavascriptBridge);\r\n } else {\r\n document.addEventListener(\r\n 'WebViewJavascriptBridgeReady',\r\n function () {\r\n callback(window.WebViewJavascriptBridge);\r\n },\r\n false\r\n );\r\n }\r\n};\r\n\r\n/**\r\n * IOS 与 IOS 交互时,使用这个函数即可,别的操作都不需要执行\r\n * @param {*} callback\r\n */\r\nconst iosFunction = (callback) => {\r\n if (window.WebViewJavascriptBridge) {\r\n return callback(window.WebViewJavascriptBridge);\r\n }\r\n if (window.WVJBCallbacks) {\r\n return window.WVJBCallbacks.push(callback);\r\n }\r\n window.WVJBCallbacks = [callback];\r\n const WVJBIframe = document.createElement('iframe');\r\n WVJBIframe.style.display = 'none';\r\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';\r\n document.documentElement.appendChild(WVJBIframe);\r\n setTimeout(function () {\r\n document.documentElement.removeChild(WVJBIframe);\r\n }, 0);\r\n};\r\n\r\n/**\r\n * 注册 setupWebViewJavascriptBridge 方法\r\n * 之所以不将上面两个方法融合成一个方法,是因为放在一起,那么就只有 iosFunction 中相关的方法体生效\r\n */\r\nwindow.setupWebViewJavascriptBridge = isAndroid ? androidFunction : iosFunction;\r\n\r\n/**\r\n * 这里如果不做判断是不是安卓,而是直接就执行下面的方法,就会导致\r\n * 1、IOS 无法调用 H5 这边注册的事件函数\r\n * 2、H5 可以正常调用 IOS 这边的事件函数,并且 H5 的回调函数可以正常执行\r\n */\r\nif (isAndroid) {\r\n /**\r\n * 与安卓交互时,不调用这个函数会导致:\r\n * 1、H5 可以正常调用 安卓这边的事件函数,但是无法再调用到 H5 的回调函数\r\n *\r\n * 前提 setupWebViewJavascriptBridge 这个函数使用的是 androidFunction 这个,否则还是会导致上面 1 的现象出现\r\n */\r\n window.setupWebViewJavascriptBridge(function (bridge) {\r\n // 注册 H5 界面的默认接收函数(与安卓交互时,不注册这个事件无法接收回调函数)\r\n bridge.init(function (msg, responseCallback) {\r\n alert(msg);\r\n responseCallback('JS 返回给原生的消息内容');\r\n });\r\n });\r\n}\r\n","import './depend';\r\nimport { Bridge } from '../../const';\r\nimport { BridgeReceive } from './bridge-receive.ts';\r\n\r\nexport async function init() {\r\n return new Promise((outResolve) => {\r\n // @ts-ignore\r\n window.setupWebViewJavascriptBridge((bridge) => {\r\n // H5给原生发消息\r\n Object.keys(Bridge).forEach((name) => {\r\n Bridge[name as keyof typeof Bridge] = function (toNativeParams: unknown) {\r\n return new Promise((resolve, reject) => {\r\n // 调用原生方法\r\n bridge.callHandler(\r\n 'sendToNative',\r\n // 传递给原生的参数\r\n {\r\n type: name,\r\n value: toNativeParams\r\n },\r\n (data: { type: string; value: any } | string) => {\r\n console.log('fromNativeParams 1', data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n console.log('fromNativeParams 2', result);\r\n // 原生返回回来的数据\r\n if (result.type === 'success') {\r\n console.log('fromNativeParams 3', result.value);\r\n resolve(result.value);\r\n } else {\r\n reject(result.value);\r\n }\r\n }\r\n );\r\n });\r\n };\r\n });\r\n\r\n // 原生给H5发消息\r\n bridge.registerHandler(\r\n 'receiveFromNative',\r\n (data: { type: string; value: any } | string, fn) => {\r\n // 从原生接到数据的数据结构\r\n // {\r\n // type: 自定义的交互名,\r\n // value: 给前端的参数\r\n // }\r\n\r\n console.log(1111, data);\r\n const result = typeof data === 'string' ? JSON.parse(data) : data;\r\n console.log(2222, result);\r\n\r\n BridgeReceive.get(result.type).forEach((cb) => {\r\n console.log(3333, result.value);\r\n cb(result.value);\r\n });\r\n\r\n // 原生要求必须回调\r\n fn();\r\n }\r\n );\r\n\r\n outResolve();\r\n });\r\n });\r\n}\r\n","import { RUN_ENV } from 'mo-front-end-util';\r\nimport { init as alipayInit } from './sdk/alipay/index';\r\nimport { init as weChatInit, wcChatInitNotLogin } from './sdk/we-chat/index';\r\nimport { init as mobileInit } from './sdk/mobile/index';\r\nimport { Bridge, BridgeReceive } from './const';\r\n\r\nasync function initBridge(arg: void | InitWxConfigType) {\r\n if (RUN_ENV.isAlipayMini) {\r\n await alipayInit();\r\n } else if (RUN_ENV.isWeChatMini) {\r\n if (!arg || !arg.token) {\r\n await wcChatInitNotLogin();\r\n } else {\r\n await weChatInit(arg as InitWxConfigType);\r\n }\r\n } else if (RUN_ENV.isMobile) {\r\n await mobileInit();\r\n }\r\n}\r\n\r\nexport { Bridge, BridgeReceive, initBridge };\r\n"],"names":["l","o","t","n","d","s","e","h","URL_PATH","BridgeReceiveName","BridgeReceiveCls","key","value","set","result","callback","BridgeReceive","Bridge","getLocation","args","resolve","reject","res","err","openLocation","navigateTo","postMessage","switchTab","url","register","init","downloadCdn","navigateBack","notLoginRegister","getConfig","arg","urlParam","response","setConfig","initConfig","configData","wcChatInitNotLogin","isAndroid","RUN_ENV","androidFunction","iosFunction","WVJBIframe","bridge","msg","responseCallback","outResolve","name","toNativeParams","data","fn","cb","initBridge","alipayInit","weChatInit","mobileInit"],"mappings":"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","x_google_ignoreList":[0]}
|