crh-jssdk 1.0.24 → 1.0.26
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/business/utils/bridge.js +78 -76
- package/package.json +1 -1
|
@@ -274,17 +274,24 @@ var Bridge = /** @class */ (function () {
|
|
|
274
274
|
// 确保bridge.init存在且是函数,且未初始化过
|
|
275
275
|
// 在iOS环境下,App原生可能已经调用过bridge.init(),再次调用会报错"init called twice"
|
|
276
276
|
// 使用全局标记 window._WVJBInitialized 检测App原生的初始化
|
|
277
|
-
if (bridge && typeof bridge
|
|
278
|
-
|
|
279
|
-
|
|
277
|
+
if (bridge && typeof (bridge === null || bridge === void 0 ? void 0 : bridge.init) === 'function') {
|
|
278
|
+
// 双保险:在调用init前再次检查全局标记,避免并发或多次进入时重复调用
|
|
279
|
+
if (!window._WVJBInitialized && !_this._bridgeInitCalled) {
|
|
280
|
+
window._WVJBInitialized = true;
|
|
281
|
+
bridge === null || bridge === void 0 ? void 0 : bridge.init(function () {
|
|
282
|
+
console.log('Bridge初始化完成');
|
|
283
|
+
_this._bridgeInitCalled = true;
|
|
284
|
+
resolve();
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
console.log('Bridge.init已调用过(全局标记或实例标记),跳过');
|
|
280
289
|
resolve();
|
|
281
|
-
}
|
|
282
|
-
_this._bridgeInitCalled = true;
|
|
283
|
-
window._WVJBInitialized = true;
|
|
290
|
+
}
|
|
284
291
|
}
|
|
285
292
|
else {
|
|
286
|
-
// 如果
|
|
287
|
-
console.log('Bridge
|
|
293
|
+
// 如果init不存在,直接resolve
|
|
294
|
+
console.log('Bridge.init不存在,跳过');
|
|
288
295
|
resolve();
|
|
289
296
|
}
|
|
290
297
|
});
|
|
@@ -356,7 +363,7 @@ var Bridge = /** @class */ (function () {
|
|
|
356
363
|
return new Promise(function (resolve, reject) {
|
|
357
364
|
try {
|
|
358
365
|
// 如果Bridge已初始化,直接使用;否则等待初始化完成
|
|
359
|
-
var
|
|
366
|
+
var useBridge = function (bridge) {
|
|
360
367
|
if (!bridge || typeof bridge.callHandler !== 'function') {
|
|
361
368
|
reject(new Error('Bridge未正确初始化或callHandler方法不存在'));
|
|
362
369
|
return;
|
|
@@ -372,35 +379,33 @@ var Bridge = /** @class */ (function () {
|
|
|
372
379
|
};
|
|
373
380
|
if (_this.bridge) {
|
|
374
381
|
// Bridge已初始化,直接使用
|
|
375
|
-
|
|
382
|
+
useBridge(_this.bridge);
|
|
376
383
|
}
|
|
377
384
|
else {
|
|
378
385
|
// Bridge未初始化,等待初始化完成
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
});
|
|
403
|
-
});
|
|
386
|
+
// this.waitForReady(5000)
|
|
387
|
+
// .then(() => {
|
|
388
|
+
// if (this.bridge) {
|
|
389
|
+
// useBridge(this.bridge);
|
|
390
|
+
// } else {
|
|
391
|
+
// // 如果等待后仍然没有bridge,尝试重新连接(可能是动态加载的情况)
|
|
392
|
+
// this.connectWebViewJavascriptBridge((bridge: any) => {
|
|
393
|
+
// this.bridge = bridge;
|
|
394
|
+
// useBridge(bridge);
|
|
395
|
+
// });
|
|
396
|
+
// }
|
|
397
|
+
// })
|
|
398
|
+
// .catch((error) => {
|
|
399
|
+
// // 如果等待超时,尝试直接连接(可能是Bridge已经存在但未初始化)
|
|
400
|
+
// this.connectWebViewJavascriptBridge((bridge: any) => {
|
|
401
|
+
// if (bridge) {
|
|
402
|
+
// this.bridge = bridge;
|
|
403
|
+
// useBridge(bridge);
|
|
404
|
+
// } else {
|
|
405
|
+
// reject(new Error(`Bridge初始化失败: ${error.message}`));
|
|
406
|
+
// }
|
|
407
|
+
// });
|
|
408
|
+
// });
|
|
404
409
|
}
|
|
405
410
|
}
|
|
406
411
|
catch (e) {
|
|
@@ -410,7 +415,7 @@ var Bridge = /** @class */ (function () {
|
|
|
410
415
|
}
|
|
411
416
|
// 不需要回调,只需要执行
|
|
412
417
|
try {
|
|
413
|
-
var
|
|
418
|
+
var useBridge = function (bridge) {
|
|
414
419
|
if (bridge && typeof bridge.callHandler === 'function') {
|
|
415
420
|
bridge.callHandler(name, params, function () {
|
|
416
421
|
// dosomething
|
|
@@ -418,28 +423,27 @@ var Bridge = /** @class */ (function () {
|
|
|
418
423
|
}
|
|
419
424
|
};
|
|
420
425
|
if (this.bridge) {
|
|
421
|
-
|
|
426
|
+
useBridge(this.bridge);
|
|
422
427
|
}
|
|
423
428
|
else {
|
|
424
429
|
// 等待初始化或直接连接
|
|
425
|
-
this.waitForReady(3000)
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
});
|
|
430
|
+
// this.waitForReady(3000)
|
|
431
|
+
// .then(() => {
|
|
432
|
+
// if (this.bridge) {
|
|
433
|
+
// useBridge(this.bridge);
|
|
434
|
+
// } else {
|
|
435
|
+
// this.connectWebViewJavascriptBridge((bridge: any) => {
|
|
436
|
+
// this.bridge = bridge;
|
|
437
|
+
// useBridge(bridge);
|
|
438
|
+
// });
|
|
439
|
+
// }
|
|
440
|
+
// })
|
|
441
|
+
// .catch(() => {
|
|
442
|
+
// this.connectWebViewJavascriptBridge((bridge: any) => {
|
|
443
|
+
// this.bridge = bridge;
|
|
444
|
+
// useBridge(bridge);
|
|
445
|
+
// });
|
|
446
|
+
// });
|
|
443
447
|
}
|
|
444
448
|
}
|
|
445
449
|
catch (e) {
|
|
@@ -453,11 +457,10 @@ var Bridge = /** @class */ (function () {
|
|
|
453
457
|
* @param callback 回调函数,第二个参数responseCallback用于向App发送响应
|
|
454
458
|
*/
|
|
455
459
|
Bridge.prototype.registerHandler = function (name, callback) {
|
|
456
|
-
var _this = this;
|
|
457
460
|
if (name === void 0) { name = ''; }
|
|
458
461
|
if (callback === void 0) { callback = function () { }; }
|
|
459
462
|
try {
|
|
460
|
-
var
|
|
463
|
+
var useBridge = function (bridge) {
|
|
461
464
|
if (bridge && typeof bridge.registerHandler === 'function') {
|
|
462
465
|
bridge.registerHandler(name, function (data, responseCallback) {
|
|
463
466
|
callback(data, responseCallback);
|
|
@@ -465,28 +468,27 @@ var Bridge = /** @class */ (function () {
|
|
|
465
468
|
}
|
|
466
469
|
};
|
|
467
470
|
if (this.bridge) {
|
|
468
|
-
|
|
471
|
+
useBridge(this.bridge);
|
|
469
472
|
}
|
|
470
473
|
else {
|
|
471
474
|
// 等待初始化或直接连接
|
|
472
|
-
this.waitForReady(3000)
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
});
|
|
475
|
+
// this.waitForReady(3000)
|
|
476
|
+
// .then(() => {
|
|
477
|
+
// if (this.bridge) {
|
|
478
|
+
// useBridge(this.bridge);
|
|
479
|
+
// } else {
|
|
480
|
+
// this.connectWebViewJavascriptBridge((bridge: any) => {
|
|
481
|
+
// this.bridge = bridge;
|
|
482
|
+
// useBridge(bridge);
|
|
483
|
+
// });
|
|
484
|
+
// }
|
|
485
|
+
// })
|
|
486
|
+
// .catch(() => {
|
|
487
|
+
// this.connectWebViewJavascriptBridge((bridge: any) => {
|
|
488
|
+
// this.bridge = bridge;
|
|
489
|
+
// useBridge(bridge);
|
|
490
|
+
// });
|
|
491
|
+
// });
|
|
490
492
|
}
|
|
491
493
|
}
|
|
492
494
|
catch (e) {
|