@alipay/ams-checkout 0.0.1783663570-dev.6 → 0.0.1784095668-dev.0

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.
Files changed (50) hide show
  1. package/ams-checkout.js +3 -4
  2. package/dist/ams-checkout.min.js +1 -2
  3. package/esm/config/index.d.ts +0 -7
  4. package/esm/config/index.js +2 -2
  5. package/esm/constant/element.d.ts +1 -2
  6. package/esm/constant/element.js +0 -1
  7. package/esm/constant/index.d.ts +21 -4
  8. package/esm/core/component/element/elementController/index.d.ts +3 -3
  9. package/esm/core/component/element/elementController/index.js +42 -66
  10. package/esm/core/component/element/elementProcessor/paymentProcessor.js +10 -13
  11. package/esm/core/component/element/index.d.ts +1 -4
  12. package/esm/core/component/element/index.js +4 -19
  13. package/esm/core/component/element/type.d.ts +18 -16
  14. package/esm/core/instance/index.d.ts +4 -12
  15. package/esm/core/instance/index.js +26 -152
  16. package/esm/foundation/service/event-center.js +1 -1
  17. package/esm/foundation/service/security/index.d.ts +4 -9
  18. package/esm/foundation/service/security/index.js +35 -158
  19. package/esm/foundation/service/security/security.d.ts +1 -22
  20. package/esm/foundation/service/security/security.js +37 -150
  21. package/esm/foundation/utils/preload_helper.d.ts +3 -6
  22. package/esm/foundation/utils/preload_helper.js +32 -122
  23. package/esm/main.js +4 -4
  24. package/esm/modern/index.d.ts +1 -5
  25. package/esm/modern/index.js +51 -1
  26. package/esm/modern/stageName.d.ts +3 -0
  27. package/esm/modern/stageName.js +1 -0
  28. package/esm/plugin/component/channel.d.ts +2 -2
  29. package/esm/plugin/component/channel.js +18 -18
  30. package/esm/plugin/component/index.js +29 -36
  31. package/esm/types/index.d.ts +0 -1
  32. package/esm/util/beforeConfirm.d.ts +2 -4
  33. package/esm/util/beforeConfirm.js +14 -15
  34. package/esm/util/logger.js +2 -1
  35. package/esm/util/security.d.ts +1 -22
  36. package/esm/util/security.js +39 -150
  37. package/package.json +9 -15
  38. package/types.d.ts +94 -785
  39. package/types.untrimmed.d.ts +108 -929
  40. package/dist/ams-checkout.min.js.map +0 -1
  41. package/esm/core/component/element/modernElementController/adapter.d.ts +0 -19
  42. package/esm/core/component/element/modernElementController/adapter.js +0 -73
  43. package/esm/core/component/element/modernElementController/index.d.ts +0 -149
  44. package/esm/core/component/element/modernElementController/index.js +0 -1665
  45. package/esm/modern/global.d.ts +0 -3
  46. package/esm/modern/tools.js +0 -1
  47. package/esm/util/jshield-apdid/apdid-loader.js +0 -340
  48. package/esm/util/jshield-apdid/index.js +0 -21
  49. package/esm/util/security-registry.d.ts +0 -72
  50. package/esm/util/security-registry.js +0 -175
@@ -9,7 +9,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
9
9
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
10
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
11
  import { ProductSceneEnum } from "../../../types";
12
- import { ApdidLoader } from "../../../util/jshield-apdid";
12
+ import APDID from "../../../util/jshield-apdid/apdid-core.umd.min";
13
13
  export var getSecurityConfigStorageKey = function getSecurityConfigStorageKey(scene) {
14
14
  return "AMSSDK_SECURITY_CONFIG_".concat(scene);
15
15
  };
