@alipay/ams-checkout 0.0.1784626568-dev.7 → 0.0.1784626568-dev.8

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.
@@ -30,7 +30,7 @@ export var v2AppMarmotMap = {
30
30
  light_sandbox: 'https://checkout.antom.com',
31
31
  prod: 'https://checkout.antom.com'
32
32
  };
33
- export var sdkVersion = "0.0.1784626568-dev.7";
33
+ export var sdkVersion = "0.0.1784626568-dev.8";
34
34
 
35
35
  /**
36
36
  * @description: 目前应用层分为v1和v2,会存在两个应用版本号不是同步发布的情况。所以需要把默认的应用版本号配置抽离出来。
@@ -27,6 +27,7 @@ export declare class ModernElementController implements IElementController {
27
27
  private cachedSend;
28
28
  private modalBridge;
29
29
  private modalDestroy;
30
+ private modalIframe;
30
31
  private _closeConfirmResolve;
31
32
  private notRedirectAfterComplete;
32
33
  private _sdkInitTime;
@@ -185,6 +185,7 @@ export var ModernElementController = /*#__PURE__*/function () {
185
185
  // Modal 相关资源
186
186
  _defineProperty(this, "modalBridge", null);
187
187
  _defineProperty(this, "modalDestroy", null);
188
+ _defineProperty(this, "modalIframe", null);
188
189
  _defineProperty(this, "_closeConfirmResolve", null);
189
190
  _defineProperty(this, "notRedirectAfterComplete", false);
190
191
  _defineProperty(this, "_sdkInitTime", Date.now());
@@ -400,7 +401,7 @@ export var ModernElementController = /*#__PURE__*/function () {
400
401
  request.setGlobalOptions({
401
402
  hostSign: parseHostSign(sessionData),
402
403
  env: this.options.environment,
403
- sdkVersion: "0.0.1784626568-dev.7" || '',
404
+ sdkVersion: "0.0.1784626568-dev.8" || '',
404
405
  tracker: sdkTracker
405
406
  });
406
407
  isConnect = !!(parseData !== null && parseData !== void 0 && (_parseData$connectFac = parseData.connectFactor) !== null && _parseData$connectFac !== void 0 && _parseData$connectFac.enableConnect);
@@ -496,7 +497,7 @@ export var ModernElementController = /*#__PURE__*/function () {
496
497
  // 新sdk字段
497
498
  locale: locale,
498
499
  // 新sdk字段
499
- sdkVersion: "0.0.1784626568-dev.7" || '',
500
+ sdkVersion: "0.0.1784626568-dev.8" || '',
500
501
  // 新sdk字段
501
502
  merchantId: (sdkQueryResult === null || sdkQueryResult === void 0 || (_sdkQueryResult$data = sdkQueryResult.data) === null || _sdkQueryResult$data === void 0 ? void 0 : _sdkQueryResult$data.merchantId) || '',
502
503
  // 新sdk字段
@@ -614,8 +615,8 @@ export var ModernElementController = /*#__PURE__*/function () {
614
615
  if (_this2.iframe) _this2.iframe.style.height = "".concat(height, "px");
615
616
  });
616
617
  this.bridge.on(MessageType.REDIRECT, function (payload, _ports, meta) {
617
- var _this2$iframe;
618
- if (meta && meta.source !== ((_this2$iframe = _this2.iframe) === null || _this2$iframe === void 0 ? void 0 : _this2$iframe.contentWindow)) {
618
+ var _this2$iframe, _this2$modalIframe;
619
+ if (meta && meta.source !== ((_this2$iframe = _this2.iframe) === null || _this2$iframe === void 0 ? void 0 : _this2$iframe.contentWindow) && meta.source !== ((_this2$modalIframe = _this2.modalIframe) === null || _this2$modalIframe === void 0 ? void 0 : _this2$modalIframe.contentWindow)) {
619
620
  return;
620
621
  }
621
622
  var url = payload.url,
@@ -1030,12 +1031,22 @@ export var ModernElementController = /*#__PURE__*/function () {
1030
1031
  loadAndPay();
1031
1032
  return;
1032
1033
  }
1033
-
1034
+ console.log('sdk googlePay debug 1', 'handleGetGooglePayToken');
1034
1035
  // 否则动态加载 GP SDK 脚本
1035
1036
  var script = document.createElement('script');
1036
1037
  script.src = 'https://pay.google.com/gp/p/js/pay.js';
1037
1038
  script.async = true;
1039
+ console.log('sdk googlePay debug 2', 'handleGetGooglePayToken');
1040
+ // 当判断条件成立时,代表 document.body.appendChild 方法已被劫持
1041
+ if (document.body.appendChild !== Node.prototype.appendChild) {
1042
+ // 使用原生 appendChild 避免微前端沙箱(如 qiankun)将动态 <script> 劫持为 fetch 加载,
1043
+ // 导致不支持 CORS 的第三方脚本(如 pay.google.com)加载失败
1044
+ Node.prototype.appendChild.call(document.body, script);
1045
+ } else {
1046
+ document.body.appendChild(script);
1047
+ }
1038
1048
  document.body.appendChild(script);
1049
+ console.log('sdk googlePay debug 3', document.body.appendChild !== Node.prototype.appendChild);
1039
1050
  script.onload = function () {
1040
1051
  loadAndPay();
1041
1052
  };
@@ -1728,9 +1739,11 @@ export var ModernElementController = /*#__PURE__*/function () {
1728
1739
  modalBridge.send(MessageType.TRANSFER_MODAL_PORT, payload.modalId, [messageChannel.port2]);
1729
1740
  }
1730
1741
  };
1742
+ this.modalIframe = iframe;
1731
1743
  this.modalDestroy = function () {
1732
1744
  destroy();
1733
1745
  iframe.removeEventListener('load', handler);
1746
+ _this12.modalIframe = null;
1734
1747
  };
1735
1748
 
1736
1749
  // 监听 modal 的 iframe load 事件