@alipay/ams-checkout 0.0.1724309103-dev.1 → 0.0.1724942009-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.
@@ -4,7 +4,7 @@
4
4
  * 1. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE; and
5
5
  * 2. If applicable, the use of the Software is also subject to the terms and conditions of any non-disclosure agreement signed by you and the relevant Ant Group entity.
6
6
  */
7
- import { eventCodeEnum } from "../types";
7
+ import { eventCodeEnum } from '../types';
8
8
  export declare const ERRORMESSAGE: {
9
9
  DOMAIN_NOT_IN_WHITE_LIST: {
10
10
  code: eventCodeEnum;
@@ -167,6 +167,14 @@ export declare const EVENT: {
167
167
  appHeartBeat: {
168
168
  name: string;
169
169
  };
170
+ beforeSubmit: {
171
+ name: string;
172
+ uniqueKey: string;
173
+ };
174
+ beforeSubmitDone: {
175
+ name: string;
176
+ uniqueKey: string;
177
+ };
170
178
  };
171
179
  export declare const COMPONENT_CONTAINER_ID = "ams-component-container";
172
180
  export declare const COMPONENT_SECTION_ID = "ams-component-section";
@@ -186,3 +194,8 @@ export declare const TIMEOUT_WEB_APP_HEART_BEAT = 6000;
186
194
  export declare const TIME_DELAY_SEND_HEART_BEAT = 1000;
187
195
  export declare const closeImg = "https://cdn.marmot-cloud.com/storage/2023/5/18/1692a487-99b5-4314-9d6f-e9814bc1ca41.svg";
188
196
  export declare const LOADINGIMG = "data:image/png;base64,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";
197
+ export declare const RULES: {
198
+ matchRule: string;
199
+ iosScheme: string;
200
+ andScheme: string;
201
+ }[];
@@ -166,6 +166,14 @@ export var EVENT = {
166
166
  },
167
167
  appHeartBeat: {
168
168
  name: 'appHeartBeat'
169
+ },
170
+ beforeSubmit: {
171
+ name: 'beforeSubmit',
172
+ uniqueKey: 'userBeforeSubmit'
173
+ },
174
+ beforeSubmitDone: {
175
+ name: 'beforeSubmitDone',
176
+ uniqueKey: 'userBeforeSubmitDone'
169
177
  }
170
178
  };
171
179
  export var COMPONENT_CONTAINER_ID = 'ams-component-container';
@@ -185,4 +193,81 @@ export var ANIMATION_TIME = 300;
185
193
  export var TIMEOUT_WEB_APP_HEART_BEAT = 6000;
186
194
  export var TIME_DELAY_SEND_HEART_BEAT = 1000;
187
195
  export var closeImg = 'https://cdn.marmot-cloud.com/storage/2023/5/18/1692a487-99b5-4314-9d6f-e9814bc1ca41.svg';
188
- export var LOADINGIMG = 'data:image/png;base64,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';
196
+ export var LOADINGIMG = 'data:image/png;base64,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';
197
+ export var RULES = [{
198
+ matchRule: 'AppleWebKit\\/([0-9\\.]+).* Version\\/([0-9\\._]+) Mobile\\/([0-9\\._A-Z]+) Safari\\/([0-9\\._]+)$',
199
+ iosScheme: 'https',
200
+ andScheme: ''
201
+ }, {
202
+ matchRule: 'HeyTapBrowser',
203
+ iosScheme: '',
204
+ andScheme: ''
205
+ }, {
206
+ matchRule: 'HuaweiBrowser',
207
+ iosScheme: '',
208
+ andScheme: ''
209
+ }, {
210
+ matchRule: 'Kwai',
211
+ iosScheme: 'kwai',
212
+ andScheme: ''
213
+ }, {
214
+ matchRule: 'MQQBrowser',
215
+ iosScheme: 'mttbrowser',
216
+ andScheme: ''
217
+ }, {
218
+ matchRule: 'MicroMessenger',
219
+ iosScheme: '',
220
+ andScheme: ''
221
+ }, {
222
+ matchRule: 'MiuiBrowser',
223
+ iosScheme: '',
224
+ andScheme: ''
225
+ }, {
226
+ matchRule: 'Mozilla\\/([0-9\\.]+).* AppleWebKit\\/([0-9\\.]+).* CriOS\\/([0-9\\._]+) Mobile\\/([0-9\\._A-Z\\._a-z]+) Safari\\/([0-9\\._]+)$',
227
+ iosScheme: 'googlechrome',
228
+ andScheme: ''
229
+ }, {
230
+ matchRule: 'Mozilla\\/([0-9\\.]+).* AppleWebKit\\/([0-9\\.]+).* Version\\/([0-9\\._]+) Mobile Safari\\/([0-9\\._]+)$',
231
+ iosScheme: 'googlechrome',
232
+ andScheme: ''
233
+ }, {
234
+ matchRule: 'NewsArticle',
235
+ iosScheme: 'snssdk141',
236
+ andScheme: ''
237
+ }, {
238
+ matchRule: 'UCBrowser',
239
+ iosScheme: 'ucbrowser',
240
+ andScheme: ''
241
+ }, {
242
+ matchRule: 'VideoArticle',
243
+ iosScheme: 'snssdk32',
244
+ andScheme: ''
245
+ }, {
246
+ matchRule: 'VivoBrowser',
247
+ iosScheme: '',
248
+ andScheme: ''
249
+ }, {
250
+ matchRule: 'ZhongAnWebView',
251
+ iosScheme: 'zaapp',
252
+ andScheme: ''
253
+ }, {
254
+ matchRule: 'aweme',
255
+ iosScheme: 'snssdk1128',
256
+ andScheme: ''
257
+ }, {
258
+ matchRule: 'aweme_lite',
259
+ iosScheme: 'snssdk2329',
260
+ andScheme: ''
261
+ }, {
262
+ matchRule: 'com.xs.fm',
263
+ iosScheme: 'novelfm3040',
264
+ andScheme: ''
265
+ }, {
266
+ matchRule: 'netdisk',
267
+ iosScheme: '',
268
+ andScheme: ''
269
+ }, {
270
+ matchRule: 'qqnews',
271
+ iosScheme: 'qqnews',
272
+ andScheme: ''
273
+ }];
@@ -7,6 +7,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
7
7
  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); }
