crh-jssdk 1.0.25 → 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 +65 -70
- package/package.json +1 -1
|
@@ -274,11 +274,11 @@ 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.init === 'function') {
|
|
277
|
+
if (bridge && typeof (bridge === null || bridge === void 0 ? void 0 : bridge.init) === 'function') {
|
|
278
278
|
// 双保险:在调用init前再次检查全局标记,避免并发或多次进入时重复调用
|
|
279
279
|
if (!window._WVJBInitialized && !_this._bridgeInitCalled) {
|
|
280
280
|
window._WVJBInitialized = true;
|
|
281
|
-
bridge.init(function () {
|
|
281
|
+
bridge === null || bridge === void 0 ? void 0 : bridge.init(function () {
|
|
282
282
|
console.log('Bridge初始化完成');
|
|
283
283
|
_this._bridgeInitCalled = true;
|
|
284
284
|
resolve();
|
|
@@ -363,7 +363,7 @@ var Bridge = /** @class */ (function () {
|
|
|
363
363
|
return new Promise(function (resolve, reject) {
|
|
364
364
|
try {
|
|
365
365
|
// 如果Bridge已初始化,直接使用;否则等待初始化完成
|
|
366
|
-
var
|
|
366
|
+
var useBridge = function (bridge) {
|
|
367
367
|
if (!bridge || typeof bridge.callHandler !== 'function') {
|
|
368
368
|
reject(new Error('Bridge未正确初始化或callHandler方法不存在'));
|
|
369
369
|
return;
|
|
@@ -379,35 +379,33 @@ var Bridge = /** @class */ (function () {
|
|
|
379
379
|
};
|
|
380
380
|
if (_this.bridge) {
|
|
381
381
|
// Bridge已初始化,直接使用
|
|
382
|
-
|
|
382
|
+
useBridge(_this.bridge);
|
|
383
383
|
}
|
|
384
384
|
else {
|
|
385
385
|
// Bridge未初始化,等待初始化完成
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
});
|
|
410
|
-
});
|
|
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
|
+
// });
|
|
411
409
|
}
|
|
412
410
|
}
|
|
413
411
|
catch (e) {
|
|
@@ -417,7 +415,7 @@ var Bridge = /** @class */ (function () {
|
|
|
417
415
|
}
|
|
418
416
|
// 不需要回调,只需要执行
|
|
419
417
|
try {
|
|
420
|
-
var
|
|
418
|
+
var useBridge = function (bridge) {
|
|
421
419
|
if (bridge && typeof bridge.callHandler === 'function') {
|
|
422
420
|
bridge.callHandler(name, params, function () {
|
|
423
421
|
// dosomething
|
|
@@ -425,28 +423,27 @@ var Bridge = /** @class */ (function () {
|
|
|
425
423
|
}
|
|
426
424
|
};
|
|
427
425
|
if (this.bridge) {
|
|
428
|
-
|
|
426
|
+
useBridge(this.bridge);
|
|
429
427
|
}
|
|
430
428
|
else {
|
|
431
429
|
// 等待初始化或直接连接
|
|
432
|
-
this.waitForReady(3000)
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
});
|
|
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
|
+
// });
|
|
450
447
|
}
|
|
451
448
|
}
|
|
452
449
|
catch (e) {
|
|
@@ -460,11 +457,10 @@ var Bridge = /** @class */ (function () {
|
|
|
460
457
|
* @param callback 回调函数,第二个参数responseCallback用于向App发送响应
|
|
461
458
|
*/
|
|
462
459
|
Bridge.prototype.registerHandler = function (name, callback) {
|
|
463
|
-
var _this = this;
|
|
464
460
|
if (name === void 0) { name = ''; }
|
|
465
461
|
if (callback === void 0) { callback = function () { }; }
|
|
466
462
|
try {
|
|
467
|
-
var
|
|
463
|
+
var useBridge = function (bridge) {
|
|
468
464
|
if (bridge && typeof bridge.registerHandler === 'function') {
|
|
469
465
|
bridge.registerHandler(name, function (data, responseCallback) {
|
|
470
466
|
callback(data, responseCallback);
|
|
@@ -472,28 +468,27 @@ var Bridge = /** @class */ (function () {
|
|
|
472
468
|
}
|
|
473
469
|
};
|
|
474
470
|
if (this.bridge) {
|
|
475
|
-
|
|
471
|
+
useBridge(this.bridge);
|
|
476
472
|
}
|
|
477
473
|
else {
|
|
478
474
|
// 等待初始化或直接连接
|
|
479
|
-
this.waitForReady(3000)
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
});
|
|
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
|
+
// });
|
|
497
492
|
}
|
|
498
493
|
}
|
|
499
494
|
catch (e) {
|