@alipay/ams-checkout 0.0.1759909830-dev.1 → 0.0.1760520369-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/component/popupWindow.style.d.ts +19 -9
- package/esm/component/popupWindow.style.js +26 -13
- package/esm/config/index.d.ts +8 -7
- package/esm/config/index.js +8 -7
- package/esm/constant/index.d.ts +58 -0
- package/esm/constant/index.js +64 -1
- package/esm/core/component/element/EventCenter/index.d.ts +31 -0
- package/esm/core/component/element/EventCenter/index.js +178 -0
- package/esm/core/component/element/elementContainerService/containerService.d.ts +1 -0
- package/esm/core/component/element/elementContainerService/containerService.js +8 -2
- package/esm/core/component/element/elementController/index.d.ts +24 -3
- package/esm/core/component/element/elementController/index.js +533 -189
- package/esm/core/component/element/elementProcessor/addressProcessor.js +5 -6
- package/esm/core/component/element/elementProcessor/authProcessor.js +2 -3
- package/esm/core/component/element/elementProcessor/paymentProcessor.d.ts +2 -0
- package/esm/core/component/element/elementProcessor/paymentProcessor.js +55 -19
- package/esm/core/component/element/index.d.ts +6 -5
- package/esm/core/component/element/index.js +14 -3
- package/esm/core/component/element/mock.js +1 -0
- package/esm/core/component/element/type.d.ts +56 -4
- package/esm/core/component/element/type.js +61 -2
- package/esm/core/component/element/util.d.ts +21 -5
- package/esm/core/component/element/util.js +59 -7
- package/esm/foundation/core/index.js +27 -8
- package/esm/foundation/index.d.ts +1 -0
- package/esm/foundation/product-processor/easysafepay/index.js +4 -2
- package/esm/foundation/product-processor/element/index.js +1 -0
- package/esm/foundation/service/container/popup.d.ts +11 -0
- package/esm/foundation/service/container/popup.js +23 -2
- package/esm/foundation/service/log/keys.js +4 -0
- package/esm/foundation/service/requester/requester.js +2 -3
- package/esm/foundation/utils/payment_context_utils.js +1 -0
- package/esm/index.js +2 -1
- package/esm/plugin/component/cashierApp.d.ts +2 -0
- package/esm/plugin/component/cashierApp.js +2 -2
- package/esm/plugin/component/channel.js +20 -4
- package/esm/plugin/component/component.popup.style.d.ts +1 -0
- package/esm/plugin/component/component.popup.style.js +1 -1
- package/esm/plugin/component/index.d.ts +1 -0
- package/esm/plugin/component/index.js +9 -5
- package/esm/types/index.d.ts +22 -2
- package/esm/types/index.js +2 -1
- package/esm/util/index.js +4 -1
- package/esm/util/spm-map.d.ts +24 -2
- package/esm/util/spm-map.js +14 -1
- package/package.json +1 -1
- package/esm/core/component/oldElement/components/address.d.ts +0 -19
- package/esm/core/component/oldElement/components/address.js +0 -68
- package/esm/core/component/oldElement/components/auth.d.ts +0 -17
- package/esm/core/component/oldElement/components/auth.js +0 -60
- package/esm/core/component/oldElement/components/payment.d.ts +0 -19
- package/esm/core/component/oldElement/components/payment.js +0 -74
- package/esm/core/component/oldElement/index.d.ts +0 -59
- package/esm/core/component/oldElement/index.js +0 -956
- package/esm/core/component/oldElement/mock.d.ts +0 -6
- package/esm/core/component/oldElement/mock.js +0 -567
- package/esm/core/component/oldElement/type.d.ts +0 -354
- package/esm/core/component/oldElement/type.js +0 -81
- package/esm/core/component/oldElement/utils.d.ts +0 -13
- package/esm/core/component/oldElement/utils.js +0 -6
@@ -25,20 +25,32 @@ export var formatElementOption = function formatElementOption(options) {
|
|
25
25
|
});
|
26
26
|
};
|
27
27
|
export var validateElementOption = function validateElementOption(options) {
|
28
|
+
var errors = [];
|
28
29
|
if (!options.sessionData) {
|
30
|
+
console.error('sessionData is empty, please check new AMSElement params.');
|
31
|
+
errors.push({
|
32
|
+
field: 'sessionData',
|
33
|
+
message: 'sessionData is empty'
|
34
|
+
});
|
35
|
+
}
|
36
|
+
if (errors.length > 0) {
|
29
37
|
var _options$onEventCallb;
|
30
38
|
options === null || options === void 0 || (_options$onEventCallb = options.onEventCallback) === null || _options$onEventCallb === void 0 || _options$onEventCallb.call(options, {
|
31
39
|
code: EventCallbackCode.SDK_CREATE_COMPONENT_ERROR,
|
32
40
|
message: 'sessionData is empty'
|
33
41
|
});
|
34
|
-
return false;
|
35
42
|
}
|
36
|
-
return
|
43
|
+
return {
|
44
|
+
isValid: errors.length === 0,
|
45
|
+
errors: errors
|
46
|
+
};
|
37
47
|
};
|
38
48
|
|
39
49
|
/**
|
40
50
|
* 校验渲染条件
|
41
|
-
*
|
51
|
+
* 1.校验当前 sdkSelector 结点是否存在
|
52
|
+
* 2.校验当前 Element 的状态是否能够渲染
|
53
|
+
* 3.校验当前 type 类型 Elment 是否已经执行过 mount
|
42
54
|
*/
|
43
55
|
export function checkCanMount(_ref) {
|
44
56
|
var sdkSelector = _ref.sdkSelector,
|
@@ -50,13 +62,15 @@ export function checkCanMount(_ref) {
|
|
50
62
|
console.error("Element with selector ".concat(sdkSelector, " not found."));
|
51
63
|
return {
|
52
64
|
success: false,
|
53
|
-
errorMsg: "Element with selector ".concat(sdkSelector, " not found.")
|
65
|
+
errorMsg: "Element with selector ".concat(sdkSelector, " not found."),
|
66
|
+
error: ERRORMESSAGE.PARAM_INVALID
|
54
67
|
};
|
55
68
|
}
|
56
69
|
if (status === IElementStatus.DESTROYED) {
|
57
70
|
return {
|
58
71
|
success: false,
|
59
|
-
errorMsg: "Creating components in the destroyed state is forbidden."
|
72
|
+
errorMsg: "Creating components in the destroyed state is forbidden.",
|
73
|
+
error: ERRORMESSAGE.UI_STATE_ERROR
|
60
74
|
};
|
61
75
|
}
|
62
76
|
if (status === IElementStatus.READY) {
|
@@ -67,7 +81,8 @@ export function checkCanMount(_ref) {
|
|
67
81
|
if (containerService) {
|
68
82
|
return {
|
69
83
|
success: false,
|
70
|
-
errorMsg: "SDK status error."
|
84
|
+
errorMsg: "SDK status error.",
|
85
|
+
error: ERRORMESSAGE.UI_STATE_ERROR
|
71
86
|
};
|
72
87
|
}
|
73
88
|
return {
|
@@ -429,7 +444,7 @@ export function showToast() {
|
|
429
444
|
textAlign: 'center',
|
430
445
|
marginTop: '12px',
|
431
446
|
lineHeight: '20px',
|
432
|
-
fontFamily:
|
447
|
+
fontFamily: 'Noto Sans',
|
433
448
|
fontWeight: 400,
|
434
449
|
fontSize: '14px'
|
435
450
|
}
|
@@ -474,4 +489,41 @@ export var isElementPad = function isElementPad() {
|
|
474
489
|
};
|
475
490
|
export var isElementPC = function isElementPC() {
|
476
491
|
return !isElementMobile();
|
492
|
+
};
|
493
|
+
|
494
|
+
/**
|
495
|
+
* 判断是否需要加载错误页
|
496
|
+
* @param {CashierSdkActionQueryResult} params
|
497
|
+
* @returns {boolean} - 是否需要加载错误页
|
498
|
+
*/
|
499
|
+
export var isLoadErrorPage = function isLoadErrorPage(params) {
|
500
|
+
var success = params.success,
|
501
|
+
paymentMethods = params.paymentMethods,
|
502
|
+
savedPaymentMethods = params.savedPaymentMethods,
|
503
|
+
orderAmountView = params.orderAmountView,
|
504
|
+
paymentAmountView = params.paymentAmountView;
|
505
|
+
|
506
|
+
// 校验是否存在支付方式
|
507
|
+
var hasValidPaymentMethods = paymentMethods && Array.isArray(paymentMethods) && paymentMethods.length > 0 || savedPaymentMethods && Array.isArray(savedPaymentMethods) && savedPaymentMethods.length > 0;
|
508
|
+
|
509
|
+
// 金额存在性校验
|
510
|
+
var hasAmountViews = !!orderAmountView && !!paymentAmountView;
|
511
|
+
|
512
|
+
// 错误条件判断(满足任意条件即需要展示错误页)
|
513
|
+
return !success ||
|
514
|
+
// 接口请求失败
|
515
|
+
!hasValidPaymentMethods ||
|
516
|
+
// 无有效支付方式
|
517
|
+
!hasAmountViews // 缺少金额展示
|
518
|
+
;
|
519
|
+
};
|
520
|
+
export var safeStringify = function safeStringify(payload) {
|
521
|
+
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
522
|
+
if (!payload) return defaultValue;
|
523
|
+
try {
|
524
|
+
return JSON.stringify(payload) || defaultValue;
|
525
|
+
} catch (e) {
|
526
|
+
console.error('JSON.stringify failed:', e);
|
527
|
+
return defaultValue;
|
528
|
+
}
|
477
529
|
};
|
@@ -242,7 +242,7 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
242
242
|
value: function () {
|
243
243
|
var _startBizFlow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(options) {
|
244
244
|
var _this$paymentContext$, _this$paymentContext$2, _this$paymentContext$3;
|
245
|
-
var paymentSession, displayInfo, _convertPaymentSessio2, paymentSessionId, paymentSessionMetaData, mid, webAppMatchConfig, webAppVersion, productScene, paymentMethod, _this$bizFlowStartBeh, payload;
|
245
|
+
var paymentSession, displayInfo, _convertPaymentSessio2, paymentSessionId, paymentSessionMetaData, mid, webAppMatchConfig, webAppVersion, productScene, paymentMethod, _this$bizFlowStartBeh, payload, eventCenter, data;
|
246
246
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
247
247
|
while (1) switch (_context4.prev = _context4.next) {
|
248
248
|
case 0:
|
@@ -252,9 +252,6 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
252
252
|
}
|
253
253
|
throw new Error('paymentSession is empty');
|
254
254
|
case 2:
|
255
|
-
this.logger.logInfo({
|
256
|
-
title: 'sdk_event_createComponent'
|
257
|
-
});
|
258
255
|
this.setStatus(IElementStatus.IN_BIZ_FLOW);
|
259
256
|
paymentSession = options.paymentSession, displayInfo = options.displayInfo;
|
260
257
|
_convertPaymentSessio2 = convertPaymentSession(paymentSession), paymentSessionId = _convertPaymentSessio2.id, paymentSessionMetaData = _convertPaymentSessio2.data;
|
@@ -272,10 +269,14 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
272
269
|
webAppMatchConfig = parseWebAppMatchConfig(this.paymentContext.paymentSessionObj.extendInfo);
|
273
270
|
webAppVersion = getWebAppVersion(this.sdkMetaData, mid, webAppMatchConfig);
|
274
271
|
this.sdkMetaData.webAppVersion = webAppVersion;
|
275
|
-
saveWebAppVersion(webAppVersion, this.sdkMetaData);
|
276
|
-
|
277
272
|
// Call service to update via payment context
|
278
273
|
ServiceProvider.getInstance(this.instanceId).update(this.paymentContext);
|
274
|
+
// Element使用了新的埋点方案,后续ESP、VAULTING需要同步,将废弃sdk_event_createComponent
|
275
|
+
this.logger.logInfo({
|
276
|
+
title: 'sdk_event_createComponent'
|
277
|
+
});
|
278
|
+
// Storage operations are placed after logInfo
|
279
|
+
saveWebAppVersion(webAppVersion, this.sdkMetaData);
|
279
280
|
|
280
281
|
// Invoke processor
|
281
282
|
productScene = (_this$paymentContext$2 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$2 === void 0 || (_this$paymentContext$2 = _this$paymentContext$2.paymentSessionConfig) === null || _this$paymentContext$2 === void 0 ? void 0 : _this$paymentContext$2.productScene;
|
@@ -322,13 +323,31 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
322
323
|
return _context4.abrupt("return");
|
323
324
|
case 36:
|
324
325
|
if (!(this.bizFlowStartBehavior.behaviorType === 'REDIRECT')) {
|
325
|
-
_context4.next =
|
326
|
+
_context4.next = 45;
|
326
327
|
break;
|
327
328
|
}
|
328
329
|
payload = (_this$bizFlowStartBeh = this.bizFlowStartBehavior) === null || _this$bizFlowStartBeh === void 0 ? void 0 : _this$bizFlowStartBeh.payload;
|
330
|
+
if (!options.isNativeAppWebview) {
|
331
|
+
_context4.next = 43;
|
332
|
+
break;
|
333
|
+
}
|
334
|
+
eventCenter = ServiceProvider.getInstance(this.instanceId).getService('EventCenter');
|
335
|
+
data = {
|
336
|
+
normalUrl: (payload === null || payload === void 0 ? void 0 : payload.url) || '',
|
337
|
+
schemeUrl: (payload === null || payload === void 0 ? void 0 : payload.schemeUrl) || '',
|
338
|
+
applinkUrl: (payload === null || payload === void 0 ? void 0 : payload.applinkUrl) || ''
|
339
|
+
};
|
340
|
+
eventCenter.emit(EVENT.eventCallback.name, {
|
341
|
+
code: eventCodeEnum.SDK_REDIRECT,
|
342
|
+
result: {
|
343
|
+
redirectUrls: data
|
344
|
+
}
|
345
|
+
});
|
346
|
+
return _context4.abrupt("return");
|
347
|
+
case 43:
|
329
348
|
redirect(payload, this.instanceId);
|
330
349
|
return _context4.abrupt("return");
|
331
|
-
case
|
350
|
+
case 45:
|
332
351
|
case "end":
|
333
352
|
return _context4.stop();
|
334
353
|
}
|
@@ -208,6 +208,7 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
208
208
|
appearance: (_this$paymentContext$ = _this.paymentContext.displayInfo) === null || _this$paymentContext$ === void 0 ? void 0 : _this$paymentContext$.appearance,
|
209
209
|
notRedirectAfterComplete: ((_this$paymentContext$2 = _this.paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _this$paymentContext$2 === void 0 ? void 0 : _this$paymentContext$2.notRedirectAfterComplete) === true,
|
210
210
|
isAppWebview: _this.paymentContext.startBizFlowOptions.isAppWebview,
|
211
|
+
isNativeAppWebview: _this.paymentContext.startBizFlowOptions.isNativeAppWebview,
|
211
212
|
merchantAppointParam: (_this$paymentContext$3 = _this.paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _this$paymentContext$3 === void 0 ? void 0 : _this$paymentContext$3.merchantAppointParam,
|
212
213
|
allowSubmitPayCallAhead: _this.allowSubmitPayCallAhead,
|
213
214
|
doubleFaUrl: getDoubleFaUrlFromSession((_this$paymentContext3 = _this.paymentContext) === null || _this$paymentContext3 === void 0 ? void 0 : _this$paymentContext3.paymentSessionObj, _this.initConfig.environment),
|
@@ -350,7 +351,7 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
350
351
|
value: function () {
|
351
352
|
var _processSubmitPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
352
353
|
var _this$paymentContext9, _this$paymentContext10, _this$paymentContext11, _this$channelBehavior2, _this$channelBehavior3, _this$paymentContext$8, _this$paymentContext12;
|
353
|
-
var submitParams, _ref3, _ref3$productSceneVer, productSceneVersion, _ref4, _ref4$action, _ref4$action2, _ref4$action2$enableS, enableSignAgreement, _ref4$action2$autoDeb, autoDebitWithToken, _this$paymentContext$7, paymentMethodType, isAppWebview, backScheme, requestBizId, extParams, requester, _this$paymentContext$9, res;
|
354
|
+
var submitParams, _ref3, _ref3$productSceneVer, productSceneVersion, _ref4, _ref4$action, _ref4$action2, _ref4$action2$enableS, enableSignAgreement, _ref4$action2$autoDeb, autoDebitWithToken, _this$paymentContext$7, paymentMethodType, isAppWebview, isNativeAppWebview, backScheme, requestBizId, extParams, requester, _this$paymentContext$9, res;
|
354
355
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
355
356
|
while (1) switch (_context3.prev = _context3.next) {
|
356
357
|
case 0:
|
@@ -365,7 +366,8 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
365
366
|
submitParams['signAgreement'] = enableSignAgreement;
|
366
367
|
paymentMethodType = (_this$paymentContext$7 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$7 === void 0 || (_this$paymentContext$7 = _this$paymentContext$7.paymentMethodInfoView) === null || _this$paymentContext$7 === void 0 ? void 0 : _this$paymentContext$7.paymentMethodType;
|
367
368
|
isAppWebview = this.paymentContext.startBizFlowOptions.isAppWebview;
|
368
|
-
|
369
|
+
isNativeAppWebview = this.paymentContext.startBizFlowOptions.isNativeAppWebview;
|
370
|
+
if (paymentMethodType === 'ALIPAY_CN' && (!isAppWebview || !isNativeAppWebview)) {
|
369
371
|
backScheme = getBackScheme(undefined, this.logger);
|
370
372
|
if (backScheme && backScheme !== 'https') {
|
371
373
|
submitParams['h5FromApp'] = encodeURIComponent(backScheme);
|
@@ -6,6 +6,11 @@ export type IPopUpParams = {
|
|
6
6
|
platform: PlatformEnum;
|
7
7
|
showCloseOnLoading: boolean;
|
8
8
|
onCloseOnLoading: () => void;
|
9
|
+
textDirection?: 'ltr' | 'rtl';
|
10
|
+
loadingConfig?: {
|
11
|
+
theme?: string;
|
12
|
+
backgroundPrimary?: string;
|
13
|
+
};
|
9
14
|
};
|
10
15
|
/**
|
11
16
|
* @author 谦彧 <zhangmian.zm@alipay.com>
|
@@ -15,6 +20,12 @@ export declare class PopupManager {
|
|
15
20
|
private popupUrlQuery;
|
16
21
|
popupApp: HTMLIFrameElement;
|
17
22
|
setPopupUrlQuery(queryParams: string): void;
|
23
|
+
/**
|
24
|
+
* 合并URL参数, 优先加载弹窗参数作为基准, 用baseUrl参数覆盖弹窗参数
|
25
|
+
* @param baseUrl 基础URL
|
26
|
+
* @returns 合并后的URL
|
27
|
+
*/
|
28
|
+
private mergeUrlParams;
|
18
29
|
popup(data: IPopUpParams): Promise<void>;
|
19
30
|
pop(): void;
|
20
31
|
}
|
@@ -25,6 +25,26 @@ export var PopupManager = /*#__PURE__*/function () {
|
|
25
25
|
value: function setPopupUrlQuery(queryParams) {
|
26
26
|
this.popupUrlQuery = queryParams;
|
27
27
|
}
|
28
|
+
/**
|
29
|
+
* 合并URL参数, 优先加载弹窗参数作为基准, 用baseUrl参数覆盖弹窗参数
|
30
|
+
* @param baseUrl 基础URL
|
31
|
+
* @returns 合并后的URL
|
32
|
+
*/
|
33
|
+
}, {
|
34
|
+
key: "mergeUrlParams",
|
35
|
+
value: function mergeUrlParams(baseUrl) {
|
36
|
+
var urlObj = new URL(baseUrl);
|
37
|
+
// 优先加载弹窗参数作为基准
|
38
|
+
var mergedParams = new URLSearchParams(this.popupUrlQuery.replace(/^(?:\?|%3F)/i, ''));
|
39
|
+
// 用baseUrl参数覆盖弹窗参数(set方法自动覆盖)
|
40
|
+
urlObj.searchParams.forEach(function (value, key) {
|
41
|
+
mergedParams.set(key, value);
|
42
|
+
});
|
43
|
+
// 将合并后的参数设置到URL对象中
|
44
|
+
urlObj.search = mergedParams.toString();
|
45
|
+
// 返回合并后的URL
|
46
|
+
return urlObj.toString();
|
47
|
+
}
|
28
48
|
}, {
|
29
49
|
key: "popup",
|
30
50
|
value: function () {
|
@@ -45,7 +65,7 @@ export var PopupManager = /*#__PURE__*/function () {
|
|
45
65
|
pageUrl = data.url;
|
46
66
|
_context.prev = 6;
|
47
67
|
if (this.popupUrlQuery) {
|
48
|
-
pageUrl =
|
68
|
+
pageUrl = this.mergeUrlParams(data.url);
|
49
69
|
}
|
50
70
|
isLoad = false;
|
51
71
|
_context.next = 11;
|
@@ -55,7 +75,8 @@ export var PopupManager = /*#__PURE__*/function () {
|
|
55
75
|
url: pageUrl,
|
56
76
|
loadingConfig: undefined,
|
57
77
|
showCloseOnLoading: data.showCloseOnLoading,
|
58
|
-
onCloseOnLoading: data.onCloseOnLoading
|
78
|
+
onCloseOnLoading: data.onCloseOnLoading,
|
79
|
+
textDirection: data === null || data === void 0 ? void 0 : data.textDirection
|
59
80
|
});
|
60
81
|
case 11:
|
61
82
|
this.popupApp = _context.sent;
|
@@ -51,6 +51,8 @@ _defineProperty(LogComplianceExtendKeys, "complianceExtParams", {
|
|
51
51
|
callbackData: 'C',
|
52
52
|
callbackId: 'C',
|
53
53
|
actionNames: 'C',
|
54
|
+
isValid: 'C',
|
55
|
+
needChangeSessionForRetry: 'C',
|
54
56
|
// D 维度信息
|
55
57
|
operationType: 'D',
|
56
58
|
jsApi: 'D',
|
@@ -86,6 +88,8 @@ _defineProperty(LogComplianceExtendKeys, "complianceExtParams", {
|
|
86
88
|
// 用来标记事件别名
|
87
89
|
success: 'D',
|
88
90
|
// 用来标记行为是否成功
|
91
|
+
startTime: 'D',
|
92
|
+
endTime: 'D',
|
89
93
|
// M 数字类型
|
90
94
|
timeCost: 'M',
|
91
95
|
pageLoadProgress: 'M',
|
@@ -12,8 +12,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
12
12
|
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); }
|
13
13
|
import axios from 'axios';
|
14
14
|
import { ServiceProvider } from '..';
|
15
|
-
import { errorEnum } from "./deps";
|
16
|
-
import { appId, device, fomatGetwayError, get, hostSignMap, lightSandboxMap, queryParse, requestHost, safeJson, sdkVersion, sofaId, tntInstId } from "./deps";
|
15
|
+
import { appId, device, errorEnum, fomatGetwayError, get, hostSignMap, lightSandboxMap, queryParse, requestHost, safeJson, sdkVersion, sofaId, tntInstId } from "./deps";
|
17
16
|
|
18
17
|
/**
|
19
18
|
* @author congle.zzq <congle.zzq@alipay.com>
|
@@ -116,7 +115,7 @@ export var RequesterService = /*#__PURE__*/function () {
|
|
116
115
|
errorMessage: _context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.message
|
117
116
|
});
|
118
117
|
timeoutCode = _context.t0 !== null && _context.t0 !== void 0 && (_error$message = _context.t0.message) !== null && _error$message !== void 0 && _error$message.includes('timeout') ? errorEnum.TIMEOUT : '';
|
119
|
-
_errorCode = (_error === null || _error === void 0 ? void 0 : _error.errorCode)
|
118
|
+
_errorCode = timeoutCode || (_error === null || _error === void 0 ? void 0 : _error.errorCode);
|
120
119
|
this.reportRequestTimeCost({
|
121
120
|
title: 'a3753.b101271.c388193.d521387',
|
122
121
|
name: options === null || options === void 0 ? void 0 : options['Operation-Type'],
|
@@ -13,6 +13,7 @@ export function convertPaymentSession(sessionData) {
|
|
13
13
|
data: JSON.parse(parseBase64ToString(sessionData.split('&&')[3]))
|
14
14
|
};
|
15
15
|
} catch (error) {
|
16
|
+
// parseBase64ToString 已有捕获错误
|
16
17
|
console.error('Parsing sessionData is abnormal and may affect the payment link. Please ensure to use the new version of SDK.', error);
|
17
18
|
return {
|
18
19
|
id: sessionData,
|
package/esm/index.js
CHANGED
@@ -251,7 +251,8 @@ export var AMSEasyPay = /*#__PURE__*/function () {
|
|
251
251
|
displayInfo: {
|
252
252
|
type: DisplayTypeEnum.popup
|
253
253
|
},
|
254
|
-
isAppWebview: params.isAppWebview
|
254
|
+
isAppWebview: params.isAppWebview,
|
255
|
+
isNativeAppWebview: params.isNativeAppWebview
|
255
256
|
});
|
256
257
|
}
|
257
258
|
}, {
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import { ComponentSignEnum, DisplayTypeEnum, Ianalytics } from '../../types';
|
2
|
+
export declare const getAppVersion: (_extendInfo: string, productScene: string, mid: string, sendLog?: boolean) => string;
|
3
|
+
export declare const getFinalProductSceneVersion: (componentSign: ComponentSignEnum, productSceneVersion: string) => string;
|
2
4
|
export declare const getAppPath: (environment: string, appVersion: string, componentSign: ComponentSignEnum, productScene: string, productSceneVersion: string, extendInfo: string, mid: string, sendLog?: boolean, elementLink?: string) => any;
|
3
5
|
export declare const getAppDomain: (domainParams: {
|
4
6
|
environment: string;
|
@@ -21,7 +21,7 @@ import { isDebugLog } from "../../util/debug";
|
|
21
21
|
import { queryParse, serialize } from "../../util/index";
|
22
22
|
import { Logger } from "../../util/logger";
|
23
23
|
import { getLastAppVersion, getMatchAppVersion, setLastAppVersion } from "../../util/upgrade";
|
24
|
-
var getAppVersion = function getAppVersion(_extendInfo, productScene, mid) {
|
24
|
+
export var getAppVersion = function getAppVersion(_extendInfo, productScene, mid) {
|
25
25
|
var sendLog = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
26
26
|
try {
|
27
27
|
var appVersion = getMatchAppVersion(_extendInfo, {
|
@@ -57,7 +57,7 @@ var getAppVersion = function getAppVersion(_extendInfo, productScene, mid) {
|
|
57
57
|
return '';
|
58
58
|
}
|
59
59
|
};
|
60
|
-
var getFinalProductSceneVersion = function getFinalProductSceneVersion(componentSign, productSceneVersion) {
|
60
|
+
export var getFinalProductSceneVersion = function getFinalProductSceneVersion(componentSign, productSceneVersion) {
|
61
61
|
var _signSupportMap;
|
62
62
|
var signSupportMap = (_signSupportMap = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_signSupportMap, ComponentSignEnum.NONE, ['']), ComponentSignEnum.AUTO_DEBIT_WALLET, ['1.0']), ComponentSignEnum.AUTO_DEBIT_PAY_WALLET, ['']), ComponentSignEnum.CASHIER_PAYMENT_BANK, ['1.0']), ComponentSignEnum.CASHIER_PAYMENT_CARD, ['1.0']), ComponentSignEnum.CASHIER_PAYMENT_APM, ['1.0']), ComponentSignEnum.EASY_PAY_WALLET, ['1.0', '2.0']), ComponentSignEnum.EASY_PAY_APM, ['2.0']), ComponentSignEnum.VAULTING_CARD, ['1.0']), ComponentSignEnum.ELEMENT_PAYMENT, ['1.0']), _defineProperty(_defineProperty(_defineProperty(_signSupportMap, ComponentSignEnum.ELEMENT_ADDRESS, ['1.0']), ComponentSignEnum.CHECKOUT_PAYMENT, ['1.0.0']), ComponentSignEnum.AUTO_DEBIT_APM, ['1.0']));
|
63
63
|
var supportProductSceneVersion = signSupportMap[componentSign] || [];
|
@@ -8,14 +8,14 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
8
8
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
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
|
+
import { MODE } from "../../constant/easysafepay";
|
11
12
|
import { BusManager, BusMessage } from "../../core/bus";
|
12
13
|
import { SecuritySDKActionEnum } from "../../core/bus/interface";
|
14
|
+
import { getDoubleFaUrlFromSession } from "../../foundation/utils/web_app_url_utils";
|
13
15
|
import { getApplePayPaymentSession, submitPayInfo } from "../../service";
|
14
16
|
import { EnvironmentEnum } from "../../types";
|
15
17
|
import { device, isEmpty } from "../../util";
|
16
18
|
import { APPLE_PAY_RECURRING_VERSION, APPLE_PAY_VERSION } from "../applepay/interface";
|
17
|
-
import { getDoubleFaUrlFromSession } from "../../foundation/utils/web_app_url_utils";
|
18
|
-
import { MODE } from "../../constant/easysafepay";
|
19
19
|
var APPLEPAYERRORENUM = /*#__PURE__*/function (APPLEPAYERRORENUM) {
|
20
20
|
APPLEPAYERRORENUM["APPLE_PAY_MISSING_DATA"] = "APPLE_PAY_MISSING_DATA";
|
21
21
|
APPLEPAYERRORENUM["APPLE_PAY_NOT_SUPPORTED"] = "APPLE_PAY_NOT_SUPPORTED";
|
@@ -103,8 +103,21 @@ export var handleGooglePay = function handleGooglePay(data) {
|
|
103
103
|
}
|
104
104
|
}
|
105
105
|
});
|
106
|
-
//
|
107
|
-
|
106
|
+
// 使用GooglePay官方API判断设备是否支持,目前WebView场景有bug,不支持的WebView仍然显示支持
|
107
|
+
// UA判断方案和isReadyToPay方案PD决策使用【isReadyToPay方案】
|
108
|
+
// PD已反馈给Google,Google已确认bug待修复
|
109
|
+
paymentsClient.isReadyToPay(paymentRequest).then(function (response) {
|
110
|
+
if (response.result) {
|
111
|
+
// 设备支持 GooglePay,继续拉起
|
112
|
+
return paymentsClient.loadPaymentData(paymentRequest);
|
113
|
+
} else {
|
114
|
+
// 抛错给收银台,目前errorCode未消费
|
115
|
+
reject({
|
116
|
+
errorCode: 'GOOGLE_PAY_NOT_SUPPORTED'
|
117
|
+
});
|
118
|
+
}
|
119
|
+
}).then(function (paymentData) {
|
120
|
+
// 获取到googlePay token后返回消息给app
|
108
121
|
if (paymentData) {
|
109
122
|
resolve(paymentData);
|
110
123
|
}
|
@@ -112,6 +125,9 @@ export var handleGooglePay = function handleGooglePay(data) {
|
|
112
125
|
reject(err);
|
113
126
|
});
|
114
127
|
};
|
128
|
+
script.onerror = function (err) {
|
129
|
+
reject(err);
|
130
|
+
};
|
115
131
|
});
|
116
132
|
};
|
117
133
|
export var ApplePaySdk = /*#__PURE__*/function () {
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { PlatformEnum } from '../../types';
|
2
|
+
export declare const componentCss = ".ams-component-container-mobile {\n width: 100%;\n height: 1px;\n position: fixed;\n bottom: -1px;\n left: 0;\n z-index: 1001;\n border-radius: 12px 12px 0 0;\n overflow: hidden;\n}\n.ams-component-container-mobile-animation{\n animation: ams-component-container-slide-in 0.3s ease-in-out;\n}\n\n.ams-component-section-desktop {\n font-size: 0;\n}\n\n.ams-component-container-hidden-mobile {\n width: 100%;\n height: 0px;\n position: fixed;\n bottom: -1px;\n left: 0;\n z-index: 1001;\n background-color: transparent;\n border-radius: 12px 12px 0 0;\n animation: ams-component-container-slide-out 0.26s ease-in forwards;\n overflow: hidden;\n}\n\n.ams-component-section-mobile {\n border-radius: 12px 12px 0 0;\n overflow: hidden;\n font-size: 0;\n height: 100%;\n}\n\n.ams-component-container-desktop {\n display: block;\n width: 672px;\n position: fixed;\n top: 50%;\n left: 50%;\n z-index: 1001;\n border-radius: 12px;\n overflow: hidden;\n transform-origin: 50% 50%;\n transform: translate(-50%, -50%);\n}\n.ams-component-container-desktop-animation{\n animation: ams-component-container-zoom-in 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n\n@keyframes ams-component-container-zoom-out {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n -webkit-transform: translate(-50%, -50%) scale(1);\n opacity: 1\n }\n\n 100% {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.4);\n -webkit-transform: translate(-50%, -50%) scale(0.4);\n }\n}\n\n@keyframes ams-component-container-zoom-in {\n 0% {\n transform: translate(-50%, -50%) scale(0.4);\n opacity: 0\n }\n\n 100% {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n\n.ams-component-container-hidden-desktop {\n display: block;\n position: fixed;\n top: 50%;\n left: 50%;\n z-index: 1001;\n border-radius: 8px;\n overflow: hidden;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\n animation-fill-mode: forwards;\n transform-origin: 50% 50%;\n}\n\n.ams-component-loading {\n width: 0.8em;\n height:0.8em;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 8px;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.ams-component-loading .line {\n width: 40px;\n height: 40px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.ams-component-loading .line div {\n position: absolute;\n left: 17.67px;\n top: 0;\n width: 5.33px;\n height: 40px;\n}\n\n.ams-component-loading .line div:before,\n.ams-component-loading .line div:after {\n content: '';\n display: block;\n height: 13.33px;\n background: #fcfcfc;\n border-radius: 5.3px;\n}\n.ams-component-loading .line div:after {\n margin-top: 13.33px;\n}\n\n.ams-component-loading .line div:nth-child(2) {\n -webkit-transform: rotate(45deg);\n}\n\n.ams-component-loading .line div:nth-child(3) {\n -webkit-transform: rotate(90deg);\n}\n\n.ams-component-loading .line div:nth-child(4) {\n -webkit-transform: rotate(135deg);\n}\n\n/** \u52A0\u8F7D\u52A8\u753B **/\n@-webkit-keyframes load {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.ams-component-loading .line div:nth-child(1):before {\n -webkit-animation: load 1s linear 0s infinite;\n}\n\n.ams-component-loading .line div:nth-child(2):before {\n -webkit-animation: load 1s linear 0.125s infinite;\n}\n\n.ams-component-loading .line div:nth-child(3):before {\n -webkit-animation: load 1s linear 0.25s infinite;\n}\n\n.ams-component-loading .line div:nth-child(4):before {\n -webkit-animation: load 1s linear 0.375s infinite;\n}\n\n.ams-component-loading .line div:nth-child(1):after {\n -webkit-animation: load 1s linear 0.5s infinite;\n}\n\n.ams-component-loading .line div:nth-child(2):after {\n -webkit-animation: load 1s linear 0.675s infinite;\n}\n\n.ams-component-loading .line div:nth-child(3):after {\n -webkit-animation: load 1s linear 0.75s infinite;\n}\n\n.ams-component-loading .line div:nth-child(4):after {\n -webkit-animation: load 1s linear 0.875s infinite;\n}\n\n.ams-component-loading-logo {\n width: 0.44em;\n height: 0.44em;\n -webkit-transform:rotate(360deg);\n transform:rotate(360deg);\n -webkit-transition:-webkit-transform 1s linear;\n transition:transform 1s linear;\n animation: ams-component-loading-logo 1s linear infinite;\n}\n\n.asm-component-close-block-desktop {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 0;\n top: 0;\n cursor: pointer;\n}\n\n.asm-component-close-block-mobile {\n position: absolute;\n width: 0.4em;\n height: 0.4em;\n right: 0;\n top: 0;\n cursor: pointer;\n z-index: 1009;\n}\n\n.asm-component-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\n}\n\n.asm-component-close-block-btn-desktop {\n width: 11px;\n height: 11px;\n object-fit: fill;\n position: absolute;\n right: 18.7px;\n top: 26.7px;\n}\n\n.asm-component-close-block-btn-mobile {\n width: 0.11em;\n height: 0.11em;\n object-fit: fill;\n position: absolute;\n right: 0.147em;\n top: 0.167em;\n}\n\n.ams-component-mask-close-block-desktop {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 18px;\n top: 10px;\n cursor: pointer;\n z-index: 1013;\n}\n \n.ams-component-mask-close-block-mobile {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 18px;\n cursor: pointer;\n z-index: 1012;\n}\n\n.ams-component-mask-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\n}\n\n.ams-component-mask-close-block-btn {\n width: 24px;\n height: 24px;\n object-fit: fill;\n position: absolute;\n right: 8px;\n top: 8px;\n}\n\n.ams-component-container-opacity{\n opacity: 1;\n}\n\n.ams-component-container-opacity:after{\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: block;\n content: \"\";\n z-index: 1010;\n background-color: rgba(0, 0, 0, 0.35);\n border-radius: 12px 12px 0 0;\n}\n\n#ams-component-retention {\n position: fixed;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: 50%;\n height: auto;\n display: none;\n z-index: 1009;\n}\n\n.ams-component-retention-show {\n display: flex !important;\n animation: ams-component-container-zoom-in 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n\n.ams-component-retention-hidden {\n display: flex !important;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\n -webkit-animation: ams-component-container-zoom-out 0.3s ease-in-out;\n animation-fill-mode: forwards;\n -webkit-animation-fill-mode: forwards;\n}\n\n.ams-component-retention-mobile {\n width: 294px;\n border-radius: 12px;\n padding: 24px 0;\n background-color: #fff;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n box-sizing: border-box;\n}\n\n.ams-component-retention-desktop {\n width: 544px;\n border-radius: 12px;\n padding: 32px;\n background-color: #fff;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n box-sizing: border-box;\n}\n\n@media screen and (max-width: 300px) {\n .ams-component-retention-mobile {\n transform: translate(-50%, -50%) scale(0.8);\n }\n}\n\n.ams-component-retention-title-mobile {\n width: 100%;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n color: #2A3A52;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-title-desktop {\n text-align: left;\n width: 100%;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n color: #2A3A52;\n}\n\n.ams-component-retention-sub-title-mobile {\n width: 100%;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #7C8CA3;\n margin-top: 8px;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-sub-title-desktop {\n text-align: left;\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #7C8CA3;\n margin-top: 10px;\n}\n\n.ams-component-retention-btn-block-mobile {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n margin-top: 24px;\n padding: 0 24px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-btn-block-desktop {\n width: 100%;\n margin-top: 24px;\n}\n\n#ams-component-retention-remain {\n background: #0079FF;\n border-radius: 100px;\n font-style: normal;\n font-weight: 500;\n text-align: center;\n box-sizing: border-box;\n color: #FFFFFF;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ams-component-retention-remain-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n padding: 0 6px;\n}\n\n.ams-component-retention-remain-desktop {\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n display: inline-block;\n padding: 0 24px;\n float: right;\n cursor: pointer;\n padding: 0 16px;\n max-width: 225px;\n min-width: 159px;\n}\n\n#ams-component-retention-leave {\n border-radius: 100px;\n border: 1px solid #0079FF;\n font-style: normal;\n font-weight: 500;\n text-align: center;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ams-component-retention-leave-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n color: #1677FF;\n margin-top: 12px;\n padding: 0 6px;\n}\n\n.ams-component-retention-leave-desktop {\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n color: #1677FF;\n display: inline-block;\n padding: 0 24px;\n float: right;\n margin-right: 16px;\n cursor: pointer;\n padding: 0 16px;\n max-width: 225px;\n min-width: 144px;\n}\n.ams-component-mockup-hidden{\nanimation: ams-component-mockup-opacity 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n/** \u52A0\u8F7D\u52A8\u753B **/\n@-webkit-keyframes ams-component-mockup-opacity {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n";
|
2
3
|
export declare const componentAddCSS: () => void;
|
3
4
|
export declare const createBaseElement: (platform: PlatformEnum, closeBtnFunc: () => void) => HTMLDivElement;
|
4
5
|
export declare const createCloseBtn: (platform: PlatformEnum, closeBtnFunc: () => void) => void;
|
@@ -8,7 +8,7 @@
|
|
8
8
|
import { ANIMATION_TIME, closeImg, COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CLOSE_MASK_BLOCK_ID, COMPONENT_CONTAINER_ID, COMPONENT_RETENTION_ID, COMPONENT_SECTION_ID, LOADING_ID, MOCKUP_ID } from "../../constant";
|
9
9
|
import { PlatformEnum } from "../../types";
|
10
10
|
import { addSetFontSizeEvent, amsSetSize, getDesignFontSize } from "../../util";
|
11
|
-
var componentCss = ".ams-component-container-mobile {\n width: 100%;\n height: 1px;\n position: fixed;\n bottom: -1px;\n left: 0;\n z-index: 1001;\n border-radius: 12px 12px 0 0;\n overflow: hidden;\n}\n.ams-component-container-mobile-animation{\n animation: ams-component-container-slide-in 0.3s ease-in-out;\n}\n\n.ams-component-section-desktop {\n font-size: 0;\n}\n\n.ams-component-container-hidden-mobile {\n width: 100%;\n height: 0px;\n position: fixed;\n bottom: -1px;\n left: 0;\n z-index: 1001;\n background-color: transparent;\n border-radius: 12px 12px 0 0;\n animation: ams-component-container-slide-out 0.26s ease-in forwards;\n overflow: hidden;\n}\n\n.ams-component-section-mobile {\n border-radius: 12px 12px 0 0;\n overflow: hidden;\n font-size: 0;\n height: 100%;\n}\n\n.ams-component-container-desktop {\n display: block;\n width: 672px;\n position: fixed;\n top: 50%;\n left: 50%;\n z-index: 1001;\n border-radius: 12px;\n overflow: hidden;\n transform-origin: 50% 50%;\n transform: translate(-50%, -50%);\n}\n.ams-component-container-desktop-animation{\n animation: ams-component-container-zoom-in 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n\n@keyframes ams-component-container-zoom-out {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n -webkit-transform: translate(-50%, -50%) scale(1);\n opacity: 1\n }\n\n 100% {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.4);\n -webkit-transform: translate(-50%, -50%) scale(0.4);\n }\n}\n\n@keyframes ams-component-container-zoom-in {\n 0% {\n transform: translate(-50%, -50%) scale(0.4);\n opacity: 0\n }\n\n 100% {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n\n.ams-component-container-hidden-desktop {\n display: block;\n position: fixed;\n top: 50%;\n left: 50%;\n z-index: 1001;\n border-radius: 8px;\n overflow: hidden;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\n animation-fill-mode: forwards;\n transform-origin: 50% 50%;\n}\n\n.ams-component-loading {\n width: 0.8em;\n height:0.8em;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 8px;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.ams-component-loading .line {\n width: 40px;\n height: 40px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.ams-component-loading .line div {\n position: absolute;\n left: 17.67px;\n top: 0;\n width: 5.33px;\n height: 40px;\n}\n\n.ams-component-loading .line div:before,\n.ams-component-loading .line div:after {\n content: '';\n display: block;\n height: 13.33px;\n background: #fcfcfc;\n border-radius: 5.3px;\n}\n.ams-component-loading .line div:after {\n margin-top: 13.33px;\n}\n\n.ams-component-loading .line div:nth-child(2) {\n -webkit-transform: rotate(45deg);\n}\n\n.ams-component-loading .line div:nth-child(3) {\n -webkit-transform: rotate(90deg);\n}\n\n.ams-component-loading .line div:nth-child(4) {\n -webkit-transform: rotate(135deg);\n}\n\n/** \u52A0\u8F7D\u52A8\u753B **/\n@-webkit-keyframes load {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.ams-component-loading .line div:nth-child(1):before {\n -webkit-animation: load 1s linear 0s infinite;\n}\n\n.ams-component-loading .line div:nth-child(2):before {\n -webkit-animation: load 1s linear 0.125s infinite;\n}\n\n.ams-component-loading .line div:nth-child(3):before {\n -webkit-animation: load 1s linear 0.25s infinite;\n}\n\n.ams-component-loading .line div:nth-child(4):before {\n -webkit-animation: load 1s linear 0.375s infinite;\n}\n\n.ams-component-loading .line div:nth-child(1):after {\n -webkit-animation: load 1s linear 0.5s infinite;\n}\n\n.ams-component-loading .line div:nth-child(2):after {\n -webkit-animation: load 1s linear 0.675s infinite;\n}\n\n.ams-component-loading .line div:nth-child(3):after {\n -webkit-animation: load 1s linear 0.75s infinite;\n}\n\n.ams-component-loading .line div:nth-child(4):after {\n -webkit-animation: load 1s linear 0.875s infinite;\n}\n\n.ams-component-loading-logo {\n width: 0.44em;\n height: 0.44em;\n -webkit-transform:rotate(360deg);\n transform:rotate(360deg);\n -webkit-transition:-webkit-transform 1s linear;\n transition:transform 1s linear;\n animation: ams-component-loading-logo 1s linear infinite;\n}\n\n.asm-component-close-block-desktop {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 0;\n top: 0;\n cursor: pointer;\n}\n\n.asm-component-close-block-mobile {\n position: absolute;\n width: 0.4em;\n height: 0.4em;\n right: 0;\n top: 0;\n cursor: pointer;\n z-index: 1009;\n}\n\n.asm-component-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\n}\n\n.asm-component-close-block-btn-desktop {\n width: 11px;\n height: 11px;\n object-fit: fill;\n position: absolute;\n right: 18.7px;\n top: 26.7px;\n}\n\n.asm-component-close-block-btn-mobile {\n width: 0.11em;\n height: 0.11em;\n object-fit: fill;\n position: absolute;\n right: 0.147em;\n top: 0.167em;\n}\n\n.ams-component-mask-close-block-desktop {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 18px;\n top: 10px;\n cursor: pointer;\n z-index: 1013;\n}\n \n.ams-component-mask-close-block-mobile {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 18px;\n cursor: pointer;\n z-index: 1012;\n}\n\n.ams-component-mask-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\n}\n\n.ams-component-mask-close-block-btn {\n width: 24px;\n height: 24px;\n object-fit: fill;\n position: absolute;\n right: 8px;\n top: 8px;\n}\n\n.ams-component-container-opacity{\n opacity: 1;\n}\n\n.ams-component-container-opacity:after{\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: block;\n content: \"\";\n z-index: 1010;\n background-color: rgba(0, 0, 0, 0.35);\n border-radius: 12px 12px 0 0;\n}\n\n#ams-component-retention {\n position: fixed;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: 50%;\n height: auto;\n display: none;\n z-index: 1009;\n}\n\n.ams-component-retention-show {\n display: flex !important;\n animation: ams-component-container-zoom-in 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n\n.ams-component-retention-hidden {\n display: flex !important;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\n -webkit-animation: ams-component-container-zoom-out 0.3s ease-in-out;\n animation-fill-mode: forwards;\n -webkit-animation-fill-mode: forwards;\n}\n\n.ams-component-retention-mobile {\n width: 294px;\n border-radius: 12px;\n padding: 24px 0;\n background-color: #fff;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n box-sizing: border-box;\n}\n\n.ams-component-retention-desktop {\n width: 544px;\n border-radius: 12px;\n padding: 32px;\n background-color: #fff;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n box-sizing: border-box;\n}\n\n@media screen and (max-width: 300px) {\n .ams-component-retention-mobile {\n transform: translate(-50%, -50%) scale(0.8);\n }\n}\n\n.ams-component-retention-title-mobile {\n width: 100%;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n color: #2A3A52;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-title-desktop {\n text-align: left;\n width: 100%;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n color: #2A3A52;\n}\n\n.ams-component-retention-sub-title-mobile {\n width: 100%;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #7C8CA3;\n margin-top: 8px;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-sub-title-desktop {\n text-align: left;\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #7C8CA3;\n margin-top: 10px;\n}\n\n.ams-component-retention-btn-block-mobile {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n margin-top: 24px;\n padding: 0 24px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-btn-block-desktop {\n width: 100%;\n margin-top: 24px;\n}\n\n#ams-component-retention-remain {\n background: #0079FF;\n border-radius: 100px;\n font-style: normal;\n font-weight: 500;\n text-align: center;\n box-sizing: border-box;\n color: #FFFFFF;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ams-component-retention-remain-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n padding: 0 6px;\n}\n\n.ams-component-retention-remain-desktop {\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n display: inline-block;\n padding: 0 24px;\n float: right;\n cursor: pointer;\n padding: 0 16px;\n max-width: 225px;\n min-width: 159px;\n}\n\n#ams-component-retention-leave {\n border-radius: 100px;\n border: 1px solid #0079FF;\n font-style: normal;\n font-weight: 500;\n text-align: center;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ams-component-retention-leave-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n color: #1677FF;\n margin-top: 12px;\n padding: 0 6px;\n}\n\n.ams-component-retention-leave-desktop {\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n color: #1677FF;\n display: inline-block;\n padding: 0 24px;\n float: right;\n margin-right: 16px;\n cursor: pointer;\n padding: 0 16px;\n max-width: 225px;\n min-width: 144px;\n}\n.".concat(MOCKUP_ID, "-hidden{\nanimation: ").concat(MOCKUP_ID, "-opacity 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n/** \u52A0\u8F7D\u52A8\u753B **/\n@-webkit-keyframes ").concat(MOCKUP_ID, "-opacity {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n");
|
11
|
+
export var componentCss = ".ams-component-container-mobile {\n width: 100%;\n height: 1px;\n position: fixed;\n bottom: -1px;\n left: 0;\n z-index: 1001;\n border-radius: 12px 12px 0 0;\n overflow: hidden;\n}\n.ams-component-container-mobile-animation{\n animation: ams-component-container-slide-in 0.3s ease-in-out;\n}\n\n.ams-component-section-desktop {\n font-size: 0;\n}\n\n.ams-component-container-hidden-mobile {\n width: 100%;\n height: 0px;\n position: fixed;\n bottom: -1px;\n left: 0;\n z-index: 1001;\n background-color: transparent;\n border-radius: 12px 12px 0 0;\n animation: ams-component-container-slide-out 0.26s ease-in forwards;\n overflow: hidden;\n}\n\n.ams-component-section-mobile {\n border-radius: 12px 12px 0 0;\n overflow: hidden;\n font-size: 0;\n height: 100%;\n}\n\n.ams-component-container-desktop {\n display: block;\n width: 672px;\n position: fixed;\n top: 50%;\n left: 50%;\n z-index: 1001;\n border-radius: 12px;\n overflow: hidden;\n transform-origin: 50% 50%;\n transform: translate(-50%, -50%);\n}\n.ams-component-container-desktop-animation{\n animation: ams-component-container-zoom-in 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n\n@keyframes ams-component-container-zoom-out {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n -webkit-transform: translate(-50%, -50%) scale(1);\n opacity: 1\n }\n\n 100% {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.4);\n -webkit-transform: translate(-50%, -50%) scale(0.4);\n }\n}\n\n@keyframes ams-component-container-zoom-in {\n 0% {\n transform: translate(-50%, -50%) scale(0.4);\n opacity: 0\n }\n\n 100% {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n\n.ams-component-container-hidden-desktop {\n display: block;\n position: fixed;\n top: 50%;\n left: 50%;\n z-index: 1001;\n border-radius: 8px;\n overflow: hidden;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\n animation-fill-mode: forwards;\n transform-origin: 50% 50%;\n}\n\n.ams-component-loading {\n width: 0.8em;\n height:0.8em;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 8px;\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.ams-component-loading .line {\n width: 40px;\n height: 40px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.ams-component-loading .line div {\n position: absolute;\n left: 17.67px;\n top: 0;\n width: 5.33px;\n height: 40px;\n}\n\n.ams-component-loading .line div:before,\n.ams-component-loading .line div:after {\n content: '';\n display: block;\n height: 13.33px;\n background: #fcfcfc;\n border-radius: 5.3px;\n}\n.ams-component-loading .line div:after {\n margin-top: 13.33px;\n}\n\n.ams-component-loading .line div:nth-child(2) {\n -webkit-transform: rotate(45deg);\n}\n\n.ams-component-loading .line div:nth-child(3) {\n -webkit-transform: rotate(90deg);\n}\n\n.ams-component-loading .line div:nth-child(4) {\n -webkit-transform: rotate(135deg);\n}\n\n/** \u52A0\u8F7D\u52A8\u753B **/\n@-webkit-keyframes load {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.ams-component-loading .line div:nth-child(1):before {\n -webkit-animation: load 1s linear 0s infinite;\n}\n\n.ams-component-loading .line div:nth-child(2):before {\n -webkit-animation: load 1s linear 0.125s infinite;\n}\n\n.ams-component-loading .line div:nth-child(3):before {\n -webkit-animation: load 1s linear 0.25s infinite;\n}\n\n.ams-component-loading .line div:nth-child(4):before {\n -webkit-animation: load 1s linear 0.375s infinite;\n}\n\n.ams-component-loading .line div:nth-child(1):after {\n -webkit-animation: load 1s linear 0.5s infinite;\n}\n\n.ams-component-loading .line div:nth-child(2):after {\n -webkit-animation: load 1s linear 0.675s infinite;\n}\n\n.ams-component-loading .line div:nth-child(3):after {\n -webkit-animation: load 1s linear 0.75s infinite;\n}\n\n.ams-component-loading .line div:nth-child(4):after {\n -webkit-animation: load 1s linear 0.875s infinite;\n}\n\n.ams-component-loading-logo {\n width: 0.44em;\n height: 0.44em;\n -webkit-transform:rotate(360deg);\n transform:rotate(360deg);\n -webkit-transition:-webkit-transform 1s linear;\n transition:transform 1s linear;\n animation: ams-component-loading-logo 1s linear infinite;\n}\n\n.asm-component-close-block-desktop {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 0;\n top: 0;\n cursor: pointer;\n}\n\n.asm-component-close-block-mobile {\n position: absolute;\n width: 0.4em;\n height: 0.4em;\n right: 0;\n top: 0;\n cursor: pointer;\n z-index: 1009;\n}\n\n.asm-component-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\n}\n\n.asm-component-close-block-btn-desktop {\n width: 11px;\n height: 11px;\n object-fit: fill;\n position: absolute;\n right: 18.7px;\n top: 26.7px;\n}\n\n.asm-component-close-block-btn-mobile {\n width: 0.11em;\n height: 0.11em;\n object-fit: fill;\n position: absolute;\n right: 0.147em;\n top: 0.167em;\n}\n\n.ams-component-mask-close-block-desktop {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 18px;\n top: 10px;\n cursor: pointer;\n z-index: 1013;\n}\n \n.ams-component-mask-close-block-mobile {\n position: absolute;\n width: 40px;\n height: 40px;\n right: 18px;\n cursor: pointer;\n z-index: 1012;\n}\n\n.ams-component-mask-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\n}\n\n.ams-component-mask-close-block-btn {\n width: 24px;\n height: 24px;\n object-fit: fill;\n position: absolute;\n right: 8px;\n top: 8px;\n}\n\n.ams-component-container-opacity{\n opacity: 1;\n}\n\n.ams-component-container-opacity:after{\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: block;\n content: \"\";\n z-index: 1010;\n background-color: rgba(0, 0, 0, 0.35);\n border-radius: 12px 12px 0 0;\n}\n\n#ams-component-retention {\n position: fixed;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: 50%;\n height: auto;\n display: none;\n z-index: 1009;\n}\n\n.ams-component-retention-show {\n display: flex !important;\n animation: ams-component-container-zoom-in 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n\n.ams-component-retention-hidden {\n display: flex !important;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\n -webkit-animation: ams-component-container-zoom-out 0.3s ease-in-out;\n animation-fill-mode: forwards;\n -webkit-animation-fill-mode: forwards;\n}\n\n.ams-component-retention-mobile {\n width: 294px;\n border-radius: 12px;\n padding: 24px 0;\n background-color: #fff;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n box-sizing: border-box;\n}\n\n.ams-component-retention-desktop {\n width: 544px;\n border-radius: 12px;\n padding: 32px;\n background-color: #fff;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n box-sizing: border-box;\n}\n\n@media screen and (max-width: 300px) {\n .ams-component-retention-mobile {\n transform: translate(-50%, -50%) scale(0.8);\n }\n}\n\n.ams-component-retention-title-mobile {\n width: 100%;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n color: #2A3A52;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-title-desktop {\n text-align: left;\n width: 100%;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n color: #2A3A52;\n}\n\n.ams-component-retention-sub-title-mobile {\n width: 100%;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #7C8CA3;\n margin-top: 8px;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-sub-title-desktop {\n text-align: left;\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #7C8CA3;\n margin-top: 10px;\n}\n\n.ams-component-retention-btn-block-mobile {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n margin-top: 24px;\n padding: 0 24px;\n box-sizing: border-box;\n}\n\n.ams-component-retention-btn-block-desktop {\n width: 100%;\n margin-top: 24px;\n}\n\n#ams-component-retention-remain {\n background: #0079FF;\n border-radius: 100px;\n font-style: normal;\n font-weight: 500;\n text-align: center;\n box-sizing: border-box;\n color: #FFFFFF;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ams-component-retention-remain-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n padding: 0 6px;\n}\n\n.ams-component-retention-remain-desktop {\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n display: inline-block;\n padding: 0 24px;\n float: right;\n cursor: pointer;\n padding: 0 16px;\n max-width: 225px;\n min-width: 159px;\n}\n\n#ams-component-retention-leave {\n border-radius: 100px;\n border: 1px solid #0079FF;\n font-style: normal;\n font-weight: 500;\n text-align: center;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ams-component-retention-leave-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n color: #1677FF;\n margin-top: 12px;\n padding: 0 6px;\n}\n\n.ams-component-retention-leave-desktop {\n height: 44px;\n font-size: 16px;\n line-height: 44px;\n color: #1677FF;\n display: inline-block;\n padding: 0 24px;\n float: right;\n margin-right: 16px;\n cursor: pointer;\n padding: 0 16px;\n max-width: 225px;\n min-width: 144px;\n}\n.".concat(MOCKUP_ID, "-hidden{\nanimation: ").concat(MOCKUP_ID, "-opacity 0.3s ease-in-out;\n animation-fill-mode: forwards\n}\n/** \u52A0\u8F7D\u52A8\u753B **/\n@-webkit-keyframes ").concat(MOCKUP_ID, "-opacity {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n");
|
12
12
|
export var componentAddCSS = function componentAddCSS() {
|
13
13
|
var style = document.createElement('style');
|
14
14
|
style.type = 'text/css';
|
@@ -26,6 +26,7 @@ export default class ComponentApp {
|
|
26
26
|
private _renderDisplayType;
|
27
27
|
private _multipleCallbackEvents;
|
28
28
|
private _isAppWebview;
|
29
|
+
private _isNativeAppWebview;
|
29
30
|
_merchantAppointParam: IMerchantAppointParam;
|
30
31
|
private _webAppHeartBeatTimeoutFn;
|
31
32
|
private _hasRenderComponent;
|
@@ -17,13 +17,13 @@ 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 { ElementPaymentMethod } from "../../core/component/element/type";
|
20
21
|
import { v4 as uuid } from 'uuid';
|
21
22
|
import { sdkVersion } from "../../config";
|
22
23
|
import { COMPONENTPLUGINID, COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CLOSE_MASK_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";
|
23
|
-
import { ElementPaymentMethod } from "../../core/component/oldElement/type";
|
24
24
|
import { queryPaymentInfo, submitPayInfo } from "../../service";
|
25
25
|
import { ComponentSignEnum, DisplayTypeEnum, eventCodeEnum, MessageName, PlatformEnum, ProductSceneEnum, RedirectType, TargetEnum } from "../../types";
|
26
|
-
import { getType, isJsonString, isPC
|
26
|
+
import { device, getType, isJsonString, isPC } from "../../util";
|
27
27
|
import { getBackScheme } from "../../util/getBackScheme";
|
28
28
|
import { isLocalMock } from "../../util/mock";
|
29
29
|
import { matchVersion } from "../../util/versionCompare";
|
@@ -60,6 +60,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
60
60
|
_defineProperty(this, "_renderDisplayType", DisplayTypeEnum.popup);
|
61
61
|
_defineProperty(this, "_multipleCallbackEvents", void 0);
|
62
62
|
_defineProperty(this, "_isAppWebview", void 0);
|
63
|
+
_defineProperty(this, "_isNativeAppWebview", void 0);
|
63
64
|
_defineProperty(this, "_merchantAppointParam", void 0);
|
64
65
|
_defineProperty(this, "_webAppHeartBeatTimeoutFn", void 0);
|
65
66
|
_defineProperty(this, "_hasRenderComponent", false);
|
@@ -282,6 +283,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
282
283
|
var inlineId = "".concat(COMPONENT_CONTAINER_ID).concat(appendAliasContainerId);
|
283
284
|
var insertedNode = (this === null || this === void 0 ? void 0 : this._renderDisplayType) === DisplayTypeEnum.inline ? "#".concat(inlineId) : this === null || this === void 0 ? void 0 : this._selector;
|
284
285
|
this._isAppWebview = renderParams.isAppWebview;
|
286
|
+
this._isNativeAppWebview = renderParams.isNativeAppWebview;
|
285
287
|
this.initLoggerMeta();
|
286
288
|
this.initSecurity();
|
287
289
|
this._performanceData.push({
|
@@ -739,7 +741,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
739
741
|
this._actionSubmitPromise = new Promise( /*#__PURE__*/function () {
|
740
742
|
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(resolve) {
|
741
743
|
var _channelBehavior$buil, _this6$_renderParams$, _this6$_renderParams4;
|
742
|
-
var shouldSkipSubmitPayInSDK, _this6$_renderParams, _this6$_renderParams2, _this6$_renderParams3, _ref10, _ref10$productSceneVe, productSceneVersion, _ref10$productScene, productScene, _ref11, _ref11$action, _ref11$action2, _ref11$action2$enable, enableSignAgreement, _ref11$action2$autoDe, autoDebitWithToken, _ref12, _ref12$paymentMethodI, _ref12$paymentMethodI2, _ref12$paymentMethodI3, paymentMethodType, isAppWebview, backScheme, extParams;
|
744
|
+
var shouldSkipSubmitPayInSDK, _this6$_renderParams, _this6$_renderParams2, _this6$_renderParams3, _ref10, _ref10$productSceneVe, productSceneVersion, _ref10$productScene, productScene, _ref11, _ref11$action, _ref11$action2, _ref11$action2$enable, enableSignAgreement, _ref11$action2$autoDe, autoDebitWithToken, _ref12, _ref12$paymentMethodI, _ref12$paymentMethodI2, _ref12$paymentMethodI3, paymentMethodType, isAppWebview, isNativeAppWebview, backScheme, extParams;
|
743
745
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
744
746
|
while (1) switch (_context3.prev = _context3.next) {
|
745
747
|
case 0:
|
@@ -764,9 +766,10 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
764
766
|
_ref11 = ((_this6$_renderParams2 = _this6._renderParams) === null || _this6$_renderParams2 === void 0 ? void 0 : _this6$_renderParams2.paymentSessionMetaData) || {}, _ref11$action = _ref11.action, _ref11$action2 = _ref11$action === void 0 ? {} : _ref11$action, _ref11$action2$enable = _ref11$action2.enableSignAgreement, enableSignAgreement = _ref11$action2$enable === void 0 ? false : _ref11$action2$enable, _ref11$action2$autoDe = _ref11$action2.autoDebitWithToken, autoDebitWithToken = _ref11$action2$autoDe === void 0 ? false : _ref11$action2$autoDe;
|
765
767
|
_ref12 = ((_this6$_renderParams3 = _this6._renderParams) === null || _this6$_renderParams3 === void 0 ? void 0 : _this6$_renderParams3.paymentSessionMetaData) || {}, _ref12$paymentMethodI = _ref12.paymentMethodInfoView, _ref12$paymentMethodI2 = _ref12$paymentMethodI === void 0 ? {} : _ref12$paymentMethodI, _ref12$paymentMethodI3 = _ref12$paymentMethodI2.paymentMethodType, paymentMethodType = _ref12$paymentMethodI3 === void 0 ? '' : _ref12$paymentMethodI3;
|
766
768
|
if (productScene === ProductSceneEnum.EASY_PAY && productSceneVersion === '2.0' && !autoDebitWithToken) {
|
767
|
-
isAppWebview = _this6._isAppWebview || false;
|
769
|
+
isAppWebview = _this6._isAppWebview || false;
|
770
|
+
isNativeAppWebview = _this6._isNativeAppWebview || false; ///EasyPay 2.0 首次传signAgreement字段
|
768
771
|
params['signAgreement'] = enableSignAgreement;
|
769
|
-
if (paymentMethodType
|
772
|
+
if (paymentMethodType === 'ALIPAY_CN' && (!isAppWebview || !isNativeAppWebview)) {
|
770
773
|
backScheme = getBackScheme(undefined, _this6.AMSSDK.logger);
|
771
774
|
if (backScheme && backScheme !== 'https') {
|
772
775
|
params['h5FromApp'] = encodeURIComponent(backScheme);
|
@@ -1869,6 +1872,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
1869
1872
|
appearance: (_this$_renderParams29 = this._renderParams) === null || _this$_renderParams29 === void 0 ? void 0 : _this$_renderParams29.appearance,
|
1870
1873
|
notRedirectAfterComplete: ((_this$_renderParams30 = this._renderParams) === null || _this$_renderParams30 === void 0 ? void 0 : _this$_renderParams30.notRedirectAfterComplete) === true,
|
1871
1874
|
isAppWebview: this._isAppWebview,
|
1875
|
+
isNativeAppWebview: this._isNativeAppWebview,
|
1872
1876
|
merchantAppointParam: this._merchantAppointParam,
|
1873
1877
|
allowSubmitPayCallAhead: this._allowSubmitPayCallAhead,
|
1874
1878
|
/** 地址组件集成的参数 */
|