8
8
  import { v4 as uuid } from 'uuid';
9
9
  import { environmentEnum } from "../../../types";
10
+ import { queryParse } from "../../../util";
10
11
  import { LogConfig, Logger } from "../../../util/logger";
11
12
  var CKP_PAYMENT_PAGE_HOST = {
12
13
  DEV: 'https://dev.page.alipay.net',
@@ -50,7 +51,20 @@ export var AMSCheckoutPage = /*#__PURE__*/function () {
50
51
  var lang = _this.originOptions.locale || 'en_US';
51
52
  var ckpPageAddress = getCKPPageAddress(env);
52
53
  console.log('[antom-web-sdk] <antom-checkout-page> generateIframeSrc', _this.originOptions, env, session, lang, ckpPageAddress);
53
- return "".concat(ckpPageAddress, "?sessionData=").concat(encodeURIComponent(session), "&lang=").concat(lang, "&mode=embed");
54
+
55
+ // 先获取去除的 query 参数的 url
56
+ var url = ckpPageAddress.split('?')[0];
57
+ var queryObj = queryParse(ckpPageAddress);
58
+ queryObj.sessionData = session;
59
+ queryObj.lang = lang;
60
+ queryObj.mode = 'embed';
61
+ if (env === 'sandbox') {
62
+ queryObj.shadow = 'true';
63
+ }
64
+ Object.keys(queryObj).forEach(function (key) {
65
+ url += "".concat(url.includes('?') ? '&' : '?').concat(key, "=").concat(encodeURIComponent(queryObj[key]));
66
+ });
67
+ return url;
54
68
  });