@@ -31,108 +31,17 @@ export var getSecurityHost = function getSecurityHost(region) {
31
31
  export var getSecurityScene = function getSecurityScene(product) {
32
32
  return sceneMap[product] || '';
33
33
  };
34
-
35
- /**
36
- * Map SDK environment string to ApdidEnvironment for CDN URL selection.
37
- */
38
- export var mapEnvironment = function mapEnvironment(env) {
39
- if (!env) return 'production';
40
- var lower = env.toLowerCase();
41
- if (lower === 'pre' || lower === 'light_sandbox') return 'pre';
42
- if (lower === 'dev' || lower === 'test' || lower === 'local') return 'dev';
43
- return 'production';
44
- };
45
34
  export var Security = /*#__PURE__*/function () {
46
35
  function Security(options) {
47
36
  _classCallCheck(this, Security);
48
37
  _defineProperty(this, "scene", void 0);
49
38
  _defineProperty(this, "h5gateway", void 0);
50
- _defineProperty(this, "environment", void 0);
51
- _defineProperty(this, "apdidLoaded", false);
52
- _defineProperty(this, "apdidLoadFailed", false);
53
39
  this.scene = options.scene;
54
40
  this.h5gateway = options.h5gateway || securityHost[SecurityRegionEnum.SG];
55
- this.environment = options.environment;
56
41
  }
57
-
58
- /**
59
- * Ensure the apdid-core script is loaded async.
60
- * Returns true if loaded successfully, false otherwise.
61
- * On failure, sets apdidLoadFailed flag for graceful degradation.
62
- */
63
42
  _createClass(Security, [{
64
- key: "ensureApdidLoaded",
65
- value: (function () {
66
- var _ensureApdidLoaded = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
67
- var loader, apdidEnv;
68
- return _regeneratorRuntime().wrap(function _callee$(_context) {
69
- while (1) switch (_context.prev = _context.next) {
70
- case 0:
71
- if (!this.apdidLoaded) {
72
- _context.next = 2;
73
- break;
74
- }
75
- return _context.abrupt("return", true);
76
- case 2:
77
- if (!this.apdidLoadFailed) {
78
- _context.next = 4;
79
- break;
80
- }
81
- return _context.abrupt("return", false);
82
- case 4:
83
- loader = ApdidLoader.getInstance();
84
- apdidEnv = mapEnvironment(this.environment);
85
- _context.prev = 6;
86
- _context.next = 9;
87
- return loader.load({
88
- environment: apdidEnv,
89
- callbacks: {
90
- onLoad: function onLoad(duration) {
91
- console.log("[Security] apdid-core script loaded in ".concat(duration, "ms"));
92
- },
93
- onLoadFailed: function onLoadFailed(error) {
94
- console.error('[Security] apdid-core script load failed:', error.message);
95
- },
96
- onLoadTimeout: function onLoadTimeout() {
97
- console.error('[Security] apdid-core script load timeout');
98
- }
99
- }
100
- });
101
- case 9:
102
- this.apdidLoaded = true;
103
- return _context.abrupt("return", true);
104
- case 13:
105
- _context.prev = 13;
106
- _context.t0 = _context["catch"](6);
107
- console.error('[Security] apdid-core load error, degrading:', _context.t0);
108
- this.apdidLoadFailed = true;
109
- return _context.abrupt("return", false);
110
- case 18:
111
- case "end":
112
- return _context.stop();
113
- }
114
- }, _callee, this, [[6, 13]]);
115
- }));
116
- function ensureApdidLoaded() {
117
- return _ensureApdidLoaded.apply(this, arguments);
118
- }
119
- return ensureApdidLoaded;
120
- }()
121
- /**
122
- * Get the APDID module from the loader.
123
- * Returns undefined if not loaded.
124
- */
125
- )
126
- }, {
127
- key: "getAPDIDModule",
128
- value: function getAPDIDModule() {
129
- var loader = ApdidLoader.getInstance();
130
- return loader.getApdidModule();
131
- }
132
- }, {
133
43
  key: "initSecurity",
134
44
  value: function initSecurity(successCallback, failCallback) {
135
- var _this = this;
136
45
  if (!this.scene) {
137
46
  throw new Error('securityConfig parameter error');
138
47
  }
@@ -141,23 +50,12 @@ export var Security = /*#__PURE__*/function () {
141
50
  console.error(errorMsg);
142
51
  throw new Error(errorMsg);
143
52
  }
144
-
145
- // Async: ensure script is loaded before calling initToken
146
- this.ensureApdidLoaded().then(function (loaded) {
147
- if (!loaded) {
148
- failCallback && failCallback('apdid-core script load failed');
149
- return;
150
- }
151
- _this.initToken(successCallback, failCallback);
152
- }).catch(function () {
153
- failCallback && failCallback('apdid-core script load failed');
154
- });
53
+ this.initToken(successCallback, failCallback);
155
54
  }
156
55
  }, {
157
56
  key: "initToken",
158
57
  value: function initToken(successCallback, failCallback) {
159
58
  try {
160
- var APDID = this.getAPDIDModule();
161
59
  APDID === null || APDID === void 0 || APDID.initToken(this.scene, {
162
60
  host: this.h5gateway
163
61
  }, function (success, tokenResult, msg) {
@@ -166,6 +64,7 @@ export var Security = /*#__PURE__*/function () {
166
64
  } else {
167
65
  failCallback && failCallback(msg);
168
66
  }
67
+ console.log('initToken result tokenResult', JSON.stringify(tokenResult), msg);
169
68
  });
170
69
  } catch (error) {
171
70
  failCallback && failCallback(error === null || error === void 0 ? void 0 : error.toString());
@@ -174,48 +73,48 @@ export var Security = /*#__PURE__*/function () {
174
73
  }, {
175
74
  key: "pollingGetApdidToken",
176
75
  value: function () {
177
- var _pollingGetApdidToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(config) {
178
- var _this2 = this;
76
+ var _pollingGetApdidToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(config) {
77
+ var _this = this;
179
78
  var tokenCollectTime, dataPollingInterval, asyncFunc;
180
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
181
- while (1) switch (_context4.prev = _context4.next) {
79
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
80
+ while (1) switch (_context3.prev = _context3.next) {
182
81
  case 0:
183
82
  tokenCollectTime = parseInt((config === null || config === void 0 ? void 0 : config.tokenCollectTime) || '0', 10);
184
83
  dataPollingInterval = parseInt((config === null || config === void 0 ? void 0 : config.dataPollingInterval) || '500', 10);
185
84
  asyncFunc = /*#__PURE__*/function () {
186
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(resolve) {
85
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(resolve) {
187
86
  var deviceId, interval, polling;
188
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
189
- while (1) switch (_context3.prev = _context3.next) {
87
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
88
+ while (1) switch (_context2.prev = _context2.next) {
190
89
  case 0:
191
- _context3.next = 2;
192
- return _this2.getApdidToken();
90
+ _context2.next = 2;
91
+ return _this.getApdidToken();
193
92
  case 2:
194
- deviceId = _context3.sent;
93
+ deviceId = _context2.sent;
195
94
  if (!deviceId) {
196
- _context3.next = 5;
95
+ _context2.next = 5;
197
96
  break;
198
97
  }
199
- return _context3.abrupt("return", resolve(deviceId));
98
+ return _context2.abrupt("return", resolve(deviceId));
200
99
  case 5:
201
100
  polling = /*#__PURE__*/function () {
202
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
203
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
204
- while (1) switch (_context2.prev = _context2.next) {
101
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
102
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
103
+ while (1) switch (_context.prev = _context.next) {
205
104
  case 0:
206
- _context2.next = 2;
207
- return _this2.getApdidToken();
105
+ _context.next = 2;
106
+ return _this.getApdidToken();
208
107
  case 2:
209
- deviceId = _context2.sent;
108
+ deviceId = _context.sent;
210
109
  if (deviceId) {
211
110
  clearInterval(interval);
212
111
  resolve(deviceId);
213
112
  }
214
113
  case 4:
215
114
  case "end":
216
- return _context2.stop();
115
+ return _context.stop();
217
116
  }
218
- }, _callee2);
117
+ }, _callee);
219
118
  }));
220
119
  return function polling() {
221
120
  return _ref2.apply(this, arguments);
@@ -228,22 +127,22 @@ export var Security = /*#__PURE__*/function () {
228
127
  }, tokenCollectTime);
229
128
  case 8:
230
129
  case "end":
231
- return _context3.stop();
130
+ return _context2.stop();
232
131
  }
233
- }, _callee3);
132
+ }, _callee2);
234
133
  }));
235
134
  return function asyncFunc(_x2) {
236
135
  return _ref.apply(this, arguments);
237
136
  };
238
137
  }();
239
- return _context4.abrupt("return", new Promise(function (resolve) {
138
+ return _context3.abrupt("return", new Promise(function (resolve) {
240
139
  asyncFunc(resolve);
241
140
  }));
242
141
  case 4:
243
142
  case "end":
244
- return _context4.stop();
143
+ return _context3.stop();
245
144
  }
246
- }, _callee4);
145
+ }, _callee3);
247
146
  }));
