@alipay/ams-checkout 0.0.1758783821-dev.1 → 0.0.1758783821-dev.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/dist/umd/ams-checkout.min.js +1 -1
- package/esm/component/popupWindow.style.d.ts +1 -0
- package/esm/component/popupWindow.style.js +5 -2
- package/esm/config/index.d.ts +1 -0
- package/esm/config/index.js +2 -1
- package/esm/config/request.js +14 -2
- package/esm/constant/index.d.ts +33 -12
- package/esm/constant/index.js +43 -18
- package/esm/core/component/element/EventCenter/index.d.ts +3 -1
- package/esm/core/component/element/EventCenter/index.js +48 -11
- package/esm/core/component/element/elementContainerService/containerService.d.ts +1 -0
- package/esm/core/component/element/elementContainerService/containerService.js +5 -0
- package/esm/core/component/element/elementController/index.d.ts +3 -8
- package/esm/core/component/element/elementController/index.js +152 -66
- package/esm/core/component/element/elementProcessor/addressProcessor.js +2 -3
- 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 +36 -6
- package/esm/core/component/element/index.d.ts +3 -10
- package/esm/core/component/element/index.js +4 -1
- package/esm/core/component/element/mock.js +1 -0
- package/esm/core/component/element/type.d.ts +26 -6
- package/esm/core/component/element/type.js +18 -0
- package/esm/core/component/element/util.d.ts +6 -3
- package/esm/core/component/element/util.js +15 -2
- package/esm/foundation/core/index.js +28 -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/log/keys.js +2 -0
- 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 -5
- 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 +18 -2
- package/esm/types/index.js +2 -1
- package/esm/util/index.js +4 -1
- package/esm/util/spm-map.d.ts +22 -2
- package/esm/util/spm-map.js +13 -1
- package/package.json +12 -7
- 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
|
@@ -36,6 +36,20 @@ export declare enum ElementType {
|
|
|
36
36
|
address = "address",
|
|
37
37
|
payment = "payment"
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* TODO 替换外外网链接
|
|
41
|
+
* 支付状态参考: https://yuque.antfin.com/antom_ka_team/yg9y7x/fe8xxqgbivnx5fd2#rGgE
|
|
42
|
+
*/
|
|
43
|
+
export declare enum PaymentStatus {
|
|
44
|
+
SUCCESS = "SUCCESS",
|
|
45
|
+
PROCESSING = "PROCESSING",
|
|
46
|
+
CANCELLED = "CANCELLED",
|
|
47
|
+
PENDING = "PENDING",
|
|
48
|
+
S = "SUCCESS",
|
|
49
|
+
F = "FAIL",
|
|
50
|
+
U = "PROCESSING",
|
|
51
|
+
FAIL = "FAIL"
|
|
52
|
+
}
|
|
39
53
|
export declare const MountElementType: {
|
|
40
54
|
auth: ElementPaymentMethod;
|
|
41
55
|
address: ElementPaymentMethod;
|
|
@@ -77,7 +91,8 @@ export declare enum ELEMENT_ENVIRONMENT {
|
|
|
77
91
|
PROD = "PROD",
|
|
78
92
|
SANDBOX = "SANDBOX"
|
|
79
93
|
}
|
|
80
|
-
|
|
94
|
+
type ELEMENT_ENVIRONMENT_VALUE = 'dev' | 'test' | 'sit' | 'pre' | 'prod' | 'sandbox';
|
|
95
|
+
export type ELEMENT_ENVIRONMENT_TYPE = keyof typeof ELEMENT_ENVIRONMENT | (typeof ELEMENT_ENVIRONMENT)[keyof typeof ELEMENT_ENVIRONMENT] | ELEMENT_ENVIRONMENT_VALUE;
|
|
81
96
|
export interface AddressMountComponentsParams {
|
|
82
97
|
configParams?: AddressMountConfig;
|
|
83
98
|
prefillValue: Array<AddressSubmitData>;
|
|
@@ -194,6 +209,8 @@ export interface ValidateResult<T = {}> {
|
|
|
194
209
|
success: boolean;
|
|
195
210
|
data: {
|
|
196
211
|
success: boolean;
|
|
212
|
+
status: PaymentStatus;
|
|
213
|
+
message?: string;
|
|
197
214
|
data: T;
|
|
198
215
|
};
|
|
199
216
|
}
|
|
@@ -365,7 +382,7 @@ export interface IElementOptions {
|
|
|
365
382
|
appearance?: {
|
|
366
383
|
theme: ThemeType.Default | ThemeType.Night;
|
|
367
384
|
};
|
|
368
|
-
onEventCallback?: ({ code, message, result
|
|
385
|
+
onEventCallback?: ({ code, message, result }: {
|
|
369
386
|
code: EventCallbackCode;
|
|
370
387
|
message: string;
|
|
371
388
|
result?: any;
|
|
@@ -393,15 +410,18 @@ export interface IToastOptions {
|
|
|
393
410
|
icon?: 'SUCCESS' | 'FAIL';
|
|
394
411
|
spin?: boolean;
|
|
395
412
|
}
|
|
396
|
-
export interface
|
|
397
|
-
success?: boolean;
|
|
413
|
+
export interface ICommonApiResponse {
|
|
398
414
|
error?: {
|
|
399
415
|
code: string;
|
|
400
|
-
message
|
|
416
|
+
message: string;
|
|
401
417
|
traceId?: string;
|
|
402
418
|
context?: any;
|
|
419
|
+
needChangeSessionForRetry?: boolean;
|
|
403
420
|
};
|
|
404
|
-
|
|
421
|
+
}
|
|
422
|
+
export interface IPaymentApiResponse extends ICommonApiResponse {
|
|
423
|
+
status: keyof typeof PaymentStatus;
|
|
424
|
+
userCanceled3D?: boolean;
|
|
405
425
|
}
|
|
406
426
|
export declare class InvalidElementConfigError extends Error {
|
|
407
427
|
errors: Array<{
|
|
@@ -49,6 +49,22 @@ export var ElementType = /*#__PURE__*/function (ElementType) {
|
|
|
49
49
|
ElementType["payment"] = "payment";
|
|
50
50
|
return ElementType;
|
|
51
51
|
}({});
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* TODO 替换外外网链接
|
|
55
|
+
* 支付状态参考: https://yuque.antfin.com/antom_ka_team/yg9y7x/fe8xxqgbivnx5fd2#rGgE
|
|
56
|
+
*/
|
|
57
|
+
export var PaymentStatus = /*#__PURE__*/function (PaymentStatus) {
|
|
58
|
+
PaymentStatus["SUCCESS"] = "SUCCESS";
|
|
59
|
+
PaymentStatus["PROCESSING"] = "PROCESSING";
|
|
60
|
+
PaymentStatus["CANCELLED"] = "CANCELLED";
|
|
61
|
+
PaymentStatus["PENDING"] = "PENDING";
|
|
62
|
+
PaymentStatus["S"] = "SUCCESS";
|
|
63
|
+
PaymentStatus["F"] = "FAIL";
|
|
64
|
+
PaymentStatus["U"] = "PROCESSING";
|
|
65
|
+
PaymentStatus["FAIL"] = "FAIL";
|
|
66
|
+
return PaymentStatus;
|
|
67
|
+
}({});
|
|
52
68
|
export var MountElementType = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ElementType.auth, ElementPaymentMethod.AUTH_ELEMENT), ElementType.address, ElementPaymentMethod.ADDRESS_ELEMENT), ElementType.payment, ElementPaymentMethod.PAYMENT_ELEMENT), ElementPaymentMethod.AUTH_ELEMENT, ElementType.auth), ElementPaymentMethod.ADDRESS_ELEMENT, ElementType.address), ElementPaymentMethod.PAYMENT_ELEMENT, ElementType.payment);
|
|
53
69
|
export var ThemeType = /*#__PURE__*/function (ThemeType) {
|
|
54
70
|
ThemeType["NostalgicGray"] = "nostalgicGray";
|
|
@@ -85,6 +101,8 @@ export var ELEMENT_ENVIRONMENT = /*#__PURE__*/function (ELEMENT_ENVIRONMENT) {
|
|
|
85
101
|
return ELEMENT_ENVIRONMENT;
|
|
86
102
|
}({});
|
|
87
103
|
|
|
104
|
+
// environment集成代码都是小写,Element创建时也做了参数转为小写,但类型没处理
|
|
105
|
+
|
|
88
106
|
// 将短横线命名转为小驼峰
|
|
89
107
|
|
|
90
108
|
// 同时兼容短横线和小驼峰两种键名
|
|
@@ -10,7 +10,7 @@ export declare const formatElementOption: (options: IElementOptions) => {
|
|
|
10
10
|
appearance?: {
|
|
11
11
|
theme: import("./type").ThemeType.Default | import("./type").ThemeType.Night;
|
|
12
12
|
};
|
|
13
|
-
onEventCallback?: ({ code, message, result
|
|
13
|
+
onEventCallback?: ({ code, message, result }: {
|
|
14
14
|
code: EventCallbackCode;
|
|
15
15
|
message: string;
|
|
16
16
|
result?: any;
|
|
@@ -26,7 +26,9 @@ export declare const validateElementOption: (options: IElementOptions) => {
|
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
28
|
* 校验渲染条件
|
|
29
|
-
*
|
|
29
|
+
* 1.校验当前 sdkSelector 结点是否存在
|
|
30
|
+
* 2.校验当前 Element 的状态是否能够渲染
|
|
31
|
+
* 3.校验当前 type 类型 Elment 是否已经执行过 mount
|
|
30
32
|
*/
|
|
31
33
|
export declare function checkCanMount({ sdkSelector, containerService, status, }: {
|
|
32
34
|
sdkSelector: string;
|
|
@@ -37,7 +39,7 @@ export declare function checkCanMount({ sdkSelector, containerService, status, }
|
|
|
37
39
|
errorMsg?: string;
|
|
38
40
|
error?: {
|
|
39
41
|
code: string;
|
|
40
|
-
message
|
|
42
|
+
message: string;
|
|
41
43
|
};
|
|
42
44
|
};
|
|
43
45
|
export declare function checkCanUpdate({ status, paymentContainerService, newPaymentSessionData, oldPaymentSessionData, }: {
|
|
@@ -80,3 +82,4 @@ export declare const isElementPC: () => boolean;
|
|
|
80
82
|
* @returns {boolean} - 是否需要加载错误页
|
|
81
83
|
*/
|
|
82
84
|
export declare const isLoadErrorPage: (params: CashierSdkActionQueryResult) => boolean;
|
|
85
|
+
export declare const safeStringify: (payload: any, defaultValue?: string) => string;
|
|
@@ -27,6 +27,7 @@ export var formatElementOption = function formatElementOption(options) {
|
|
|
27
27
|
export var validateElementOption = function validateElementOption(options) {
|
|
28
28
|
var errors = [];
|
|
29
29
|
if (!options.sessionData) {
|
|
30
|
+
console.error('sessionData is empty, please check new AMSElement params.');
|
|
30
31
|
errors.push({
|
|
31
32
|
field: 'sessionData',
|
|
32
33
|
message: 'sessionData is empty'
|
|
@@ -47,7 +48,9 @@ export var validateElementOption = function validateElementOption(options) {
|
|
|
47
48
|
|
|
48
49
|
/**
|
|
49
50
|
* 校验渲染条件
|
|
50
|
-
*
|
|
51
|
+
* 1.校验当前 sdkSelector 结点是否存在
|
|
52
|
+
* 2.校验当前 Element 的状态是否能够渲染
|
|
53
|
+
* 3.校验当前 type 类型 Elment 是否已经执行过 mount
|
|
51
54
|
*/
|
|
52
55
|
export function checkCanMount(_ref) {
|
|
53
56
|
var sdkSelector = _ref.sdkSelector,
|
|
@@ -133,7 +136,7 @@ export function generateIframeSrc(_ref3) {
|
|
|
133
136
|
var extendInfo = (paymentSessionObj === null || paymentSessionObj === void 0 ? void 0 : paymentSessionObj.extendInfo) || '';
|
|
134
137
|
var mid = paymentSessionObj === null || paymentSessionObj === void 0 ? void 0 : paymentSessionObj.clientId;
|
|
135
138
|
var hostSign = (paymentSession || '').split('&&')[1] || '';
|
|
136
|
-
var baseUrl = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ELEMENT_ENVIRONMENT.DEV, '
|
|
139
|
+
var baseUrl = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ELEMENT_ENVIRONMENT.DEV, 'https://dev.ac.alipay.com/page/antom-web-checkout-v2'), ELEMENT_ENVIRONMENT.TEST, 'http://page.test.alipay.net/page/antom-web-checkout-v2'), ELEMENT_ENVIRONMENT.SIT, 'http://page.test.alipay.net/page/antom-web-checkout-v2'), ELEMENT_ENVIRONMENT.PRE, 'https://pre.ac.alipay.com/page/antom-web-checkout-v2'), ELEMENT_ENVIRONMENT.SANDBOX, 'https://checkout.antom.com'), ELEMENT_ENVIRONMENT.PROD, 'https://checkout.antom.com');
|
|
137
140
|
var _env = (environment === null || environment === void 0 ? void 0 : environment.toLocaleUpperCase()) || ELEMENT_ENVIRONMENT.DEV;
|
|
138
141
|
if (!link) {
|
|
139
142
|
link = "".concat(baseUrl[_env]).concat(pageUrl);
|
|
@@ -513,4 +516,14 @@ export var isLoadErrorPage = function isLoadErrorPage(params) {
|
|
|
513
516
|
// 无有效支付方式
|
|
514
517
|
!hasAmountViews // 缺少金额展示
|
|
515
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
|
+
}
|
|
516
529
|
};
|
|
@@ -22,6 +22,7 @@ import { getGrayscaleId } from "../utils/gray_scale_utils";
|
|
|
22
22
|
import { convertPaymentSession, getWebAppVersion, saveWebAppVersion } from "../utils/payment_context_utils";
|
|
23
23
|
import { redirect } from "../utils/redirect_utils";
|
|
24
24
|
import { parseWebAppMatchConfig } from "../utils/web_app_url_utils";
|
|
25
|
+
|
|
25
26
|
/**
|
|
26
27
|
* @author 谦彧 <zhangmian.zm@alipay.com>
|
|
27
28
|
* @date 2024/9/17
|
|
@@ -242,7 +243,7 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
|
242
243
|
value: function () {
|
|
243
244
|
var _startBizFlow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(options) {
|
|
244
245
|
var _this$paymentContext$, _this$paymentContext$2, _this$paymentContext$3;
|
|
245
|
-
var paymentSession, displayInfo, _convertPaymentSessio2, paymentSessionId, paymentSessionMetaData, mid, webAppMatchConfig, webAppVersion, productScene, paymentMethod, _this$bizFlowStartBeh, payload;
|
|
246
|
+
var paymentSession, displayInfo, _convertPaymentSessio2, paymentSessionId, paymentSessionMetaData, mid, webAppMatchConfig, webAppVersion, productScene, paymentMethod, _this$bizFlowStartBeh, payload, eventCenter, data;
|
|
246
247
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
247
248
|
while (1) switch (_context4.prev = _context4.next) {
|
|
248
249
|
case 0:
|
|
@@ -252,9 +253,6 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
|
252
253
|
}
|
|
253
254
|
throw new Error('paymentSession is empty');
|
|
254
255
|
case 2:
|
|
255
|
-
this.logger.logInfo({
|
|
256
|
-
title: 'sdk_event_createComponent'
|
|
257
|
-
});
|
|
258
256
|
this.setStatus(IElementStatus.IN_BIZ_FLOW);
|
|
259
257
|
paymentSession = options.paymentSession, displayInfo = options.displayInfo;
|
|
260
258
|
_convertPaymentSessio2 = convertPaymentSession(paymentSession), paymentSessionId = _convertPaymentSessio2.id, paymentSessionMetaData = _convertPaymentSessio2.data;
|
|
@@ -272,10 +270,14 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
|
272
270
|
webAppMatchConfig = parseWebAppMatchConfig(this.paymentContext.paymentSessionObj.extendInfo);
|
|
273
271
|
webAppVersion = getWebAppVersion(this.sdkMetaData, mid, webAppMatchConfig);
|
|
274
272
|
this.sdkMetaData.webAppVersion = webAppVersion;
|
|
275
|
-
saveWebAppVersion(webAppVersion, this.sdkMetaData);
|
|
276
|
-
|
|
277
273
|
// Call service to update via payment context
|
|
278
274
|
ServiceProvider.getInstance(this.instanceId).update(this.paymentContext);
|
|
275
|
+
// Element使用了新的埋点方案,后续ESP、VAULTING需要同步,将废弃sdk_event_createComponent
|
|
276
|
+
this.logger.logInfo({
|
|
277
|
+
title: 'sdk_event_createComponent'
|
|
278
|
+
});
|
|
279
|
+
// Storage operations are placed after logInfo
|
|
280
|
+
saveWebAppVersion(webAppVersion, this.sdkMetaData);
|
|
279
281
|
|
|
280
282
|
// Invoke processor
|
|
281
283
|
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 +324,31 @@ export var AntomSDKCore = /*#__PURE__*/function () {
|
|
|
322
324
|
return _context4.abrupt("return");
|
|
323
325
|
case 36:
|
|
324
326
|
if (!(this.bizFlowStartBehavior.behaviorType === 'REDIRECT')) {
|
|
325
|
-
_context4.next =
|
|
327
|
+
_context4.next = 45;
|
|
326
328
|
break;
|
|
327
329
|
}
|
|
328
330
|
payload = (_this$bizFlowStartBeh = this.bizFlowStartBehavior) === null || _this$bizFlowStartBeh === void 0 ? void 0 : _this$bizFlowStartBeh.payload;
|
|
331
|
+
if (!options.isNativeAppWebview) {
|
|
332
|
+
_context4.next = 43;
|
|
333
|
+
break;
|
|
334
|
+
}
|
|
335
|
+
eventCenter = ServiceProvider.getInstance(this.instanceId).getService('EventCenter');
|
|
336
|
+
data = {
|
|
337
|
+
normalUrl: (payload === null || payload === void 0 ? void 0 : payload.url) || '',
|
|
338
|
+
schemeUrl: (payload === null || payload === void 0 ? void 0 : payload.schemeUrl) || '',
|
|
339
|
+
applinkUrl: (payload === null || payload === void 0 ? void 0 : payload.applinkUrl) || ''
|
|
340
|
+
};
|
|
341
|
+
eventCenter.emit(EVENT.eventCallback.name, {
|
|
342
|
+
code: eventCodeEnum.SDK_REDIRECT,
|
|
343
|
+
result: {
|
|
344
|
+
redirectUrls: data
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
return _context4.abrupt("return");
|
|
348
|
+
case 43:
|
|
329
349
|
redirect(payload, this.instanceId);
|
|
330
350
|
return _context4.abrupt("return");
|
|
331
|
-
case
|
|
351
|
+
case 45:
|
|
332
352
|
case "end":
|
|
333
353
|
return _context4.stop();
|
|
334
354
|
}
|
|
@@ -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);
|
|
@@ -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 () {
|
|
@@ -297,7 +313,6 @@ export var ApplePaySdk = /*#__PURE__*/function () {
|
|
|
297
313
|
title: 'a3753.b103030.c386485.d507498'
|
|
298
314
|
});
|
|
299
315
|
}
|
|
300
|
-
_this.abortSession();
|
|
301
316
|
reject({
|
|
302
317
|
errorCode: APPLEPAYERRORENUM.APPLE_PAY_CANCEL
|
|
303
318
|
});
|
|
@@ -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
|
/** 地址组件集成的参数 */
|