55
69
  _defineProperty(this, "eventListenerWrapper", function (event) {
56
70
  var _ref = JSON.parse(event.data) || {},
@@ -122,7 +122,6 @@ export var AMSComponent = /*#__PURE__*/function (_CoreInstance) {
122
122
  _classCallCheck(this, AMSComponent);
123
123
  _this = _super.call(this, options);
124
124
  // Instantiate the plug-in and set render
125
- _defineProperty(_assertThisInitialized(_this), "_componentApp", void 0);
126
125
  _defineProperty(_assertThisInitialized(_this), "channelType", void 0);
127
126
  _defineProperty(_assertThisInitialized(_this), "productSceneVersion", void 0);
128
127
  _defineProperty(_assertThisInitialized(_this), "timer", void 0);
@@ -6,6 +6,7 @@
6
6
  * 2. If applicable, the use of the Software is also subject to the terms and conditions of any non-disclosure agreement signed by you and the relevant Ant Group entity.
7
7
  */
8
8
  import { ComponentActionNamesType } from 'src/plugin/type';
9
+ import ComponentApp from '../../plugin/component';
9
10
  import type { AMSCheckoutOptions, IAppendParams, InitSecurityConfig, IoptionsParams } from '../../types/index';
10
11
  import { EventCenter } from '../../util/index';
11
12
  import { Logger } from '../../util/logger';
@@ -18,6 +19,7 @@ export default class AMSSDK {
18
19
  _instanceId: string;
19
20
  _storageId: string;
20
21
  _appendParams: IAppendParams;
22
+ _componentApp: ComponentApp;
21
23
  protected securitySdkMap: Map<string, Security>;
22
24
  protected plugins: Map<string, any>;
23
25
  constructor(options: IoptionsParams);
@@ -77,6 +79,7 @@ export default class AMSSDK {
77
79
  normalUrl?: string;
78
80
  schemeUrl?: string;
79
81
  applinkUrl?: string;
82
+ callAppJudgeTime?: number;
80
83
  }): Promise<void>;
81
84
  /**
82
85
  * @description Overlay Subscription
@@ -1,4 +1,7 @@
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); }); }; }
2
5
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
3
6
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
7
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
@@ -38,6 +41,7 @@ var AMSSDK = /*#__PURE__*/function () {
38
41
  _defineProperty(this, "_instanceId", void 0);
39
42
  _defineProperty(this, "_storageId", void 0);
40
43
  _defineProperty(this, "_appendParams", void 0);
44
+ _defineProperty(this, "_componentApp", void 0);
41
45
  _defineProperty(this, "securitySdkMap", void 0);
42
46
  _defineProperty(this, "plugins", void 0);
43
47
  this._instanceId = uuid();
@@ -290,6 +294,7 @@ var AMSSDK = /*#__PURE__*/function () {
290
294
  }, {
291
295
  key: "_initEvent",
292
296
  value: function _initEvent(options) {
297
+ var _this2 = this;
293
298
  if (options !== null && options !== void 0 && options.onError) {
294
299
  if (getType(options.onError) !== 'function') throw new Error(ERRORMESSAGE.INIT_PARAMETER_ERROR.EVENT_ERROR.message);
295
300
  this._overrideSubscription(EVENT.error.name, options.onError, EVENT.error.uniqueKey);
@@ -314,6 +319,56 @@ var AMSSDK = /*#__PURE__*/function () {
314
319
  if (getType(options.onClose) !== 'function') throw new Error(ERRORMESSAGE.INIT_PARAMETER_ERROR.EVENT_ERROR.message);
315
320
  this._overrideSubscription(EVENT.close.name, options.onClose, EVENT.close.uniqueKey);
316
321
  }
322
+ if (options !== null && options !== void 0 && options.onBeforeSubmit) {
323
+ if (getType(options.onBeforeSubmit) !== 'function') throw new Error(ERRORMESSAGE.INIT_PARAMETER_ERROR.EVENT_ERROR.message);
324
+ this._overrideSubscription(EVENT.beforeSubmit.name, /*#__PURE__*/function () {
325
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(payload) {
326
+ var eventCallbackId, res;
327
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
328
+ while (1) switch (_context.prev = _context.next) {
329
+ case 0:
330
+ eventCallbackId = uuid();
331
+ _context.prev = 1;
332
+ _context.next = 4;
333
+ return options.onBeforeSubmit(payload);
334
+ case 4:
335
+ res = _context.sent;
336
+ _this2._componentApp.dispatchToApp({
337
+ context: {
338
+ event: EVENT.beforeSubmitDone.name,
339
+ eventCallbackId: eventCallbackId,
340
+ data: res
341
+ }
342
+ });
343
+ _context.next = 12;
344
+ break;
345
+ case 8:
346
+ _context.prev = 8;
347
+ _context.t0 = _context["catch"](1);
348
+ _this2._componentApp.dispatchToApp({
349
+ context: {
350
+ event: EVENT.beforeSubmitDone.name,
351
+ eventCallbackId: eventCallbackId,
352
+ data: {
353
+ result: 'ERROR'
354
+ }
355
+ }
356
+ });
357
+ _this2.logger.logError({
358
+ title: 'sdk_error_before_submit',
359
+ msg: JSON.stringify(_context.t0)
360
+ }).send();
361
+ case 12:
362
+ case "end":
363
+ return _context.stop();
364
+ }
365
+ }, _callee, null, [[1, 8]]);
366
+ }));
367
+ return function (_x) {
368
+ return _ref2.apply(this, arguments);
369
+ };
370
+ }(), EVENT.beforeSubmit.uniqueKey);
371
+ }
317
372
  }
318
373
  /**
319
374
  * @description Register plug-in
@@ -351,12 +406,13 @@ var AMSSDK = /*#__PURE__*/function () {
351
406
  }, {
352
407
  key: "_redirect",
353
408
  value: function _redirect(data) {
354
- var _this2 = this;
409
+ var _this3 = this;
355
410
  return new Promise(function (resolve, reject) {
356
- var isWeb = _this2.options.env.terminalType === terminalTypeEnum.WEB;
411
+ var isWeb = _this3.options.env.terminalType === terminalTypeEnum.WEB;
357
412
  var normalUrl = (data === null || data === void 0 ? void 0 : data.normalUrl) || '';
358
413
  var schemeUrl = (data === null || data === void 0 ? void 0 : data.schemeUrl) || '';
359
414
  var applinkUrl = (data === null || data === void 0 ? void 0 : data.applinkUrl) || '';
415
+ var callAppJudgeTime = (data === null || data === void 0 ? void 0 : data.callAppJudgeTime) || '';
360
416
  var jumpFunc = function jumpFunc() {
361
417
  if (normalUrl) {
362
418
  resolve();
@@ -379,6 +435,9 @@ var AMSSDK = /*#__PURE__*/function () {
379
435
  },
380
436
  delay: 0
381
437
  };
438
+ if (callAppJudgeTime) {
439
+ config['resultJudgmentTime'] = callAppJudgeTime;
440
+ }
382
441
  try {
383
442
  var callLib = new CallApp(config);
384
443
  callLib.open({
package/esm/index.d.ts CHANGED
@@ -10,7 +10,7 @@ import { componentSignEnum, IoptionsParams } from './types';
10
10
  export { AMSCheckoutPage } from './core/component/ckp';
11
11
  export * from './types';
12
12
  export declare class AMSCheckout extends AMSComponent {
13
- constructor(_options: any, channelType?: componentSignEnum[], productSceneVersion?: string);
13
+ constructor(_options: IoptionsParams, channelType?: componentSignEnum[], productSceneVersion?: string);
14
14
  }
15
15
  export declare class AMSAutoDebit extends AMSCheckout {
16
16
  constructor(options: IoptionsParams);
@@ -17,13 +17,15 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
17
17
  * 2. If applicable, the use of the Software is also subject to the terms and conditions of any non-disclosure agreement signed by you and the relevant Ant Group entity.
18
18
  */
19
19
  /* eslint-disable @typescript-eslint/no-explicit-any */
20
+ import { v4 as uuid } from 'uuid';
20
21
  import { sdkVersion } from "../../config";
21
22
  import { COMPONENTPLUGINID, COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CONTAINER_ID, COMPONENT_RETENTION_ID, COMPONENT_SECTION_ID, ERRORMESSAGE, EVENT, LISTENER_PREFIX, LOADING_ID, LOADTIME_LIMIT, MOCKUP_ID, POPUP_LOADTIME_LOG_LIMIT, TIMEOUT_WEB_APP_HEART_BEAT, TIME_DELAY_SEND_HEART_BEAT } from "../../constant";
22
23
  import { queryPaymentInfo, submitPayInfo } from "../../service";
23
24
  import { componentSignEnum, eventCodeEnum, messageName, platformEnum, productSceneEnum, RedirectType, renderDisplayTypeEnum, targetEnum } from "../../types";
24
- import { getType, isJsonString, isPC } from "../../util";
25
+ import { getType, isJsonString, isPC, isWebView } from "../../util";
25
26
  import { isLocalMock } from "../../util/mock";
26
27
  import { matchVersion } from "../../util/versionCompare";
28
+ import { getBackScheme } from "../../util/getBackScheme";
27
29
  import { createIframe, createPreloadIframe, getAppDomain, getIframeUrl } from "./cashierApp";
28
30
  import { getChannelBehavior } from "./channel";
29
31
  import { addInlineLoading, createInlineBaseElement } from "./component.inline.style";
@@ -57,7 +59,7 @@ var ComponentApp = /*#__PURE__*/function () {
57
59
  _defineProperty(this, "_multipleCallbackEvents", void 0);
58
60
  _defineProperty(this, "_merchantAppointParam", void 0);
59
61
  _defineProperty(this, "_webAppHeartBeatTimeoutFn", void 0);
60
- this._appVersion = '1.19.0';
62
+ this._appVersion = '1.20.1';
61
63
  this._isInitComponent = false;
62
64
  this._selector = "#".concat(COMPONENT_SECTION_ID);
63
65
  this.createIframeNode = function () {
@@ -665,7 +667,7 @@ var ComponentApp = /*#__PURE__*/function () {
665
667
  this._actionSubmitPromise = new Promise( /*#__PURE__*/function () {
666
668
  var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(resolve) {
667
669
  var _channelBehavior$buil, _this6$_renderParams$;
668
- var shouldSkipSubmitPayInSDK, _this6$_renderParams, _this6$_renderParams2, _ref11, _ref11$productSceneVe, productSceneVersion, _ref11$productScene, productScene, _ref12, _ref12$action, _ref12$action2, _ref12$action2$enable, enableSignAgreement, _ref12$action2$autoDe, autoDebitWithToken, extParams;
670
+ var shouldSkipSubmitPayInSDK, _this6$_renderParams, _this6$_renderParams2, _this6$_renderParams3, _ref11, _ref11$productSceneVe, productSceneVersion, _ref11$productScene, productScene, _ref12, _ref12$action, _ref12$action2, _ref12$action2$enable, enableSignAgreement, _ref12$action2$autoDe, autoDebitWithToken, _ref13, _ref13$paymentMethodI, _ref13$paymentMethodI2, _ref13$paymentMethodI3, paymentMethodType, backScheme, extParams;
669
671
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
670
672
  while (1) switch (_context3.prev = _context3.next) {
671
673
  case 0:
@@ -679,9 +681,16 @@ var ComponentApp = /*#__PURE__*/function () {
679
681
  if (componentSignEnum.EASY_PAY_WALLET === _this6._componentSign) {
680
682
  _ref11 = params.paymentSessionConfig || {}, _ref11$productSceneVe = _ref11.productSceneVersion, productSceneVersion = _ref11$productSceneVe === void 0 ? '' : _ref11$productSceneVe, _ref11$productScene = _ref11.productScene, productScene = _ref11$productScene === void 0 ? '' : _ref11$productScene;
681
683
  _ref12 = ((_this6$_renderParams2 = _this6._renderParams) === null || _this6$_renderParams2 === void 0 ? void 0 : _this6$_renderParams2.paymentSessionMetaData) || {}, _ref12$action = _ref12.action, _ref12$action2 = _ref12$action === void 0 ? {} : _ref12$action, _ref12$action2$enable = _ref12$action2.enableSignAgreement, enableSignAgreement = _ref12$action2$enable === void 0 ? false : _ref12$action2$enable, _ref12$action2$autoDe = _ref12$action2.autoDebitWithToken, autoDebitWithToken = _ref12$action2$autoDe === void 0 ? false : _ref12$action2$autoDe;
684
+ _ref13 = ((_this6$_renderParams3 = _this6._renderParams) === null || _this6$_renderParams3 === void 0 ? void 0 : _this6$_renderParams3.paymentSessionMetaData) || {}, _ref13$paymentMethodI = _ref13.paymentMethodInfoView, _ref13$paymentMethodI2 = _ref13$paymentMethodI === void 0 ? {} : _ref13$paymentMethodI, _ref13$paymentMethodI3 = _ref13$paymentMethodI2.paymentMethodType, paymentMethodType = _ref13$paymentMethodI3 === void 0 ? '' : _ref13$paymentMethodI3;
682
685
  if (productScene === productSceneEnum.EASY_PAY && productSceneVersion === '2.0' && !autoDebitWithToken) {
683
686
  ///EasyPay 2.0 首次传signAgreement字段
684
687
  params['signAgreement'] = enableSignAgreement;
688
+ if (paymentMethodType == 'ALIPAY_CN' && !isWebView()) {
689
+ backScheme = getBackScheme(undefined, _this6.AMSSDK.logger);
690
+ if (backScheme) {
691
+ params['h5FromApp'] = "".concat(encodeURIComponent(backScheme), "://");
692
+ }
693
+ }
685
694
  }
686
695
  }
687
696
  // 带上标记告知WebCheckOut SDK已发送submitpay请求
@@ -1212,6 +1221,25 @@ var ComponentApp = /*#__PURE__*/function () {
1212
1221
  this.handleAppHeartBeat();
1213
1222
  return;
1214
1223
  }
1224
+ if (data.context.event === EVENT.beforeSubmit.name) {
1225
+ var _this$AMSSDK$_eventCe;
1226
+ if ((_this$AMSSDK$_eventCe = this.AMSSDK._eventCenter) !== null && _this$AMSSDK$_eventCe !== void 0 && _this$AMSSDK$_eventCe.isExist(EVENT.beforeSubmit.name)) {
1227
+ this.AMSSDK._eventCenter.emit(EVENT.beforeSubmit.name, data.context.data);
1228
+ return;
1229
+ }
1230
+ // 不存在事件,默认通过
1231
+ var eventCallbackId = uuid();
1232
+ this.dispatchToApp({
1233
+ context: {
1234
+ event: EVENT.beforeSubmitDone.name,
1235
+ eventCallbackId: eventCallbackId,
1236
+ data: {
1237
+ result: 'IGNORE'
1238
+ }
1239
+ }
1240
+ });
1241
+ return;
1242
+ }
1215
1243
  if (data.context.event === EVENT.eventCallback.name) {
1216
1244
  this.AMSSDK.logger.logInfo({
1217
1245
  title: 'sdk_event_event_callback'
@@ -1305,6 +1333,8 @@ var ComponentApp = /*#__PURE__*/function () {
1305
1333
  key: "handleRedirect",
1306
1334
  value: function handleRedirect(data) {
1307
1335
  var _data$isDestroy,
1336
+ _data$isCallApp,
1337
+ _data$callAppDetectSu,
1308
1338
  _this7 = this;
1309
1339
  var fromFastSdk = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1310
1340
  var _data = typeof data === 'string' ? {
@@ -1314,38 +1344,48 @@ var ComponentApp = /*#__PURE__*/function () {
1314
1344
  schemeUrl: (data === null || data === void 0 ? void 0 : data.schemeUrl) || '',
1315
1345
  normalUrl: (data === null || data === void 0 ? void 0 : data.normalUrl) || '',
1316
1346
  target: data === null || data === void 0 ? void 0 : data.target,
1317
- isDestroy: (_data$isDestroy = data === null || data === void 0 ? void 0 : data.isDestroy) !== null && _data$isDestroy !== void 0 ? _data$isDestroy : true
1347
+ isDestroy: (_data$isDestroy = data === null || data === void 0 ? void 0 : data.isDestroy) !== null && _data$isDestroy !== void 0 ? _data$isDestroy : true,
1348
+ isCallApp: (_data$isCallApp = data === null || data === void 0 ? void 0 : data.isCallApp) !== null && _data$isCallApp !== void 0 ? _data$isCallApp : false,
1349
+ callAppDetectSuccessDelay: (_data$callAppDetectSu = data === null || data === void 0 ? void 0 : data.callAppDetectSuccessDelay) !== null && _data$callAppDetectSu !== void 0 ? _data$callAppDetectSu : 2000
1318
1350
  });
1319
1351
  this.AMSSDK.logger.logInfo({
1320
1352
  title: 'sdk_event_call_url_start'
1321
1353
  }, _objectSpread({}, data)).send();
1322
- var successCallback = function successCallback(type, url) {
1354
+ var successCallback = function successCallback(type, url, durationInSeconds) {
1323
1355
  _this7.dispatchToSDK(EVENT.eventCallback.name, {
1324
1356
  code: eventCodeEnum.SDK_CALL_URL_SUCCESS,
1325
1357
  message: "Successfully opened the app,".concat(type, ": ").concat(url)
1326
1358
  });
1327
- _this7.AMSSDK.logger.logInfo({
1328
- title: 'sdk_event_call_url_success'
1329
- }, {
1359
+ var extra = {
1330
1360
  redirectInfo: JSON.stringify(_data),
1331
1361
  openType: type,
1332
1362
  url: url,
1333
1363
  fromFastSdk: fromFastSdk
1334
- }).send();
1364
+ };
1365
+ if (durationInSeconds) {
1366
+ extra['durationInSeconds'] = durationInSeconds;
1367
+ }
1368
+ _this7.AMSSDK.logger.logInfo({
1369
+ title: 'sdk_event_call_url_success'
1370
+ }, extra).send();
1335
1371
  };
1336
- var failCallback = function failCallback(type, url) {
1372
+ var failCallback = function failCallback(type, url, durationInSeconds) {
1337
1373
  _this7.dispatchToSDK(EVENT.eventCallback.name, {
1338
1374
  code: eventCodeEnum.SDK_CALL_URL_ERROR,
1339
1375
  message: "Failed to open app,applinkUrl: ".concat(_data === null || _data === void 0 ? void 0 : _data.applinkUrl, " schemeUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.schemeUrl, " normalUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.normalUrl)
1340
1376
  });
1341
- _this7.AMSSDK.logger.logInfo({
1342
- title: 'sdk_error_call_url_failed'
1343
- }, {
1377
+ var extra = {
1344
1378
  redirectInfo: JSON.stringify(_data),
1345
1379
  openType: type,
1346
1380
  url: url,
1347
1381
  fromFastSdk: fromFastSdk
1348
- }).send();
1382
+ };
1383
+ if (durationInSeconds) {
1384
+ extra['durationInSeconds'] = durationInSeconds;
1385
+ }
1386
+ _this7.AMSSDK.logger.logInfo({
1387
+ title: 'sdk_error_call_url_failed'
1388
+ }, extra).send();
1349
1389
  };
1350
1390
 
1351
1391
  // 支持 target: _blank,新开tab页打开
@@ -1363,6 +1403,26 @@ var ComponentApp = /*#__PURE__*/function () {
1363
1403
  }
1364
1404
  // 销毁iframe和全局loading
1365
1405
  if (_data !== null && _data !== void 0 && _data.isDestroy) this.cleanContainer();
1406
+ // 唤端
1407
+ if (_data !== null && _data !== void 0 && _data.isCallApp && _data !== null && _data !== void 0 && _data.schemeUrl) {
1408
+ var startCallAppTime = new Date();
1409
+ var detectSuccessDelay = typeof (data === null || data === void 0 ? void 0 : data.callAppDetectSuccessDelay) === 'number' ? data.callAppDetectSuccessDelay : 5000;
1410
+ this.AMSSDK._redirect({
1411
+ schemeUrl: _data === null || _data === void 0 ? void 0 : _data.schemeUrl,
1412
+ callAppJudgeTime: detectSuccessDelay
1413
+ }).then(function () {
1414
+ var endCallAppTime = new Date();
1415
+ var durationInMilliseconds = endCallAppTime.getTime() - startCallAppTime.getTime();
1416
+ var durationInSeconds = durationInMilliseconds / 1000;
1417
+ successCallback(RedirectType.SchemeUrl, _data === null || _data === void 0 ? void 0 : _data.schemeUrl, durationInSeconds);
1418
+ }).catch(function () {
1419
+ var endCallAppTime = new Date();
1420
+ var durationInMilliseconds = endCallAppTime.getTime() - startCallAppTime.getTime();
1421
+ var durationInSeconds = durationInMilliseconds / 1000;
1422
+ failCallback(RedirectType.SchemeUrl, _data.schemeUrl, durationInSeconds);
1423
+ });
1424
+ return;
1425
+ }
1366
1426
  this.AMSSDK._redirect({
1367
1427
  applinkUrl: _data === null || _data === void 0 ? void 0 : _data.applinkUrl
1368
1428
  }).then(function () {
@@ -1387,9 +1447,9 @@ var ComponentApp = /*#__PURE__*/function () {
1387
1447
  }
1388
1448
  }, {
1389
1449
  key: "handleDeclareInfo",
1390
- value: function handleDeclareInfo(_ref13) {
1391
- var _ref13$closeDialogDat = _ref13.closeDialogData,
1392
- closeDialogData = _ref13$closeDialogDat === void 0 ? {} : _ref13$closeDialogDat;
1450
+ value: function handleDeclareInfo(_ref14) {
1451
+ var _ref14$closeDialogDat = _ref14.closeDialogData,
1452
+ closeDialogData = _ref14$closeDialogDat === void 0 ? {} : _ref14$closeDialogDat;
1393
1453
  _handleDeclareInfo({
1394
1454
  closeDialogData: closeDialogData
1395
1455
  });
@@ -23,6 +23,7 @@ export interface IoptionsParams {
23
23
  enabled: boolean;
24
24
  };
25
25
  product?: string;
26
+ onBeforeSubmit?: callOnBeforeSubmit;
26
27
  }
27
28
  export interface IApplePayOptionsParams extends Pick<IoptionsParams, 'locale' | 'environment' | 'onEventCallback' | 'analytics'> {
28
29
  }
@@ -172,6 +173,7 @@ export interface IpaymentSessionMetaData {
172
173
  authUrl?: string;
173
174
  };
174
175
  paymentSessionFactor?: {
176
+ externalRiskTimeout?: number;
175
177
  extendInfo?: {
176
178
  merchantCapabilities?: string[];
177
179
  supportedNetworks?: string[];
@@ -344,6 +346,12 @@ export type callOnSizeChanged = (state: {
344
346
  width: number;
345
347
  height: number;
346
348
  }) => void;
349
+ export type onBeforeSubmitResult = {
350
+ result: 'CANCEL' | 'CONTINUE' | 'ERROR' | 'IGNORE' | 'TIMEOUT';
351
+ processType: string;
352
+ submitRequestData: Record<string, any>;
353
+ };
354
+ export type callOnBeforeSubmit = (state?: Record<string, any>) => Promise<onBeforeSubmitResult> | onBeforeSubmitResult;
347
355
  /**
348
356
  * @description Create an event handler, In pop-up layer mode, the user clicks the semi floating layer close button and is called.
349
357
  */
@@ -0,0 +1,5 @@
1
+ import { Logger } from './logger';
2
+ /**
3
+ * 通过配置规则检测 UA 和获得回跳 scheme
4
+ */
5
+ export declare function getBackScheme(mockUa?: string, logger?: Logger): any;
@@ -0,0 +1,42 @@
1
+ import { isAndroid, isIOS } from "./ua";
2
+ import { RULES } from "../constant/index";
3
+ /**
4
+ * 通过配置规则检测 UA 和获得回跳 scheme
5
+ */
6
+ export function getBackScheme(mockUa, logger) {
7
+ var ua = mockUa || window.navigator.userAgent || '';
8
+ // 获取规则
9
+ var uaMatchedRule = RULES;
10
+ var matchedRule;
11
+ var matched = null;
12
+ for (var i = 0; i < uaMatchedRule.length; i++) {
13
+ var rule = uaMatchedRule[i];
14
+ matched = ua.match(rule.matchRule);
15
+ if (matched) {
16
+ matchedRule = rule;
17
+ break;
18
+ }
19
+ }
20
+ if (!matchedRule) {
21
+ logBackScheme(logger, ua, '');
22
+ return;
23
+ }
24
+ if (isAndroid(ua)) {
25
+ logBackScheme(logger, ua, matchedRule.andScheme);
26
+ return matchedRule.andScheme;
27
+ }
28
+ if (isIOS(ua)) {
29
+ logBackScheme(logger, ua, matchedRule.iosScheme);
30
+ return matchedRule.iosScheme;
31
+ }
32
+ }
33
+ function logBackScheme(logger, userAgent, scheme) {
34
+ if (logger) {
35
+ logger.logInfo({
36
+ title: 'a3753.b101271.c377460'
37
+ }, {
38
+ userAgent: userAgent,
39
+ backScheme: scheme
40
+ });
41
+ }
42
+ }
@@ -13,6 +13,7 @@ declare class EventCenter {
13
13
  off(name: string, func: any, key?: string): void;
14
14
  emit(name: string, ...rest: any): void;
15
15
  once(name: string, func: any, key?: string): void;
16
+ isExist(name: string): boolean;
16
17
  }
17
18
  declare const getViewPort: (key: string) => any;
18
19
  declare const getOrigin: () => string;
@@ -28,6 +29,7 @@ declare const device: {
28
29
  };
29
30
  declare const safeJson: (data: any, obj: any) => any;
30
31
  declare const isPC: () => boolean;
32
+ declare const isWebView: (mockUA?: string) => boolean;
31
33
  declare const queryParse: (url?: string) => Record<string, any>;
32
34
  declare const getDesignFontSize: () => number;
33
35
  declare const amsSetSize: (event?: any, dom?: any) => void;
@@ -45,4 +47,4 @@ declare function loadSDKScript({ src, attrOptions, timeOut, loadCallback }: {
45
47
  timeOut?: number;
46
48
  loadCallback?: any;
47
49
  }, logger: any): Promise<unknown>;
48
- export { getType, EventCenter, getViewPort, getOrigin, serialize, isJsonString, isDom, isFunction, device, safeJson, isPC, queryParse, getDesignFontSize, amsSetSize, addSetFontSizeEvent, getOrSetStorageId, checkTimeElapsed, parseBase64ToString, loadSDKScript };
50
+ export { getType, EventCenter, getViewPort, getOrigin, serialize, isJsonString, isDom, isFunction, device, safeJson, isPC, isWebView, queryParse, getDesignFontSize, amsSetSize, addSetFontSizeEvent, getOrSetStorageId, checkTimeElapsed, parseBase64ToString, loadSDKScript, };