248
147
  function pollingGetApdidToken(_x) {
249
148
  return _pollingGetApdidToken.apply(this, arguments);
@@ -253,37 +152,25 @@ export var Security = /*#__PURE__*/function () {
253
152
  }, {
254
153
  key: "getApdidToken",
255
154
  value: function () {
256
- var _getApdidToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
257
- var _this3 = this;
258
- var loaded;
259
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
260
- while (1) switch (_context5.prev = _context5.next) {
155
+ var _getApdidToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
156
+ var _this2 = this;
157
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
158
+ while (1) switch (_context4.prev = _context4.next) {
261
159
  case 0:
262
- _context5.next = 2;
263
- return this.ensureApdidLoaded();
264
- case 2:
265
- loaded = _context5.sent;
266
- if (loaded) {
267
- _context5.next = 5;
268
- break;
269
- }
270
- return _context5.abrupt("return", '');
271
- case 5:
272
- return _context5.abrupt("return", new Promise(function (resolve) {
160
+ return _context4.abrupt("return", new Promise(function (resolve) {
273
161
  try {
274
- var APDID = _this3.getAPDIDModule();
275
- APDID === null || APDID === void 0 || APDID.getApdidToken(_this3.scene, function (tokenResult) {
162
+ APDID === null || APDID === void 0 || APDID.getApdidToken(_this2.scene, function (tokenResult) {
276
163
  resolve(tokenResult === null || tokenResult === void 0 ? void 0 : tokenResult.token);
277
164
  });
278
165
  } catch (error) {
279
166
  resolve('');
280
167
  }
281
168
  }));
282
- case 6:
169
+ case 1:
283
170
  case "end":
284
- return _context5.stop();
171
+ return _context4.stop();
285
172
  }
286
- }, _callee5, this);
173
+ }, _callee4);
287
174
  }));
288
175
  function getApdidToken() {
289
176
  return _getApdidToken.apply(this, arguments);
@@ -3,13 +3,10 @@ import { Security } from '../../util/security';
3
3
  export default class PreloadHelper {
4
4
  static isWebAppPreloaded: boolean;
5
5
  static isSecuritySDKPreloaded: boolean;
6
+ private static securitySdkMap;
6
7
  static preloadWebApp(productScene: ProductSceneEnum, paymentMethodCategoryType: PaymentMethodCategoryTypeEnum, environment?: string, useV2?: boolean): void;
7
- /**
8
- * Preload security SDK asynchronously.
9
- * Triggers ApdidLoader.load() for async script loading and registers in SecuritySdkRegistry.
10
- */
11
- static preloadSecuritySDK(product: ProductSceneEnum, securityRegion?: string, environment?: string): Promise<void>;
12
- static getSecuritySdk(scene: string): Security | undefined;
8
+ static preloadSecuritySDK(product: ProductSceneEnum, securityRegion?: string): void;
9
+ static getSecuritySdk(scene: any): Security;
13
10
  static buildWebAppPreloadUrl(productScene: ProductSceneEnum, paymentMethodCategoryType: PaymentMethodCategoryTypeEnum, environment: string, useV2?: boolean): {
14
11
  preloadUrl: string;
15
12
  containerId: string;
@@ -1,7 +1,4 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
2
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
3
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
7
4
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -14,10 +11,8 @@ import { ProductSceneEnum } from "../../types";
14
11
  import { getWebAppUrl, getWebAppV2Url } from "../utils/web_app_url_utils";
15
12
  import { ProductInfoCacheUtil } from "../utils/payment_product_utils";
16
13
  import { getWebAppVersion } from "./payment_context_utils";
17
- import { getSecurityConfigStorageKey, getSecurityHost, getSecurityScene, Security, mapEnvironment } from "../../util/security";
14
+ import { getSecurityConfigStorageKey, getSecurityHost, getSecurityScene, Security } from "../../util/security";
18
15
  import { getOrSetStorageId, safeJson } from "../../util";
19
- import { SecuritySdkRegistry } from "../../util/security-registry";
20
- import { ApdidLoader } from "../../util/jshield-apdid";
21
16
  var MAX_CLEAR_TIME = 10000;
22
17
  var PreloadHelper = /*#__PURE__*/function () {
23
18
  function PreloadHelper() {
@@ -55,128 +50,42 @@ var PreloadHelper = /*#__PURE__*/function () {
55
50
  console.error('[web-sdk] preload web app failed', error);
56
51
  }
57
52
  }
58
-
59
- /**
60
- * Preload security SDK asynchronously.
61
- * Triggers ApdidLoader.load() for async script loading and registers in SecuritySdkRegistry.
62
- */
63
53
  }, {
64
54
  key: "preloadSecuritySDK",
65
- value: (function () {
66
- var _preloadSecuritySDK = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(product) {
67
- var _this = this;
68
- var securityRegion,
69
- environment,
70
- storage,
71
- scene,
72
- h5gateway,
73
- existing,
74
- apdidEnv,
75
- loader,
76
- securitySdk,
77
- loadingPromise,
78
- _args = arguments;
79
- return _regeneratorRuntime().wrap(function _callee$(_context) {
80
- while (1) switch (_context.prev = _context.next) {
81
- case 0:
82
- securityRegion = _args.length > 1 && _args[1] !== undefined ? _args[1] : 'SG';
83
- environment = _args.length > 2 ? _args[2] : undefined;
84
- _context.prev = 2;
85
- if (!this.isSecuritySDKPreloaded) {
86
- _context.next = 6;
87
- break;
88
- }
89
- console.log('[web-sdk] security sdk is already loaded');
90
- return _context.abrupt("return");
91
- case 6:
92
- storage = PreloadHelper.getSecurityConfigStorage(product);
93
- scene = storage.scene || getSecurityScene(product);
94
- console.log('getSecurityScene', scene);
95
- h5gateway = storage.h5gateway || getSecurityHost(securityRegion);
96
- console.log('preloadSecuritySDK', scene);
97
-
98
- // Check if already in registry
99
- if (!SecuritySdkRegistry.isReady(scene)) {
100
- _context.next = 15;
101
- break;
102
- }
103
- console.log('[web-sdk] security sdk already ready in registry');
104
- this.isSecuritySDKPreloaded = true;
105
- return _context.abrupt("return");
106
- case 15:
107
- if (!SecuritySdkRegistry.isLoading(scene)) {
108
- _context.next = 30;
109
- break;
110
- }
111
- console.log('[web-sdk] security sdk is already loading, waiting...');
112
- existing = SecuritySdkRegistry.get(scene);
113
- if (!(existing && existing.status === 'loading')) {
114
- _context.next = 29;
115
- break;
116
- }
117
- _context.prev = 19;
118
- _context.next = 22;
119
- return existing.loadingPromise;
120
- case 22:
121
- this.isSecuritySDKPreloaded = true;
122
- console.log('[web-sdk] preload security sdk succeed (waited for existing load)');
123
- _context.next = 29;
124
- break;
125
- case 26:
126
- _context.prev = 26;
127
- _context.t0 = _context["catch"](19);
128
- console.error('[web-sdk] preload security sdk failed (existing load failed)');
129
- case 29:
130
- return _context.abrupt("return");
131
- case 30:
132
- // 非阻塞调度 ApdidLoader 加载,preload 立即返回,不阻塞主流程
133
- // Security 内部的 ensureApdidLoaded() 会在需要 token 时按需等待加载完成
134
- apdidEnv = mapEnvironment(environment);
135
- loader = ApdidLoader.getInstance();
136
- loader.scheduleLoad({
137
- environment: apdidEnv
138
- });
139
-
140
- // Create Security instance and register in registry
141
- securitySdk = new Security({
142
- scene: scene,
143
- h5gateway: h5gateway,
144
- environment: environment
145
- });
146
- loadingPromise = new Promise(function (resolveLoading, rejectLoading) {
147
- securitySdk.initSecurity(function () {
148
- SecuritySdkRegistry.setReady(scene, securitySdk);
149
- _this.isSecuritySDKPreloaded = true;
150
- console.log('[web-sdk] preload security sdk succeed');
151
- resolveLoading(securitySdk);
152
- }, function () {
153
- SecuritySdkRegistry.setFailed(scene, new Error('Preload security sdk init failed'));
154
- console.error('[web-sdk] preload security sdk failed');
155
- rejectLoading(new Error('Preload security sdk init failed'));
156
- });
157
- });
158
- SecuritySdkRegistry.setLoading(scene, loadingPromise);
159
- _context.next = 41;
160
- break;
161
- case 38:
162
- _context.prev = 38;
163
- _context.t1 = _context["catch"](2);
164
- console.error('[web-sdk] preload security sdk failed', _context.t1);
165
- case 41:
166
- case "end":
167
- return _context.stop();
168
- }
169
- }, _callee, this, [[2, 38], [19, 26]]);
170
- }));
171
- function preloadSecuritySDK(_x) {
172
- return _preloadSecuritySDK.apply(this, arguments);
55
+ value: function preloadSecuritySDK(product) {
56
+ var _this = this;
57
+ var securityRegion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'SG';
58
+ try {
59
+ if (this.isSecuritySDKPreloaded) {
60
+ console.log('[web-sdk] security sdk is already loaded');
61
+ return;
62
+ }
63
+ var storage = PreloadHelper.getSecurityConfigStorage(product);
64
+ var scene = storage.scene || getSecurityScene(product);
65
+ console.log('getSecurityScene', scene);
66
+ var h5gateway = storage.h5gateway || getSecurityHost(securityRegion);
67
+ console.log('preloadSecuritySDK', scene);
68
+ var securitySdk = new Security({
69
+ scene: scene,
70
+ h5gateway: h5gateway
71
+ });
72
+ securitySdk.initSecurity(function () {
73
+ console.log(_this.securitySdkMap, 'this.securitySdkMap');
74
+ _this.securitySdkMap.set(scene, securitySdk);
75
+ _this.isSecuritySDKPreloaded = true;
76
+ console.log('[web-sdk] preload security sdk succeed');
77
+ }, function () {
78
+ console.error('[web-sdk] preload security sdk failed');
79
+ });
80
+ } catch (error) {
81
+ console.error('[web-sdk] preload security sdk failed', error);
173
82
  }
174
- return preloadSecuritySDK;
175
- }())
83
+ }
176
84
  }, {
177
85
  key: "getSecuritySdk",
178
86
  value: function getSecuritySdk(scene) {
179
- return SecuritySdkRegistry.getReadyInstance(scene);
87
+ var result = this.securitySdkMap.get(scene);
88
+ return result;
180
89
  }
181
90
  }, {
182
91
  key: "buildWebAppPreloadUrl",
@@ -234,4 +143,5 @@ var PreloadHelper = /*#__PURE__*/function () {
234
143
  }();
235
144
  _defineProperty(PreloadHelper, "isWebAppPreloaded", false);
236
145
  _defineProperty(PreloadHelper, "isSecuritySDKPreloaded", false);
146
+ _defineProperty(PreloadHelper, "securitySdkMap", new Map());
237
147
  export { PreloadHelper as default };
package/esm/main.js CHANGED
@@ -77,7 +77,7 @@ export var AMSAutoDebitPay = /*#__PURE__*/function (_AMSCheckout) {
77
77
  environment: 'prod'
78
78
  };
79
79
  PreloadHelper.preloadWebApp(ProductSceneEnum.AUTO_DEBIT_PAY, PaymentMethodCategoryTypeEnum.WALLET, options.environment);
80
- PreloadHelper.preloadSecuritySDK(ProductSceneEnum.AUTO_DEBIT_PAY, options.securityRegion, options.environment);
80
+ PreloadHelper.preloadSecuritySDK(ProductSceneEnum.AUTO_DEBIT_PAY, options.securityRegion);
81
81
  }
82
82
  }]);
83
83
  return AMSAutoDebitPay;
@@ -164,7 +164,7 @@ export var AMSCashierPayment = /*#__PURE__*/function (_AMSCheckout2) {
164
164
  } catch (error) {
165
165
  console.error('[web-sdk] preload web app error', error);
166
166
  }
167
- PreloadHelper.preloadSecuritySDK(ProductSceneEnum.CASHIER_PAYMENT, options.securityRegion, options.environment);
167
+ PreloadHelper.preloadSecuritySDK(ProductSceneEnum.CASHIER_PAYMENT, options.securityRegion);
168
168
  }
