@alipay/ams-checkout 0.0.1724309103-dev.2 → 0.0.1724942009-dev.1
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/umd/ams-checkout.min.js +1 -1
- package/esm/constant/index.d.ts +14 -1
- package/esm/constant/index.js +86 -1
- package/esm/core/component/ckp/index.js +3 -0
- package/esm/core/component/index.js +0 -1
- package/esm/core/instance/index.d.ts +3 -0
- package/esm/core/instance/index.js +61 -2
- package/esm/index.d.ts +1 -1
- package/esm/plugin/component/index.js +77 -17
- package/esm/types/index.d.ts +8 -0
- package/esm/util/getBackScheme.d.ts +5 -0
- package/esm/util/getBackScheme.js +42 -0
- package/esm/util/index.d.ts +3 -1
- package/esm/util/index.js +10 -1
- package/esm/util/ua/index.d.ts +2 -0
- package/esm/util/ua/index.js +2 -0
- package/esm/util/ua/isAndroid.d.ts +4 -0
- package/esm/util/ua/isAndroid.js +7 -0
- package/esm/util/ua/isIOS.d.ts +4 -0
- package/esm/util/ua/isIOS.js +7 -0
- package/package.json +1 -1
package/esm/constant/index.d.ts
CHANGED
@@ -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
|
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
|
+
}[];
|
package/esm/constant/index.js
CHANGED
@@ -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,iVBORw0KGgoAAAANSUhEUgAAAIQAAACEBAMAAACjap6UAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAITgAACE4AUWWMWAAAAAqUExURUdwTKe3zKGxyK27z7K/05ytxLbD1bvH2Jaowb/K28DL3JCjvYueucDL2xLcxpgAAAAOdFJOUwCKoHRft0w5zCgY4fYKKSYvdQAABvtJREFUaN6lmt+LG1UUx6fddbcZHOgkpWutBTPbVBEfNp1xS6uF2oQURUGnBBbqw7YdsooV2ipZ06c+uBBZCistDRMUqgV1gnnwJ4HMg2jBh+Qh1bW1A/lfPOfcO9lkNz/m3j3dh2XT+eznfM+dmTvTKsroUovpeGotbyetlXuKTH17vFxeKq9R5fOJG8KAR6+Uy2vlJag8ALDmxSDa2TLWEhos5UPKnEA7sy8yALNYyod1/mpUwiYpQB9MYy1sJZWybwgRgLGGDLRAhg1ftn0qIqHBkijzefBO7HwKRN6cTJguNxoho38gjGHb7y5PTHJpvdyLgsaap3UBSdjISKWMCZlqzzTBosGj4CMJC+LEmh8/20+b62jRM+EGjIAQsLDnxhH+IQduUS7P50p1RQk85zgRwCIPhJTx9pjz6gIev84k1o59tfVJ7HIKw0iRRio5upX3GaGBjPMbg5/FjnOAYRvGC6MIU83mOkGAcHLnx7cxC8O2ETNqsofhcIgT2xja7WOmYRsp4+hwwt9NKErz1xG/ZJYRsE4PXRIX0GAdwxi5AGfjNrYCiGRnyMf/kgRgGmNm9ihl8DoyVAKOxzxfGrdy7vOZGPM7NfaiBDI+G38KXDK4yMKOj16lNiDKCVc3Nc47OTpkTRCjeWTi9SRMY3voHzZZ/TL5inKJAPHtS1TlhMZyhIszk4hvm+t/HPF5lEvjNyRhxAd7PuwziY0oCJV3cqz/hzPNph9ZQlG+hi6SRjze/wu/9/3oEnywycEVerhFFr9FvVldT5LFgb4Lvw8EEFmIipihiSSNLet9PjKaP0a/656Nx0FD37+1uFvNVstv3oqOeGgksZeDvXTWW8BoNgXu/VocS++trj1tHzppPRDZgVzHOON6uJh/gDag3hFBTCWpwrE+1/aB4AttyTRsIxnnYag+9uH/LLYZu5hM6nFdZ2HMYBdt/5YY4iEMBDxYGPvaGGd7WQwxCwpJna+MK+DQ9hui20pQgK9n6fuX29jJA1HENYxCpyuo2m7Bn/ZNUcQeGAnPcxpGCoxlUcSMToXbpqfaUH5beKOuoURcP4Nrkxr5SXyff5EscH2+hRbtv8QRXxBijgYilSbkSQhc4j5ZPC+O4HnCHooI7aviCJUhOjBTrJbMc1M41b2E+EMG8TohlvEkg/pTBnGNEAvK07IzhZsaIfYrXxLidxnEQ11P6OkjyhVC3JRBTOlpsDikvCa7LNjCSCfm4NqLtV8GMQsAPX1QeY8QZ2QQMR07sTjiqhQiARLpA/wU2ZBBqBiFbnKE1JsBDS0SCYWdZR0pBMWZ5gip1xNKGiuxK4RODGU3ZSagdocgC1NRMEmpNBWNLHQ4utORIygqKCS4hSRDJYKpaFCKJocAQjptYRCdrhwiZoJDelHROh30kDrZgZBIAAIY3a4UYgYApnlIUbpaFzAyiGkTLU5CI8CQs5iCRkzzFDTSBYaUxX2QMBMLChCgpBAfo4QJ18wOMWQQlwkBO6yuNIII5sYuECpD3OOIoCOzLKgUhghk8pwmwiKe9d16HRhSM4XC90ZavYsQ2YGcDi3qdYlrVjhTRQu6AVRH/FTPWGymkGe9XpdAQJoZQNBxQYAQ4U5uZzLgsagwi1oQ1ITzzJAFexes1RBSE+wkZlkQRYZtTDS0qIsiNqELgPBdBRxfr9UEw7idNSEMi//igDHEVoVFFovhKQfHQwltU2aylgUTCV84ajViCHVyxwSGZfWe6ALGEOkjQwSrs4UQ7WSTEU5sXX8YQkDjE7DIZDJ921UCeNGXRgwBINK312SdeJEDvWNlrWwme6L/SgqAarVWjaihZYEAUfS/4dVIwouqsZkFBjQysGcOPA/DiKahZqky5wZ/ShIRNUACB5IdfFOtQRSIiKIRy/La9ncDzLPqetUI4+B9vLG9P48sXG/iEp1lgGx2xzMMt3DdSQN1eBvndsbMCJ47oZW7WSdHiCGvXTBMtHDHtvI4yy1yQ4IHDbfquuMZMcfJMYmPhn3sIQE13JGTVaEJsHCGS6CGy6o0ykN1CrkcWjjDJVDDIwm34g69McUKSIDjnSHj4PNiEpWKWyoNWelewXEoCuhj5EPpEzeEVFa3L3X1bgHaKOQcjOOD0YFXqYtSCRkDEPW7ApbjMJExZ5LasyCIW8M9mBZ4FQLkHB7G2MfzJ3Q8eKyGtVIsFlcKvBwayfh/ldW8Ck4Va7USEorFAkEoi1zu3KQrEu+Ca6wwi54GpFmYeC6ruLRAgffCLVgv2EchwkuGgGVZWe15bElAL5FeUwSUBR1f5AQUESCQR2mVh1FkjfAkohJgLj1GEVtZIRFACP0fCm/AgmdREnzYqIRhFHkvq+J77MBFQpEPpCQOYPcntwIWeK6Mu0P9D9pzJq4u5hj+AAAAAElFTkSuQmCC';
|
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
|
+
}];
|
@@ -58,6 +58,9 @@ export var AMSCheckoutPage = /*#__PURE__*/function () {
|
|
58
58
|
queryObj.sessionData = session;
|
59
59
|
queryObj.lang = lang;
|
60
60
|
queryObj.mode = 'embed';
|
61
|
+
if (env === 'sandbox') {
|
62
|
+
queryObj.shadow = 'true';
|
63
|
+
}
|
61
64
|
Object.keys(queryObj).forEach(function (key) {
|
62
65
|
url += "".concat(url.includes('?') ? '&' : '?').concat(key, "=").concat(encodeURIComponent(queryObj[key]));
|
63
66
|
});
|
@@ -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
|
409
|
+
var _this3 = this;
|
355
410
|
return new Promise(function (resolve, reject) {
|
356
|
-
var isWeb =
|
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:
|
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.
|
62
|
+
this._appVersion = '1.20.2';
|
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
|
-
|
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
|
-
}
|
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
|
-
|
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
|
-
}
|
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(
|
1391
|
-
var
|
1392
|
-
closeDialogData =
|
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
|
});
|
package/esm/types/index.d.ts
CHANGED
@@ -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,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
|
+
}
|
package/esm/util/index.d.ts
CHANGED
@@ -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, };
|
package/esm/util/index.js
CHANGED
@@ -83,6 +83,11 @@ var EventCenter = /*#__PURE__*/function () {
|
|
83
83
|
};
|
84
84
|
this.on(name, onceF, key);
|
85
85
|
}
|
86
|
+
}, {
|
87
|
+
key: "isExist",
|
88
|
+
value: function isExist(name) {
|
89
|
+
return this.events.has(name);
|
90
|
+
}
|
86
91
|
}]);
|
87
92
|
return EventCenter;
|
88
93
|
}();
|
@@ -166,6 +171,10 @@ var isPC = function isPC() {
|
|
166
171
|
return userAgentInfo.includes(agent);
|
167
172
|
});
|
168
173
|
};
|
174
|
+
var isWebView = function isWebView(mockUA) {
|
175
|
+
var ua = mockUA || navigator.userAgent;
|
176
|
+
return /webview|wv|ip((?!.*safari)|(?=.*like safari))/i.test(ua);
|
177
|
+
};
|
169
178
|
var queryParse = function queryParse(url) {
|
170
179
|
var qs = {};
|
171
180
|
if (!url) {
|
@@ -327,4 +336,4 @@ function loadSDKScript(_ref, logger) {
|
|
327
336
|
document.head.appendChild(script);
|
328
337
|
});
|
329
338
|
}
|
330
|
-
export { getType, EventCenter, getViewPort, getOrigin, serialize, isJsonString, isDom, isFunction, device, safeJson, isPC, queryParse, getDesignFontSize, amsSetSize, addSetFontSizeEvent, getOrSetStorageId, checkTimeElapsed, parseBase64ToString, loadSDKScript };
|
339
|
+
export { getType, EventCenter, getViewPort, getOrigin, serialize, isJsonString, isDom, isFunction, device, safeJson, isPC, isWebView, queryParse, getDesignFontSize, amsSetSize, addSetFontSizeEvent, getOrSetStorageId, checkTimeElapsed, parseBase64ToString, loadSDKScript };
|