@alipay/ams-checkout 0.0.1690858103-dev.1 → 0.0.1690894389-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/core/component/index.js +0 -12
- package/dist/esm/plugin/component/appPath.d.ts +2 -0
- package/dist/esm/plugin/component/{cashierApp.js → appPath.js} +13 -77
- package/dist/esm/plugin/component/component.style.js +1 -1
- package/dist/esm/plugin/component/index.d.ts +12 -6
- package/dist/esm/plugin/component/index.js +126 -91
- package/dist/esm/service/index.d.ts +2 -2
- package/dist/esm/types/index.d.ts +6 -13
- package/dist/esm/util/index.js +1 -1
- package/dist/umd/ams-checkout.min.js +1 -1
- package/package.json +1 -1
- package/dist/esm/plugin/component/cashierApp.d.ts +0 -24
@@ -19,7 +19,6 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
19
19
|
import { COMPONENTPLUGINID, ERRORMESSAGE } from "../../constant";
|
20
20
|
import ComponentApp from "../../plugin/component";
|
21
21
|
import { componentNameEnum, mode, networkMode, paymentMethodCategoryTypeEnum, productSceneEnum } from "../../types";
|
22
|
-
import { isPC } from "../../util";
|
23
22
|
import { createIframeNode } from "../../util/createIframeNode";
|
24
23
|
var getComponentSign = function getComponentSign(params) {
|
25
24
|
var _ref = params || {},
|
@@ -44,16 +43,6 @@ var parsePaymentSessionData = function parsePaymentSessionData(paymentSessionDat
|
|
44
43
|
return [{}, paymentSessionData];
|
45
44
|
}
|
46
45
|
};
|
47
|
-
|
48
|
-
// pc easy-pay&2.0 走 1.0 的支付逻辑
|
49
|
-
var resetEasyPaySceneVersion = function resetEasyPaySceneVersion(parseData) {
|
50
|
-
if (isPC() && parseData !== null && parseData !== void 0 && parseData.paymentSessionConfig) {
|
51
|
-
var productScene = parseData.paymentSessionConfig.productScene;
|
52
|
-
if (productScene === productSceneEnum.EASY_PAY) {
|
53
|
-
parseData.paymentSessionConfig.productSceneVersion = '1.0';
|
54
|
-
}
|
55
|
-
}
|
56
|
-
};
|
57
46
|
export var mixinComponentConstructor = function mixinComponentConstructor(options, context) {
|
58
47
|
// Instantiate the plug-in and set render
|
59
48
|
var ComponentPlugin = new ComponentApp();
|
@@ -109,7 +98,6 @@ export var createComponent = /*#__PURE__*/function () {
|
|
109
98
|
_parsePaymentSessionD2 = _slicedToArray(_parsePaymentSessionD, 2),
|
110
99
|
parseData = _parsePaymentSessionD2[0],
|
111
100
|
paymentSessionData = _parsePaymentSessionD2[1];
|
112
|
-
resetEasyPaySceneVersion(parseData);
|
113
101
|
var componentName = typeof componentNameOrParams === 'string' ? componentNameOrParams : getComponentSign(parseData);
|
114
102
|
if (componentName === '') {
|
115
103
|
// eslint-disable-next-line prefer-promise-reject-errors
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export declare const getAppPath: (_environment: string | undefined, appVersion: string, componentName: string, productSceneVersion: string, extendInfo: string) => any;
|
2
|
+
export declare const getAppDomain: (_environment: string, version: string, componentName: string, productSceneVersion: string, extendInfo: string) => string;
|
@@ -11,19 +11,23 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
11
11
|
*/
|
12
12
|
import json from "../../../package.json";
|
13
13
|
import { componentNameEnum } from "../../types";
|
14
|
-
import {
|
14
|
+
import { queryParse } from "../../util/index";
|
15
15
|
export var getAppPath = function getAppPath() {
|
16
16
|
var _componentMap;
|
17
|
-
var
|
17
|
+
var _environment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'prod';
|
18
18
|
var appVersion = arguments.length > 1 ? arguments[1] : undefined;
|
19
19
|
var componentName = arguments.length > 2 ? arguments[2] : undefined;
|
20
20
|
var productSceneVersion = arguments.length > 3 ? arguments[3] : undefined;
|
21
21
|
var extendInfo = arguments.length > 4 ? arguments[4] : undefined;
|
22
22
|
var _ref = queryParse() || {},
|
23
|
-
urlTestHost = _ref.host
|
23
|
+
urlTestHost = _ref.host,
|
24
|
+
_ref$_appVersion = _ref._appVersion,
|
25
|
+
_appVersion = _ref$_appVersion === void 0 ? '' : _ref$_appVersion;
|
24
26
|
var host = '';
|
25
27
|
var getAppVersion = function getAppVersion(_extendInfo) {
|
26
28
|
try {
|
29
|
+
// Configure the specified version number
|
30
|
+
if (_appVersion && !['sandbox', 'light_sandbox', 'prod'].includes(_environment)) return _appVersion;
|
27
31
|
var info = JSON.parse(_extendInfo);
|
28
32
|
return info.versionMap.web[json.version].targetWebVerison || appVersion;
|
29
33
|
} catch (error) {
|
@@ -49,91 +53,23 @@ export var getAppPath = function getAppPath() {
|
|
49
53
|
return finalProductSceneVersion;
|
50
54
|
};
|
51
55
|
var componentMap = (_componentMap = {}, _defineProperty(_componentMap, componentNameEnum.card, function () {
|
52
|
-
host = "".concat(marmptMap[
|
56
|
+
host = "".concat(marmptMap[_environment], "/").concat(componentNameEnum.card, "/index.").concat(finalAppVersion, ".html");
|
53
57
|
}), _defineProperty(_componentMap, componentNameEnum.easyPay, function () {
|
54
58
|
var finalProductSceneVersion = getFinalProductSceneVersion(['1.0', '2.0']);
|
55
|
-
host = "".concat(marmptMap[
|
59
|
+
host = "".concat(marmptMap[_environment], "/").concat(componentNameEnum.easyPay, "/").concat(finalProductSceneVersion, "/index.").concat(finalAppVersion, ".html");
|
56
60
|
}), _defineProperty(_componentMap, componentNameEnum.autoDebit, function () {
|
57
61
|
var finalProductSceneVersion = getFinalProductSceneVersion(['1.0']);
|
58
|
-
host = "".concat(marmptMap[
|
62
|
+
host = "".concat(marmptMap[_environment], "/").concat(componentNameEnum.autoDebit, "/").concat(finalProductSceneVersion, "/index.").concat(finalAppVersion, ".html");
|
59
63
|
}), _componentMap);
|
60
64
|
if (componentMap[componentName]) componentMap[componentName]();
|
61
65
|
// only for test while testurl?host=https://xxxxx.test.html
|
62
|
-
if (urlTestHost && !['sandbox', 'light_sandbox', 'prod'].includes(
|
66
|
+
if (urlTestHost && !['sandbox', 'light_sandbox', 'prod'].includes(_environment)) {
|
63
67
|
return urlTestHost;
|
64
68
|
}
|
65
69
|
return host;
|
66
70
|
};
|
67
|
-
export var getAppDomain = function getAppDomain(
|
68
|
-
var environment = domainParams.environment,
|
69
|
-
appVersion = domainParams.appVersion,
|
70
|
-
componentName = domainParams.componentName,
|
71
|
-
productSceneVersion = domainParams.productSceneVersion,
|
72
|
-
extendInfo = domainParams.extendInfo;
|
71
|
+
export var getAppDomain = function getAppDomain(_environment, version, componentName, productSceneVersion, extendInfo) {
|
73
72
|
var reg = /^https?:\/\/([^/<>\s]+\.?)*/;
|
74
|
-
var macth = reg.exec(getAppPath(
|
73
|
+
var macth = reg.exec(getAppPath(_environment, version, componentName, productSceneVersion, extendInfo));
|
75
74
|
return macth && macth[0] || '';
|
76
|
-
};
|
77
|
-
export var getIframeUrl = function getIframeUrl(iframeParams) {
|
78
|
-
var componentName = iframeParams.componentName,
|
79
|
-
appearance = iframeParams.appearance,
|
80
|
-
_iframeParams$analyti = iframeParams.analytics,
|
81
|
-
analytics = _iframeParams$analyti === void 0 ? {
|
82
|
-
enabled: true
|
83
|
-
} : _iframeParams$analyti,
|
84
|
-
productSceneVersion = iframeParams.productSceneVersion,
|
85
|
-
environment = iframeParams.environment,
|
86
|
-
appVersion = iframeParams.appVersion,
|
87
|
-
extendInfo = iframeParams.extendInfo,
|
88
|
-
locale = iframeParams.locale,
|
89
|
-
instanceId = iframeParams.instanceId;
|
90
|
-
var path = getAppPath(environment, appVersion, componentName, productSceneVersion, extendInfo || '');
|
91
|
-
var initialScale = 1;
|
92
|
-
var scale = getViewPort('initial-scale') || initialScale;
|
93
|
-
var _queryParse = queryParse(),
|
94
|
-
_sandbox = _queryParse._sandbox,
|
95
|
-
_light_sandbox = _queryParse._light_sandbox,
|
96
|
-
_queryParse$requestHo = _queryParse.requestHost,
|
97
|
-
requestHost = _queryParse$requestHo === void 0 ? '' : _queryParse$requestHo,
|
98
|
-
_queryParse$groupId = _queryParse.groupId,
|
99
|
-
groupId = _queryParse$groupId === void 0 ? '' : _queryParse$groupId,
|
100
|
-
LOCAL_MOCK = _queryParse.LOCAL_MOCK;
|
101
|
-
var urlParams = Object.assign({
|
102
|
-
locale: locale,
|
103
|
-
scale: scale,
|
104
|
-
instanceId: instanceId,
|
105
|
-
sandbox: environment === 'light_sandbox' || _light_sandbox === 'true' ? 'true' : 'false',
|
106
|
-
analyticsEnabled: (analytics === null || analytics === void 0 ? void 0 : analytics.enabled) === false ? 'false' : 'true',
|
107
|
-
sdkVersion: json.version,
|
108
|
-
refUrl: window.location.href,
|
109
|
-
shadow: environment === 'sandbox' || _sandbox === 'true' ? 'true' : 'false',
|
110
|
-
requestHost: requestHost,
|
111
|
-
groupId: groupId,
|
112
|
-
LOCAL_MOCK: LOCAL_MOCK
|
113
|
-
}, appearance);
|
114
|
-
var locationSearch = serialize(urlParams);
|
115
|
-
return "".concat(path, "?").concat(locationSearch);
|
116
|
-
};
|
117
|
-
var getIframeId = function getIframeId(UIMode) {
|
118
|
-
var IdMap = {
|
119
|
-
dropin: 'checkout-dropin',
|
120
|
-
component: 'checkout-component'
|
121
|
-
};
|
122
|
-
return IdMap[UIMode] || 'checkout-component';
|
123
|
-
};
|
124
|
-
|
125
|
-
/**
|
126
|
-
* @description Create iframe
|
127
|
-
*/
|
128
|
-
export var createIframe = function createIframe(mode) {
|
129
|
-
var iframe = document.createElement('iframe');
|
130
|
-
var iframeId = getIframeId(mode);
|
131
|
-
var none = '0';
|
132
|
-
var width = '100%';
|
133
|
-
iframe.id = iframeId;
|
134
|
-
iframe.style.height = none;
|
135
|
-
iframe.style.width = width;
|
136
|
-
iframe.style.border = none;
|
137
|
-
iframe.style.overflow = 'hidden';
|
138
|
-
return iframe;
|
139
75
|
};
|
@@ -6,7 +6,7 @@
|
|
6
6
|
* 2. If applicable, the use of the Software is also subject to the terms and conditions of any non-disclosure agreement signed by you and the relevant Ant Group entity.
|
7
7
|
*/
|
8
8
|
|
9
|
-
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: 1px;\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}\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: 8px;\n overflow: hidden;\n transform-origin: 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: translateX(-50%) translateY(-50%) scale(1);\n opacity: 1\n }\n\n 80% {\n opacity: 0\n }\n \n 100% {\n opacity: 0;\n transform: translateX(-50%) translateY(-50%) scale(0.4);\n }\n}\n\n@keyframes ams-component-container-zoom-in {\n 0% {\n transform: translateX(-50%) translateY(-50%) scale(0.4);\n opacity: 0\n }\n\n 80% {\n opacity: 1\n }\n\n 100% {\n opacity: 1;\n transform: translateX(-50%) translateY(-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-fill-mode: forwards;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\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\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.asm-component-close-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.asm-component-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\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-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\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}\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 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: 600;\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: 600;\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: 600;\n text-align: center;\n box-sizing: border-box;\n color: #FFFFFF;\n}\n\n.ams-component-retention-remain-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\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}\n\n#ams-component-retention-leave {\n border-radius: 100px;\n border: 1px solid #0079FF;\n font-style: normal;\n font-weight: 600;\n text-align: center;\n box-sizing: border-box;\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}\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}\n\n";
|
9
|
+
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 background-color: #ffffff;\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: 1px;\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}\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 background-color: #ffffff;\n border-radius: 8px;\n overflow: hidden;\n transform-origin: 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: translateX(-50%) translateY(-50%) scale(1);\n opacity: 1\n }\n\n 80% {\n opacity: 0\n }\n \n 100% {\n opacity: 0;\n transform: translateX(-50%) translateY(-50%) scale(0.4);\n }\n}\n\n@keyframes ams-component-container-zoom-in {\n 0% {\n transform: translateX(-50%) translateY(-50%) scale(0.4);\n opacity: 0\n }\n\n 80% {\n opacity: 1\n }\n\n 100% {\n opacity: 1;\n transform: translateX(-50%) translateY(-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 background-color: #ffffff;\n border-radius: 8px;\n overflow: hidden;\n animation-fill-mode: forwards;\n animation: ams-component-container-zoom-out 0.3s ease-in-out;\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\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.asm-component-close-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.asm-component-close-block-hidden {\n width: 0px !important;\n height: 0px !important;\n visibility: hidden;\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-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\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}\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 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: 600;\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: 600;\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: 600;\n text-align: center;\n box-sizing: border-box;\n color: #FFFFFF;\n}\n\n.ams-component-retention-remain-mobile {\n width: 100%;\n height: 44px;\n font-size: 16px;\n line-height: 44px;\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}\n\n#ams-component-retention-leave {\n border-radius: 100px;\n border: 1px solid #0079FF;\n font-style: normal;\n font-weight: 600;\n text-align: center;\n box-sizing: border-box;\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}\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}\n\n";
|
10
10
|
export function componentAddCSS() {
|
11
11
|
var style = document.createElement('style');
|
12
12
|
style.type = 'text/css';
|
@@ -3,6 +3,7 @@ import type { IappendIframeNodesParams, IcreateComponent } from '../../types';
|
|
3
3
|
import { componentNameEnum } from '../../types';
|
4
4
|
export default class ComponentApp {
|
5
5
|
app: any;
|
6
|
+
paymentMethodsResult: any;
|
6
7
|
appDomain: string;
|
7
8
|
AMSSDK: AMSCheckout;
|
8
9
|
platform: 'desktop' | 'mobile';
|
@@ -33,17 +34,22 @@ export default class ComponentApp {
|
|
33
34
|
* @description render iframe content
|
34
35
|
*/
|
35
36
|
appendIframeNodes(componentName: componentNameEnum, renderParams: IappendIframeNodesParams): Promise<void | [void, any]>;
|
36
|
-
|
37
|
-
* @description Interface request
|
38
|
-
*/
|
39
|
-
private createActionQueryPromise;
|
37
|
+
private newQueryPromise;
|
40
38
|
private cleanApp;
|
41
39
|
/**
|
42
40
|
* @description Create app
|
43
41
|
*/
|
44
42
|
private createApp;
|
45
|
-
private
|
46
|
-
|
43
|
+
private getIframeUrl;
|
44
|
+
/**
|
45
|
+
* @description Create iframe
|
46
|
+
*/
|
47
|
+
private createIframe;
|
48
|
+
/**
|
49
|
+
* @description Get iftame id
|
50
|
+
*/
|
51
|
+
private _getIframeId;
|
52
|
+
private _listener;
|
47
53
|
/**
|
48
54
|
* @description Initialize subscription iframe message
|
49
55
|
*/
|
@@ -17,20 +17,18 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
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 no-console */
|
20
|
+
import json from "../../../package.json";
|
20
21
|
import { COMPONENTPLUGINID, ERRORMESSAGE, EVENT } from "../../constant";
|
21
22
|
import { queryPaymentInfo } from "../../service";
|
22
23
|
import { componentNameEnum, messageName, Target } from "../../types";
|
23
|
-
import { getDesignFontSize, getType, isJsonString, isPC } from "../../util";
|
24
|
+
import { getDesignFontSize, getOrigin, getType, getViewPort, isJsonString, isPC, queryParse, serialize } from "../../util";
|
24
25
|
import { isLocalMock } from "../../util/mock";
|
25
|
-
import {
|
26
|
+
import { getAppDomain, getAppPath } from "./appPath";
|
26
27
|
import { componentAddCSS } from "./component.style";
|
27
|
-
var _window = window,
|
28
|
-
innerHeight = _window.innerHeight;
|
29
28
|
var amsSetSize = function amsSetSize(event, dom) {
|
30
29
|
try {
|
31
30
|
var _dom = dom || document.getElementById('ams-component-container');
|
32
31
|
_dom.style.fontSize = "".concat(getDesignFontSize(), "px");
|
33
|
-
innerHeight = window.innerHeight;
|
34
32
|
// eslint-disable-next-line no-empty
|
35
33
|
} catch (error) {}
|
36
34
|
};
|
@@ -42,13 +40,15 @@ var addEvent = function addEvent() {
|
|
42
40
|
window.addEventListener('pageShow', amsSetSize);
|
43
41
|
window.addEventListener('DOMContentLoaded', amsSetSize);
|
44
42
|
};
|
43
|
+
var _window = window,
|
44
|
+
innerHeight = _window.innerHeight;
|
45
45
|
var mockupId = 'ams-component-mockup';
|
46
46
|
var loadingId = 'ams-component-loading';
|
47
|
-
var listenerPrefix = '_ams_sdk_component_listener';
|
48
47
|
var ComponentApp = /*#__PURE__*/function () {
|
49
48
|
function ComponentApp() {
|
50
49
|
_classCallCheck(this, ComponentApp);
|
51
50
|
_defineProperty(this, "app", void 0);
|
51
|
+
_defineProperty(this, "paymentMethodsResult", void 0);
|
52
52
|
_defineProperty(this, "appDomain", void 0);
|
53
53
|
_defineProperty(this, "AMSSDK", void 0);
|
54
54
|
_defineProperty(this, "platform", void 0);
|
@@ -62,7 +62,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
62
62
|
_defineProperty(this, "_performanceData", []);
|
63
63
|
_defineProperty(this, "_isInitComponent", void 0);
|
64
64
|
_defineProperty(this, "_clickEventName", void 0);
|
65
|
-
this._appVersion = '1.3.
|
65
|
+
this._appVersion = '1.3.0';
|
66
66
|
this._isInitComponent = false;
|
67
67
|
this._selector = '#ams-component-section';
|
68
68
|
this.createIframeNode = function () {
|
@@ -117,8 +117,6 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
117
117
|
_this = this;
|
118
118
|
if (this._isInitComponent) return Promise.reject(ERRORMESSAGE.CREATECOMPONENT_ERROR.SINGLETON_COMPONENT_ERROR);
|
119
119
|
this._isInitComponent = true;
|
120
|
-
this._renderParams = renderParams;
|
121
|
-
this._componentName = componentName;
|
122
120
|
this._performanceData.push({
|
123
121
|
key: 'sdk_create_component',
|
124
122
|
value: Date.now()
|
@@ -133,20 +131,19 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
133
131
|
this.showLoading();
|
134
132
|
}
|
135
133
|
this.showCashier();
|
134
|
+
this._renderParams = renderParams;
|
135
|
+
this._componentName = componentName;
|
136
136
|
this.createApp(renderParams);
|
137
|
-
this.
|
137
|
+
this.newQueryPromise();
|
138
138
|
return Promise.all([this.createIframeNode(this, _objectSpread(_objectSpread({}, renderParams), {}, {
|
139
139
|
selector: this._selector
|
140
140
|
})), this._actionQueryPromise]).catch(function () {
|
141
141
|
_this._isInitComponent = false;
|
142
142
|
});
|
143
143
|
}
|
144
|
-
/**
|
145
|
-
* @description Interface request
|
146
|
-
*/
|
147
144
|
}, {
|
148
|
-
key: "
|
149
|
-
value: function
|
145
|
+
key: "newQueryPromise",
|
146
|
+
value: function newQueryPromise() {
|
150
147
|
var _this2 = this;
|
151
148
|
this._performanceData.push({
|
152
149
|
key: 'sdk_action_query_start',
|
@@ -155,25 +152,28 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
155
152
|
this._actionQueryPromise = new Promise(function (resolve, reject) {
|
156
153
|
var _this2$_renderParams, _this2$_renderParams2, _this2$_renderParams3;
|
157
154
|
var params = {
|
158
|
-
paymentSessionData: _this2._renderParams && ((_this2$_renderParams = _this2._renderParams) === null || _this2$_renderParams === void 0 ? void 0 : _this2$_renderParams.paymentSessionData)
|
159
|
-
paymentSessionConfig: (_this2$_renderParams2 = _this2._renderParams) === null || _this2$_renderParams2 === void 0 ? void 0 : (_this2$_renderParams3 = _this2$_renderParams2.paymentSessionMetaData) === null || _this2$_renderParams3 === void 0 ? void 0 : _this2$_renderParams3.paymentSessionConfig
|
155
|
+
paymentSessionData: _this2._renderParams && ((_this2$_renderParams = _this2._renderParams) === null || _this2$_renderParams === void 0 ? void 0 : _this2$_renderParams.paymentSessionData),
|
156
|
+
paymentSessionConfig: ((_this2$_renderParams2 = _this2._renderParams) === null || _this2$_renderParams2 === void 0 ? void 0 : (_this2$_renderParams3 = _this2$_renderParams2.paymentSessionMetaData) === null || _this2$_renderParams3 === void 0 ? void 0 : _this2$_renderParams3.paymentSessionConfig) || {}
|
160
157
|
};
|
161
158
|
if (componentNameEnum.card === _this2._componentName) {
|
159
|
+
var _this2$_renderParams4, _this2$_renderParams5;
|
162
160
|
params.paymentMethodType = 'CARD';
|
161
|
+
params.paymentSessionConfig = ((_this2$_renderParams4 = _this2._renderParams) === null || _this2$_renderParams4 === void 0 ? void 0 : (_this2$_renderParams5 = _this2$_renderParams4.paymentSessionMetaData) === null || _this2$_renderParams5 === void 0 ? void 0 : _this2$_renderParams5.paymentSessionConfig) || {};
|
163
162
|
}
|
164
163
|
if (componentNameEnum.easyPay === _this2._componentName) {
|
165
|
-
var _this2$
|
164
|
+
var _this2$_renderParams6, _this2$_renderParams7, _this2$_renderParams8;
|
165
|
+
params.paymentSessionConfig = ((_this2$_renderParams6 = _this2._renderParams) === null || _this2$_renderParams6 === void 0 ? void 0 : (_this2$_renderParams7 = _this2$_renderParams6.paymentSessionMetaData) === null || _this2$_renderParams7 === void 0 ? void 0 : _this2$_renderParams7.paymentSessionConfig) || {};
|
166
166
|
// if EASY_PAY 2.0 , no need to query payment request
|
167
|
-
var
|
168
|
-
|
169
|
-
productSceneVersion =
|
170
|
-
|
171
|
-
productScene =
|
172
|
-
var
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
autoDebitWithToken =
|
167
|
+
var _params$paymentSessio = params.paymentSessionConfig,
|
168
|
+
_params$paymentSessio2 = _params$paymentSessio.productSceneVersion,
|
169
|
+
productSceneVersion = _params$paymentSessio2 === void 0 ? '' : _params$paymentSessio2,
|
170
|
+
_params$paymentSessio3 = _params$paymentSessio.productScene,
|
171
|
+
productScene = _params$paymentSessio3 === void 0 ? '' : _params$paymentSessio3;
|
172
|
+
var _ref = ((_this2$_renderParams8 = _this2._renderParams) === null || _this2$_renderParams8 === void 0 ? void 0 : _this2$_renderParams8.paymentSessionMetaData) || {},
|
173
|
+
_ref$action = _ref.action,
|
174
|
+
_ref$action2 = _ref$action === void 0 ? {} : _ref$action,
|
175
|
+
_ref$action2$autoDebi = _ref$action2.autoDebitWithToken,
|
176
|
+
autoDebitWithToken = _ref$action2$autoDebi === void 0 ? false : _ref$action2$autoDebi;
|
177
177
|
if (productScene === 'EASY_PAY' && productSceneVersion === '2.0' && !autoDebitWithToken) {
|
178
178
|
// make queryResult no data we setAppStateData in antom-web-checkout app,
|
179
179
|
// eslint-disable-next-line no-promise-executor-return
|
@@ -187,8 +187,8 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
187
187
|
* @description 代扣逻辑处理
|
188
188
|
*/
|
189
189
|
if (componentNameEnum.autoDebit === _this2._componentName) {
|
190
|
-
var _this2$
|
191
|
-
var action = ((_this2$
|
190
|
+
var _this2$_renderParams9, _this2$_renderParams10, _action$web, _action$wap;
|
191
|
+
var action = ((_this2$_renderParams9 = _this2._renderParams) === null || _this2$_renderParams9 === void 0 ? void 0 : (_this2$_renderParams10 = _this2$_renderParams9.paymentSessionMetaData) === null || _this2$_renderParams10 === void 0 ? void 0 : _this2$_renderParams10.action) || {};
|
192
192
|
var signType = (isPC() ? action === null || action === void 0 ? void 0 : (_action$web = action.web) === null || _action$web === void 0 ? void 0 : _action$web.signType : action === null || action === void 0 ? void 0 : (_action$wap = action.wap) === null || _action$wap === void 0 ? void 0 : _action$wap.signType) || '';
|
193
193
|
if (signType === 'SMS') {
|
194
194
|
return resolve({
|
@@ -201,7 +201,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
201
201
|
}
|
202
202
|
}
|
203
203
|
|
204
|
-
// mock
|
204
|
+
// 本地执行mock
|
205
205
|
if (isLocalMock()) {
|
206
206
|
return resolve({
|
207
207
|
message: 'sdk no need to make query request'
|
@@ -215,7 +215,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
215
215
|
key: 'sdk_action_query_end',
|
216
216
|
value: Date.now()
|
217
217
|
});
|
218
|
-
if (res
|
218
|
+
if (res && res.success) {
|
219
219
|
resolve(res);
|
220
220
|
} else {
|
221
221
|
resolve(res);
|
@@ -259,26 +259,9 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
259
259
|
var _renderParams$payment, _renderParams$payment2, _renderParams$payment3;
|
260
260
|
var productSceneVersion = (renderParams === null || renderParams === void 0 ? void 0 : (_renderParams$payment = renderParams.paymentSessionMetaData) === null || _renderParams$payment === void 0 ? void 0 : (_renderParams$payment2 = _renderParams$payment.paymentSessionConfig) === null || _renderParams$payment2 === void 0 ? void 0 : _renderParams$payment2.productSceneVersion) || '';
|
261
261
|
var extendInfo = (renderParams === null || renderParams === void 0 ? void 0 : (_renderParams$payment3 = renderParams.paymentSessionMetaData) === null || _renderParams$payment3 === void 0 ? void 0 : _renderParams$payment3.extendInfo) || '';
|
262
|
-
|
263
|
-
this.
|
264
|
-
|
265
|
-
appVersion: this._appVersion,
|
266
|
-
componentName: this._componentName,
|
267
|
-
productSceneVersion: productSceneVersion,
|
268
|
-
extendInfo: extendInfo
|
269
|
-
});
|
270
|
-
this.app = createIframe(this.AMSSDK.options.mode);
|
271
|
-
this.app.src = getIframeUrl({
|
272
|
-
componentName: this._componentName,
|
273
|
-
appearance: (renderParams === null || renderParams === void 0 ? void 0 : renderParams.appearance) || {},
|
274
|
-
analytics: this.AMSSDK.options.analytics,
|
275
|
-
productSceneVersion: productSceneVersion,
|
276
|
-
environment: environment,
|
277
|
-
appVersion: this._appVersion,
|
278
|
-
extendInfo: extendInfo,
|
279
|
-
locale: this.AMSSDK.options.locale,
|
280
|
-
instanceId: this.AMSSDK._instanceId
|
281
|
-
});
|
262
|
+
this.appDomain = getAppDomain(this.AMSSDK.options.env.environment, this._appVersion, this._componentName, productSceneVersion, extendInfo);
|
263
|
+
this.app = this.createIframe();
|
264
|
+
this.app.src = this.getIframeUrl(this._componentName, (renderParams === null || renderParams === void 0 ? void 0 : renderParams.appearance) || {}, this.AMSSDK.options.analytics, productSceneVersion);
|
282
265
|
|
283
266
|
// Subscribe to messages from iframe
|
284
267
|
this._addEventListener();
|
@@ -289,8 +272,76 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
289
272
|
}
|
290
273
|
}
|
291
274
|
}, {
|
292
|
-
key: "
|
293
|
-
value: function
|
275
|
+
key: "getIframeUrl",
|
276
|
+
value: function getIframeUrl(componentName, appearance) {
|
277
|
+
var _this$_renderParams, _this$_renderParams$p;
|
278
|
+
var analytics = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
279
|
+
var productSceneVersion = arguments.length > 3 ? arguments[3] : undefined;
|
280
|
+
var path = getAppPath(this.AMSSDK.options.env.environment, this._appVersion, componentName, productSceneVersion, ((_this$_renderParams = this._renderParams) === null || _this$_renderParams === void 0 ? void 0 : (_this$_renderParams$p = _this$_renderParams.paymentSessionMetaData) === null || _this$_renderParams$p === void 0 ? void 0 : _this$_renderParams$p.extendInfo) || '');
|
281
|
+
var scale = getViewPort('initial-scale') || 1;
|
282
|
+
var _queryParse = queryParse(),
|
283
|
+
_sandbox = _queryParse._sandbox,
|
284
|
+
_light_sandbox = _queryParse._light_sandbox,
|
285
|
+
_queryParse$requestHo = _queryParse.requestHost,
|
286
|
+
requestHost = _queryParse$requestHo === void 0 ? '' : _queryParse$requestHo,
|
287
|
+
_queryParse$groupId = _queryParse.groupId,
|
288
|
+
groupId = _queryParse$groupId === void 0 ? '' : _queryParse$groupId,
|
289
|
+
LOCAL_MOCK = _queryParse.LOCAL_MOCK;
|
290
|
+
var urlParams = Object.assign({
|
291
|
+
locale: this.AMSSDK.options.locale,
|
292
|
+
scale: scale,
|
293
|
+
merchantDomain: window.btoa(getOrigin()),
|
294
|
+
instanceId: this.AMSSDK._instanceId,
|
295
|
+
sandbox: this.AMSSDK.options.env.environment === 'light_sandbox' || _light_sandbox === 'true' ? 'true' : 'false',
|
296
|
+
analyticsEnabled: (analytics === null || analytics === void 0 ? void 0 : analytics.enabled) === false ? 'false' : 'true',
|
297
|
+
sdkVersion: json.version,
|
298
|
+
refUrl: window.location.href,
|
299
|
+
shadow: this.AMSSDK.options.env.environment === 'sandbox' || _sandbox === 'true' ? 'true' : 'false',
|
300
|
+
requestHost: requestHost,
|
301
|
+
groupId: groupId,
|
302
|
+
LOCAL_MOCK: LOCAL_MOCK
|
303
|
+
}, appearance);
|
304
|
+
var locationSearch = serialize(urlParams);
|
305
|
+
return "".concat(path, "?").concat(locationSearch);
|
306
|
+
}
|
307
|
+
|
308
|
+
/**
|
309
|
+
* @description Create iframe
|
310
|
+
*/
|
311
|
+
}, {
|
312
|
+
key: "createIframe",
|
313
|
+
value: function createIframe() {
|
314
|
+
var iframe = document.createElement('iframe');
|
315
|
+
var iframeId = this._getIframeId(this.AMSSDK.options.mode);
|
316
|
+
iframe.id = iframeId;
|
317
|
+
iframe.style.height = '0px';
|
318
|
+
iframe.style.width = '100%';
|
319
|
+
iframe.style.border = '0';
|
320
|
+
iframe.style.overflow = 'hidden';
|
321
|
+
return iframe;
|
322
|
+
}
|
323
|
+
|
324
|
+
/**
|
325
|
+
* @description Get iftame id
|
326
|
+
*/
|
327
|
+
}, {
|
328
|
+
key: "_getIframeId",
|
329
|
+
value: function _getIframeId(UIMode) {
|
330
|
+
var id = 'checkout-dropin';
|
331
|
+
// eslint-disable-next-line default-case
|
332
|
+
switch (UIMode) {
|
333
|
+
case 'dropin':
|
334
|
+
id = 'checkout-dropin';
|
335
|
+
break;
|
336
|
+
case 'component':
|
337
|
+
id = 'checkout-component';
|
338
|
+
break;
|
339
|
+
}
|
340
|
+
return id;
|
341
|
+
}
|
342
|
+
}, {
|
343
|
+
key: "_listener",
|
344
|
+
value: function _listener(e) {
|
294
345
|
if (e.origin !== this.appDomain) {
|
295
346
|
return;
|
296
347
|
}
|
@@ -306,21 +357,6 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
306
357
|
this.dispatchToSDK(EVENT.error.name, ERRORMESSAGE.NOT_JSON_FORMAT);
|
307
358
|
}
|
308
359
|
}
|
309
|
-
}, {
|
310
|
-
key: "resizeListener",
|
311
|
-
value: function resizeListener() {
|
312
|
-
var cashier = document.getElementById('ams-component-container');
|
313
|
-
cashier.style.transition = 'none';
|
314
|
-
this.dispatchToApp({
|
315
|
-
context: {
|
316
|
-
event: 'renderResize',
|
317
|
-
data: {
|
318
|
-
heightOfVisible: window.innerHeight,
|
319
|
-
widthOfVisible: window.innerWidth
|
320
|
-
}
|
321
|
-
}
|
322
|
-
});
|
323
|
-
}
|
324
360
|
|
325
361
|
/**
|
326
362
|
* @description Initialize subscription iframe message
|
@@ -328,17 +364,14 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
328
364
|
}, {
|
329
365
|
key: "_addEventListener",
|
330
366
|
value: function _addEventListener() {
|
331
|
-
window["".concat(
|
332
|
-
window["".concat(listenerPrefix, "_").concat(this.AMSSDK._instanceId, "_resize")] = this.resizeListener.bind(this);
|
367
|
+
window["_ams_sdk_component_listener_".concat(this.AMSSDK._instanceId)] = this._listener.bind(this);
|
333
368
|
this._removeEventListener();
|
334
|
-
window.addEventListener('message', window["".concat(
|
335
|
-
window.addEventListener('resize', window["".concat(listenerPrefix, "_").concat(this.AMSSDK._instanceId, "_resize")]);
|
369
|
+
window.addEventListener('message', window["_ams_sdk_component_listener_".concat(this.AMSSDK._instanceId)]);
|
336
370
|
}
|
337
371
|
}, {
|
338
372
|
key: "_removeEventListener",
|
339
373
|
value: function _removeEventListener() {
|
340
|
-
window.removeEventListener('message', window["".concat(
|
341
|
-
window.removeEventListener('resize', window["".concat(listenerPrefix, "_").concat(this.AMSSDK._instanceId, "_resize")]);
|
374
|
+
window.removeEventListener('message', window["_ams_sdk_component_listener_".concat(this.AMSSDK._instanceId)]);
|
342
375
|
}
|
343
376
|
|
344
377
|
/**
|
@@ -441,7 +474,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
441
474
|
// size变动时动画
|
442
475
|
setTimeout(function () {
|
443
476
|
cashier.style.transition = 'height 0.28s ease-in-out';
|
444
|
-
},
|
477
|
+
}, 400);
|
445
478
|
}
|
446
479
|
this.app.style.height = "".concat(data.context.data.height, "px");
|
447
480
|
this.app.style.width = '100%';
|
@@ -475,10 +508,10 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
475
508
|
});
|
476
509
|
};
|
477
510
|
|
478
|
-
//
|
511
|
+
// pc端支持 target: _blank,新开tab页打开
|
479
512
|
if (_data.target === Target.BLANK) {
|
480
|
-
if (!_data.normalUrl) return failCallback();
|
481
513
|
successCallback('normalUrl', _data.normalUrl);
|
514
|
+
if (!_data.normalUrl) return;
|
482
515
|
window.open(_data.normalUrl);
|
483
516
|
return;
|
484
517
|
}
|
@@ -504,9 +537,9 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
504
537
|
}
|
505
538
|
}, {
|
506
539
|
key: "handleDeclareInfo",
|
507
|
-
value: function handleDeclareInfo(
|
508
|
-
var
|
509
|
-
closeDialogData =
|
540
|
+
value: function handleDeclareInfo(_ref2) {
|
541
|
+
var _ref2$closeDialogData = _ref2.closeDialogData,
|
542
|
+
closeDialogData = _ref2$closeDialogData === void 0 ? {} : _ref2$closeDialogData;
|
510
543
|
try {
|
511
544
|
if (closeDialogData) {
|
512
545
|
var retentionTitle = document.getElementById('ams-component-retention-title');
|
@@ -577,13 +610,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
577
610
|
*/
|
578
611
|
}, {
|
579
612
|
key: "dispatchToApp",
|
580
|
-
value: function dispatchToApp(
|
581
|
-
var data = Object.assign({}, payload, {
|
582
|
-
name: messageName.SDK_TO_APP,
|
583
|
-
mode: this.AMSSDK.options.mode,
|
584
|
-
appId: COMPONENTPLUGINID,
|
585
|
-
instanceId: this.AMSSDK._instanceId
|
586
|
-
});
|
613
|
+
value: function dispatchToApp(data) {
|
587
614
|
if (this.app && this.app.contentWindow) {
|
588
615
|
this.app.contentWindow.postMessage(JSON.stringify(data), this.appDomain);
|
589
616
|
}
|
@@ -611,7 +638,7 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
611
638
|
key: "sendRenderEvent",
|
612
639
|
value: function () {
|
613
640
|
var _sendRenderEvent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
614
|
-
var _this$
|
641
|
+
var _this$_renderParams2, _this$_renderParams3, res;
|
615
642
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
616
643
|
while (1) switch (_context.prev = _context.next) {
|
617
644
|
case 0:
|
@@ -631,12 +658,16 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
631
658
|
value: Date.now()
|
632
659
|
});
|
633
660
|
this.dispatchToApp({
|
661
|
+
name: messageName.SDK_TO_APP,
|
662
|
+
mode: this.AMSSDK.options.mode,
|
663
|
+
appId: COMPONENTPLUGINID,
|
664
|
+
instanceId: this.AMSSDK._instanceId,
|
634
665
|
context: {
|
635
666
|
event: 'renderComponent',
|
636
667
|
data: {
|
637
668
|
queryResult: res,
|
638
|
-
sessionResult: (_this$
|
639
|
-
paymentSessionData: (_this$
|
669
|
+
sessionResult: (_this$_renderParams2 = this._renderParams) === null || _this$_renderParams2 === void 0 ? void 0 : _this$_renderParams2.paymentSessionMetaData,
|
670
|
+
paymentSessionData: (_this$_renderParams3 = this._renderParams) === null || _this$_renderParams3 === void 0 ? void 0 : _this$_renderParams3.paymentSessionData,
|
640
671
|
heightOfVisible: Math.max(innerHeight, window.innerHeight),
|
641
672
|
envInfo: {
|
642
673
|
screenHeight: screen.height,
|
@@ -646,6 +677,10 @@ var ComponentApp = /*#__PURE__*/function () {
|
|
646
677
|
}
|
647
678
|
});
|
648
679
|
this.dispatchToApp({
|
680
|
+
name: messageName.SDK_TO_APP,
|
681
|
+
mode: this.AMSSDK.options.mode,
|
682
|
+
appId: COMPONENTPLUGINID,
|
683
|
+
instanceId: this.AMSSDK._instanceId,
|
649
684
|
context: {
|
650
685
|
event: 'web-sdk-performance',
|
651
686
|
data: {
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare function queryPaymentInfo(params?:
|
1
|
+
import { RequestConfig } from '../types';
|
2
|
+
export declare function queryPaymentInfo(params?: Record<string, any>, options?: RequestConfig): Promise<any>;
|