169
169
  }]);
170
170
  return AMSCashierPayment;
@@ -188,7 +188,7 @@ export var AMSVaulting = /*#__PURE__*/function (_AMSCheckout3) {
188
188
  environment: 'prod'
189
189
  };
190
190
  PreloadHelper.preloadWebApp(ProductSceneEnum.CASHIER_PAYMENT, PaymentMethodCategoryTypeEnum.CARD, options.environment);
191
- PreloadHelper.preloadSecuritySDK(ProductSceneEnum.VAULTING, options.securityRegion, options.environment);
191
+ PreloadHelper.preloadSecuritySDK(ProductSceneEnum.VAULTING, options.securityRegion);
192
192
  }
193
193
  }]);
194
194
  return AMSVaulting;
@@ -336,7 +336,7 @@ export var AMSAutoDebit = /*#__PURE__*/function () {
336
336
  environment: 'prod'
337
337
  };
338
338
  PreloadHelper.preloadWebApp(ProductSceneEnum.AUTO_DEBIT, PaymentMethodCategoryTypeEnum.WALLET, options.environment);
339
- PreloadHelper.preloadSecuritySDK(ProductSceneEnum.AUTO_DEBIT, options.securityRegion, options.environment);
339
+ PreloadHelper.preloadSecuritySDK(ProductSceneEnum.AUTO_DEBIT, options.securityRegion);
340
340
  }
341
341
  }]);
342
342
  return AMSAutoDebit;
@@ -1,9 +1,5 @@
1
- import type { AntomSDK, LoadAntomConfig, ShippingInfo } from "../../types";
1
+ import type { AntomSDK, LoadAntomConfig } from "../../types";
2
2
  /**
3
3
  * @description load Antom instance
4
4
  */
5
5
  export declare const loadAntom: (config?: LoadAntomConfig) => Promise<AntomSDK>;
6
- /**
7
- * @description 导出给v2element使用的类型
8
- */
9
- export type { ShippingInfo };