@alipay/ams-checkout 0.0.1732691889-dev.11 → 0.0.1732691889-dev.13

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.
@@ -21,7 +21,7 @@ import { parseWebAppMatchConfig } from "../utils/web_app_url_utils";
21
21
  import { redirect } from "../utils/redirect_utils";
22
22
  import { insertStyleSheet } from "../../component/popupWindow.style";
23
23
  import { hideMockup, createMockup, createRetentionPopup, hideRetentionPopup, showRetentionPopup, cleanMockup, removeRetentionPopup, handleDeclareInfo } from "../../component/component.popup.style";
24
- import { EVENT, LOADING_ID } from "../../constant";
24
+ import { COMPONENT_CLOSE_MASK_BLOCK_ID, EVENT, LOADING_ID } from "../../constant";
25
25
  /**
26
26
  * @author 谦彧 <zhangmian.zm@alipay.com>
27
27
  * @date 2024/9/17
@@ -359,7 +359,8 @@ export var AntomSDKCore = /*#__PURE__*/function () {
359
359
  key: "cleanRender",
360
360
  value: function cleanRender() {
361
361
  var _this3 = this,
362
- _document$getElementB;
362
+ _document$getElementB,
363
+ _document$getElementB2;
363
364
  var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
364
365
  var containerService = ServiceProvider.getInstance(this.instanceId).getService('Container');
365
366
  var cleanElement = function cleanElement() {
@@ -368,7 +369,8 @@ export var AntomSDKCore = /*#__PURE__*/function () {
368
369
  removeRetentionPopup();
369
370
  // TODO @/component this.removeEventListener();
370
371
  };
371
- (_document$getElementB = document.getElementById(LOADING_ID)) === null || _document$getElementB === void 0 || _document$getElementB.remove();
372
+ (_document$getElementB = document.getElementById(COMPONENT_CLOSE_MASK_BLOCK_ID)) === null || _document$getElementB === void 0 || _document$getElementB.remove();
373
+ (_document$getElementB2 = document.getElementById(LOADING_ID)) === null || _document$getElementB2 === void 0 || _document$getElementB2.remove();
372
374
  containerService.startHideAnim();
373
375
  hideMockup();
374
376
  if (immediately) {
@@ -37,6 +37,7 @@ export declare class EventCenter implements Service {
37
37
  * @param e - The message event.
38
38
  */
39
39
  private handleAppMessage;
40
+ private checkEventCompliant;
40
41
  /**
41
42
  * Processes the application message and emits the associated event.
42
43
  * @param data - Parsed EventPayload from the app.
@@ -109,7 +109,7 @@ export var EventCenter = /*#__PURE__*/function () {
109
109
  var isJson = isJsonString(e.data);
110
110
  if (isJson) {
111
111
  var eventPayload = JSON.parse(e.data);
112
- if (eventPayload.name !== MessageName.APP_TO_SDK || eventPayload.instanceId !== this.instanceId) {
112
+ if (!this.checkEventCompliant(eventPayload)) {
113
113
  return;
114
114
  }
115
115
  this._handleAppMessage(eventPayload);
@@ -117,6 +117,26 @@ export var EventCenter = /*#__PURE__*/function () {
117
117
  console.error(ERRORMESSAGE.NOT_JSON_FORMAT);
118
118
  }
119
119
  }
120
+ }, {
121
+ key: "checkEventCompliant",
122
+ value: function checkEventCompliant(eventPayload) {
123
+ // connect element场景下,多子iframes共用AntomCore中生成的instanceId,此时将发送事件方instanceId与iframes中instanceId做比较看是否在其中
124
+ // 非connect场景下,直接将发送事件方instanceId与AntomCore的instanceId做比较
125
+ if (eventPayload.name !== MessageName.APP_TO_SDK) {
126
+ return false;
127
+ }
128
+ var iframesInstanceIds = this.iframes.map(function (iframe) {
129
+ var _iframe$ref;
130
+ if (!new URL((_iframe$ref = iframe.ref) === null || _iframe$ref === void 0 ? void 0 : _iframe$ref.src)) {
131
+ return;
132
+ }
133
+ return new URL(iframe.ref.src).searchParams.get('instanceId');
134
+ }).filter(Boolean);
135
+ if (eventPayload.instanceId !== this.instanceId && !iframesInstanceIds.includes(eventPayload.instanceId)) {
136
+ return false;
137
+ }
138
+ return true;
139
+ }
120
140
 
121
141
  /**
122
142
  * Processes the application message and emits the associated event.
@@ -1827,9 +1827,11 @@ var ComponentApp = /*#__PURE__*/function () {
1827
1827
  key: "cleanContainer",
1828
1828
  value: function cleanContainer() {
1829
1829
  var _document$getElementB4,
1830
+ _document$getElementB5,
1830
1831
  _this10 = this;
1831
1832
  var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1832
- (_document$getElementB4 = document.getElementById(LOADING_ID)) === null || _document$getElementB4 === void 0 || _document$getElementB4.remove();
1833
+ (_document$getElementB4 = document.getElementById(COMPONENT_CLOSE_MASK_BLOCK_ID)) === null || _document$getElementB4 === void 0 || _document$getElementB4.remove();
1834
+ (_document$getElementB5 = document.getElementById(LOADING_ID)) === null || _document$getElementB5 === void 0 || _document$getElementB5.remove();
1833
1835
  this.hideComponentAnimation();
1834
1836
  var mockup = document.getElementById(MOCKUP_ID);
1835
1837
  mockup === null || mockup === void 0 || mockup.classList.add("".concat(MOCKUP_ID, "-hidden"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay/ams-checkout",
3
- "version": "0.0.1732691889-dev.11",
3
+ "version": "0.0.1732691889-dev.13",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "main": "esm/index.js",