@alipay/ams-checkout 1.24.0 → 1.25.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/umd/ams-checkout.min.js +1 -1
- package/esm/component/channel.d.ts +19 -0
- package/esm/component/channel.js +87 -0
- package/esm/component/component.inline.style.d.ts +10 -0
- package/esm/component/component.inline.style.js +121 -0
- package/esm/component/component.popup.style.d.ts +23 -0
- package/esm/component/component.popup.style.js +190 -0
- package/esm/component/popupWindow.style.d.ts +11 -0
- package/esm/component/popupWindow.style.js +121 -0
- package/esm/config/index.d.ts +7 -7
- package/esm/config/index.js +7 -7
- package/esm/constant/index.d.ts +3 -5
- package/esm/constant/index.js +4 -78
- package/esm/core/bus/interface.d.ts +0 -12
- package/esm/core/bus/interface.js +2 -16
- package/esm/core/component/address.d.ts +2 -2
- package/esm/core/component/appPreloadProcessing.js +0 -2
- package/esm/core/component/ckp/index.d.ts +3 -3
- package/esm/core/component/element/components/address.js +1 -1
- package/esm/core/component/element/components/auth.d.ts +1 -1
- package/esm/core/component/element/components/payment.js +1 -1
- package/esm/core/component/element/index.js +19 -19
- package/esm/core/component/element/type.d.ts +6 -0
- package/esm/core/component/index.d.ts +2 -2
- package/esm/core/component/index.js +2 -6
- package/esm/core/drop-in/index.d.ts +2 -2
- package/esm/core/instance/index.d.ts +5 -5
- package/esm/core/instance/index.js +1 -2
- package/esm/foundation/core/index.d.ts +5 -5
- package/esm/foundation/core/index.js +117 -52
- package/esm/foundation/index.d.ts +10 -7
- package/esm/foundation/product-processor/easysafepay/deps.d.ts +8 -5
- package/esm/foundation/product-processor/easysafepay/deps.js +5 -2
- package/esm/foundation/product-processor/easysafepay/index.d.ts +6 -6
- package/esm/foundation/product-processor/easysafepay/index.js +192 -265
- package/esm/foundation/service/{event-bus → api-bus}/ability/callback.js +1 -1
- package/esm/foundation/service/{event-bus → api-bus}/ability/globalData.d.ts +1 -1
- package/esm/{core/bus → foundation/service/api-bus}/ability/globalData.js +2 -2
- package/esm/{core/bus → foundation/service/api-bus}/ability/request.d.ts +1 -1
- package/esm/{core/bus → foundation/service/api-bus}/ability/request.js +2 -2
- package/esm/foundation/service/{event-bus → api-bus}/ability/security.js +29 -19
- package/esm/foundation/service/{event-bus → api-bus}/ability/tracker.js +1 -1
- package/esm/foundation/service/{event-bus → api-bus}/busManager.js +1 -1
- package/esm/foundation/service/{event-bus → api-bus}/index.d.ts +2 -2
- package/esm/foundation/service/api-bus/interface.d.ts +48 -0
- package/esm/foundation/service/api-bus/interface.js +54 -0
- package/esm/foundation/service/container/index.d.ts +4 -2
- package/esm/foundation/service/container/index.js +47 -5
- package/esm/foundation/service/container/popup.js +1 -1
- package/esm/foundation/service/event-center.d.ts +6 -5
- package/esm/foundation/service/event-center.js +16 -17
- package/esm/foundation/service/global-data/index.d.ts +2 -2
- package/esm/foundation/service/global-data/index.js +4 -5
- package/esm/foundation/service/index.d.ts +2 -2
- package/esm/foundation/service/index.js +1 -1
- package/esm/foundation/service/log/index.d.ts +2 -2
- package/esm/foundation/service/log/index.js +1 -1
- package/esm/foundation/service/requester/deps.d.ts +1 -1
- package/esm/foundation/service/requester/requester.d.ts +2 -2
- package/esm/foundation/service/requester/requester.js +14 -11
- package/esm/foundation/service/security/index.d.ts +11 -9
- package/esm/foundation/service/security/index.js +114 -44
- package/esm/foundation/utils/payment_product_utils.d.ts +13 -0
- package/esm/foundation/utils/payment_product_utils.js +38 -0
- package/esm/foundation/utils/redirect_utils.d.ts +5 -0
- package/esm/foundation/utils/redirect_utils.js +209 -45
- package/esm/foundation/utils/system_events.js +0 -5
- package/esm/foundation/utils/web_app_url_utils.d.ts +11 -2
- package/esm/foundation/utils/web_app_url_utils.js +18 -3
- package/esm/index.d.ts +12 -12
- package/esm/index.js +31 -31
- package/esm/plugin/component/cashierApp.d.ts +3 -3
- package/esm/plugin/component/cashierApp.js +9 -10
- package/esm/plugin/component/component.inline.style.d.ts +1 -1
- package/esm/plugin/component/component.inline.style.js +2 -3
- package/esm/plugin/component/component.popup.style.d.ts +1 -10
- package/esm/plugin/component/component.popup.style.js +10 -28
- package/esm/plugin/component/index.d.ts +1 -1
- package/esm/plugin/component/index.js +64 -62
- package/esm/plugin/payment-element/utils.d.ts +1 -1
- package/esm/plugin/payment-element/utils.js +1 -2
- package/esm/plugin/type.d.ts +1 -1
- package/esm/types/index.d.ts +17 -11
- package/esm/types/index.js +7 -1
- package/esm/util/getBackScheme.js +95 -3
- package/esm/util/index.d.ts +1 -1
- package/esm/util/index.js +4 -3
- package/esm/util/security.d.ts +33 -0
- package/esm/{foundation/service/event-bus/ability/request.js → util/security.js} +153 -122
- package/package.json +1 -1
- package/esm/core/bus/ability/globalData.d.ts +0 -10
- package/esm/foundation/service/event-bus/ability/globalData.js +0 -89
- package/esm/foundation/service/event-bus/ability/request.d.ts +0 -10
- package/esm/foundation/types/index.d.ts +0 -4
- package/esm/foundation/types/index.js +0 -4
- package/esm/util/ua/index.d.ts +0 -2
- package/esm/util/ua/index.js +0 -2
- package/esm/util/ua/isAndroid.d.ts +0 -4
- package/esm/util/ua/isAndroid.js +0 -7
- package/esm/util/ua/isIOS.d.ts +0 -4
- package/esm/util/ua/isIOS.js +0 -7
- /package/esm/foundation/service/{event-bus → api-bus}/ability/callback.d.ts +0 -0
- /package/esm/foundation/service/{event-bus → api-bus}/ability/security.d.ts +0 -0
- /package/esm/foundation/service/{event-bus → api-bus}/ability/tracker.d.ts +0 -0
- /package/esm/foundation/service/{event-bus → api-bus}/busManager.d.ts +0 -0
- /package/esm/foundation/service/{event-bus → api-bus}/index.js +0 -0
@@ -7,7 +7,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
7
7
|
import { eventCodeEnum, RedirectType, TargetEnum } from "../../types";
|
8
8
|
import { ServiceProvider } from "../service";
|
9
9
|
import { isPC } from "../../util";
|
10
|
-
import CallApp from "../../util/intl-callapp/es";
|
10
|
+
import CallApp from "../../util/intl-callapp/es/index";
|
11
11
|
import { EVENT } from "../../constant";
|
12
12
|
|
13
13
|
/**
|
@@ -20,56 +20,86 @@ export var redirect = function redirect(payload, instanceId) {
|
|
20
20
|
logService.logInfo({
|
21
21
|
title: 'sdk_event_call_url_start'
|
22
22
|
}, _objectSpread({}, payload)).send();
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
return;
|
40
|
-
}
|
41
|
-
if (!payload.schemeUrl && !payload.applinkUrl) {
|
42
|
-
successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
|
43
|
-
window.location.href = payload.url;
|
44
|
-
}
|
45
|
-
// Use callApp lib to evoke
|
46
|
-
// TODO replace to npm
|
47
|
-
var callAppLib = new CallApp({
|
48
|
-
successCb: function successCb(evokeAppBy) {
|
49
|
-
var type = evokeAppBy.type == 'Scheme' ? RedirectType.SchemeUrl : RedirectType.ApplinkUrl;
|
50
|
-
successCallback(payload, type, evokeAppBy.url, serviceProvider);
|
23
|
+
try {
|
24
|
+
if (payload.isCallApp && payload.schemeUrl) {
|
25
|
+
var detectSuccessDelay = payload.callAppDetectSuccessDelay;
|
26
|
+
var _callAppLib = new CallApp({
|
27
|
+
successCb: function successCb() {
|
28
|
+
successCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, serviceProvider);
|
29
|
+
},
|
30
|
+
resultJudgmentTime: detectSuccessDelay
|
31
|
+
});
|
32
|
+
_callAppLib.open({
|
33
|
+
scheme: payload.schemeUrl,
|
34
|
+
fallback: function fallback() {
|
35
|
+
failCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, serviceProvider);
|
36
|
+
}
|
37
|
+
});
|
38
|
+
return;
|
51
39
|
}
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
40
|
+
// 支持 target: _blank,新开tab页打开
|
41
|
+
if (payload.browserLinkTarget === TargetEnum.BLANK) {
|
42
|
+
if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
|
43
|
+
successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
|
44
|
+
window.open(payload.url);
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
if (payload.browserLinkTarget === TargetEnum.REPLACE && !(payload !== null && payload !== void 0 && payload.applinkUrl) && !(payload !== null && payload !== void 0 && payload.schemeUrl)) {
|
48
|
+
if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
|
49
|
+
successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
|
50
|
+
window.location.replace(payload.url);
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
if (isPC()) {
|
54
|
+
if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
|
55
|
+
successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
|
56
|
+
window.location.href = payload.url;
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
if (!payload.schemeUrl && !payload.applinkUrl) {
|
60
|
+
if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
|
61
|
+
successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
|
62
|
+
window.location.href = payload.url;
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
// Use callApp lib to evoke
|
66
|
+
var callAppLib = new CallApp({
|
67
|
+
successCb: function successCb(evokeAppBy) {
|
68
|
+
var type = evokeAppBy.type == 'Scheme' ? RedirectType.SchemeUrl : RedirectType.ApplinkUrl;
|
69
|
+
successCallback(payload, type, evokeAppBy.url, serviceProvider);
|
59
70
|
}
|
71
|
+
});
|
72
|
+
var callSchemeUrl = function callSchemeUrl() {
|
60
73
|
callAppLib.open({
|
61
74
|
scheme: payload.schemeUrl,
|
62
75
|
fallback: function fallback() {
|
63
|
-
|
64
|
-
if (payload.
|
65
|
-
failCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, payload, serviceProvider);
|
66
|
-
}
|
67
|
-
window.location.href = payload.url;
|
76
|
+
failCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, serviceProvider);
|
77
|
+
if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
|
68
78
|
successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
|
79
|
+
window.location.href = payload.url;
|
80
|
+
}
|
81
|
+
});
|
82
|
+
};
|
83
|
+
if (payload.applinkUrl) {
|
84
|
+
callAppLib.open({
|
85
|
+
link: payload.applinkUrl,
|
86
|
+
fallback: function fallback() {
|
87
|
+
failCallback(payload, RedirectType.ApplinkUrl, payload.applinkUrl, serviceProvider);
|
88
|
+
// Applink evoke failed, try to use scheme url
|
89
|
+
callSchemeUrl();
|
69
90
|
}
|
70
91
|
});
|
92
|
+
} else if (payload.schemeUrl) {
|
93
|
+
callSchemeUrl();
|
71
94
|
}
|
72
|
-
})
|
95
|
+
} catch (e) {
|
96
|
+
serviceProvider.getService('Log').logInfo({
|
97
|
+
title: 'sdk_event_call_url_failed'
|
98
|
+
}, {
|
99
|
+
redirectInfo: JSON.stringify(payload),
|
100
|
+
errorMessage: JSON.stringify(e)
|
101
|
+
}).send();
|
102
|
+
}
|
73
103
|
};
|
74
104
|
var successCallback = function successCallback(payload, type, url, serviceProvider) {
|
75
105
|
serviceProvider.getService('EventCenter').emit(EVENT.eventCallback.name, {
|
@@ -84,10 +114,10 @@ var successCallback = function successCallback(payload, type, url, serviceProvid
|
|
84
114
|
url: url
|
85
115
|
}).send();
|
86
116
|
};
|
87
|
-
var failCallback = function failCallback(payload, type, url,
|
117
|
+
var failCallback = function failCallback(payload, type, url, serviceProvider) {
|
88
118
|
serviceProvider.getService('EventCenter').emit(EVENT.eventCallback.name, {
|
89
119
|
code: eventCodeEnum.SDK_CALL_URL_ERROR,
|
90
|
-
message: "Failed to open app,applinkUrl: ".concat(
|
120
|
+
message: "Failed to open app,applinkUrl: ".concat(payload === null || payload === void 0 ? void 0 : payload.applinkUrl, " schemeUrl: ").concat(payload === null || payload === void 0 ? void 0 : payload.schemeUrl, " normalUrl: ").concat(payload === null || payload === void 0 ? void 0 : payload.url)
|
91
121
|
});
|
92
122
|
serviceProvider.getService('Log').logInfo({
|
93
123
|
title: 'sdk_error_call_url_failed'
|
@@ -96,4 +126,138 @@ var failCallback = function failCallback(payload, type, url, behaviorData, servi
|
|
96
126
|
openType: type,
|
97
127
|
url: url
|
98
128
|
}).send();
|
99
|
-
};
|
129
|
+
};
|
130
|
+
var UA_MATCH_RULES = [{
|
131
|
+
matchRule: 'AppleWebKit\\/([0-9\\.]+).* Version\\/([0-9\\._]+) Mobile\\/([0-9\\._A-Z]+) Safari\\/([0-9\\._]+)$',
|
132
|
+
iosScheme: 'https',
|
133
|
+
andScheme: ''
|
134
|
+
}, {
|
135
|
+
matchRule: 'HeyTapBrowser',
|
136
|
+
iosScheme: '',
|
137
|
+
andScheme: ''
|
138
|
+
}, {
|
139
|
+
matchRule: 'HuaweiBrowser',
|
140
|
+
iosScheme: '',
|
141
|
+
andScheme: ''
|
142
|
+
}, {
|
143
|
+
matchRule: 'Kwai',
|
144
|
+
iosScheme: 'kwai',
|
145
|
+
andScheme: ''
|
146
|
+
}, {
|
147
|
+
matchRule: 'MQQBrowser',
|
148
|
+
iosScheme: 'mttbrowser',
|
149
|
+
andScheme: ''
|
150
|
+
}, {
|
151
|
+
matchRule: 'MicroMessenger',
|
152
|
+
iosScheme: '',
|
153
|
+
andScheme: ''
|
154
|
+
}, {
|
155
|
+
matchRule: 'MiuiBrowser',
|
156
|
+
iosScheme: '',
|
157
|
+
andScheme: ''
|
158
|
+
}, {
|
159
|
+
matchRule: 'Mozilla\\/([0-9\\.]+).* AppleWebKit\\/([0-9\\.]+).* CriOS\\/([0-9\\._]+) Mobile\\/([0-9\\._A-Z\\._a-z]+) Safari\\/([0-9\\._]+)$',
|
160
|
+
iosScheme: 'googlechrome',
|
161
|
+
andScheme: ''
|
162
|
+
}, {
|
163
|
+
matchRule: 'Mozilla\\/([0-9\\.]+).* AppleWebKit\\/([0-9\\.]+).* Version\\/([0-9\\._]+) Mobile Safari\\/([0-9\\._]+)$',
|
164
|
+
iosScheme: 'googlechrome',
|
165
|
+
andScheme: ''
|
166
|
+
}, {
|
167
|
+
matchRule: 'NewsArticle',
|
168
|
+
iosScheme: 'snssdk141',
|
169
|
+
andScheme: ''
|
170
|
+
}, {
|
171
|
+
matchRule: 'UCBrowser',
|
172
|
+
iosScheme: 'ucbrowser',
|
173
|
+
andScheme: ''
|
174
|
+
}, {
|
175
|
+
matchRule: 'VideoArticle',
|
176
|
+
iosScheme: 'snssdk32',
|
177
|
+
andScheme: ''
|
178
|
+
}, {
|
179
|
+
matchRule: 'VivoBrowser',
|
180
|
+
iosScheme: '',
|
181
|
+
andScheme: ''
|
182
|
+
}, {
|
183
|
+
matchRule: 'ZhongAnWebView',
|
184
|
+
iosScheme: 'zaapp',
|
185
|
+
andScheme: ''
|
186
|
+
}, {
|
187
|
+
matchRule: 'aweme',
|
188
|
+
iosScheme: 'snssdk1128',
|
189
|
+
andScheme: ''
|
190
|
+
}, {
|
191
|
+
matchRule: 'aweme_lite',
|
192
|
+
iosScheme: 'snssdk2329',
|
193
|
+
andScheme: ''
|
194
|
+
}, {
|
195
|
+
matchRule: 'com.xs.fm',
|
196
|
+
iosScheme: 'novelfm3040',
|
197
|
+
andScheme: ''
|
198
|
+
}, {
|
199
|
+
matchRule: 'netdisk',
|
200
|
+
iosScheme: '',
|
201
|
+
andScheme: ''
|
202
|
+
}, {
|
203
|
+
matchRule: 'qqnews',
|
204
|
+
iosScheme: 'qqnews',
|
205
|
+
andScheme: ''
|
206
|
+
}];
|
207
|
+
|
208
|
+
/**
|
209
|
+
* 通过配置规则检测 UA 和获得回跳 scheme
|
210
|
+
*/
|
211
|
+
export function getBackScheme(mockUa, logger) {
|
212
|
+
var ua = mockUa || window.navigator.userAgent || '';
|
213
|
+
// 获取规则
|
214
|
+
var uaMatchedRule = UA_MATCH_RULES;
|
215
|
+
var matchedRule;
|
216
|
+
var matched = null;
|
217
|
+
for (var i = 0; i < uaMatchedRule.length; i++) {
|
218
|
+
var rule = uaMatchedRule[i];
|
219
|
+
matched = ua.match(rule.matchRule);
|
220
|
+
if (matched) {
|
221
|
+
matchedRule = rule;
|
222
|
+
break;
|
223
|
+
}
|
224
|
+
}
|
225
|
+
if (!matchedRule) {
|
226
|
+
logBackScheme(logger, ua, '');
|
227
|
+
return;
|
228
|
+
}
|
229
|
+
if (isAndroid(ua)) {
|
230
|
+
logBackScheme(logger, ua, matchedRule.andScheme);
|
231
|
+
return matchedRule.andScheme;
|
232
|
+
}
|
233
|
+
if (isIOS(ua)) {
|
234
|
+
logBackScheme(logger, ua, matchedRule.iosScheme);
|
235
|
+
return matchedRule.iosScheme;
|
236
|
+
}
|
237
|
+
}
|
238
|
+
function logBackScheme(logger, userAgent, scheme) {
|
239
|
+
if (logger) {
|
240
|
+
logger.logInfo({
|
241
|
+
title: 'a3753.b101271.c377460'
|
242
|
+
}, {
|
243
|
+
userAgent: userAgent,
|
244
|
+
backScheme: scheme
|
245
|
+
});
|
246
|
+
}
|
247
|
+
}
|
248
|
+
|
249
|
+
/**
|
250
|
+
* 当前运行环境是否 Android
|
251
|
+
*/
|
252
|
+
function isAndroid(mockUA) {
|
253
|
+
var ua = (mockUA || navigator.userAgent).toLowerCase();
|
254
|
+
return /android|adr|linux/.test(ua);
|
255
|
+
}
|
256
|
+
|
257
|
+
/**
|
258
|
+
* 当前运行环境是否 IOS
|
259
|
+
*/
|
260
|
+
function isIOS(mockUA) {
|
261
|
+
var ua = (mockUA || navigator.userAgent).toLowerCase();
|
262
|
+
return /iphone|ipad|ipod|ios|macintosh/.test(ua);
|
263
|
+
}
|
@@ -22,9 +22,6 @@ export var registerSystemEvents = function registerSystemEvents(eventCenter) {
|
|
22
22
|
form.submit();
|
23
23
|
}, 0);
|
24
24
|
};
|
25
|
-
var handleHeartBeat = function handleHeartBeat(data) {
|
26
|
-
// TODO:
|
27
|
-
};
|
28
25
|
var handleBeforeSubmit = function handleBeforeSubmit(data) {
|
29
26
|
if (eventCenter.isExist(EVENT.beforeSubmit.name)) {
|
30
27
|
eventCenter.emit(EVENT.beforeSubmit.name, data);
|
@@ -52,7 +49,6 @@ export var registerSystemEvents = function registerSystemEvents(eventCenter) {
|
|
52
49
|
});
|
53
50
|
};
|
54
51
|
eventCenter.listen(EVENT.submitForm.name, handleSubmitForm);
|
55
|
-
eventCenter.listen(EVENT.appHeartBeat.name, handleHeartBeat);
|
56
52
|
eventCenter.listen(EVENT.beforeSubmit.name, handleBeforeSubmit);
|
57
53
|
eventCenter.listen(EVENT.sendBroadcast.name, handleSendBroadcast);
|
58
54
|
// deprecated
|
@@ -60,7 +56,6 @@ export var registerSystemEvents = function registerSystemEvents(eventCenter) {
|
|
60
56
|
};
|
61
57
|
export var unRegisterSystemEvents = function unRegisterSystemEvents(eventCenter) {
|
62
58
|
eventCenter.unlisten(EVENT.submitForm.name);
|
63
|
-
eventCenter.unlisten(EVENT.appHeartBeat.name);
|
64
59
|
eventCenter.unlisten(EVENT.beforeSubmit.name);
|
65
60
|
eventCenter.unlisten(EVENT.sendBroadcast.name);
|
66
61
|
eventCenter.unlisten(EVENT.sendMuitiAppEventToSdk.name);
|
@@ -21,17 +21,26 @@ export interface QueryParams {
|
|
21
21
|
locale: string;
|
22
22
|
instanceId: string;
|
23
23
|
analyticsEnabled: boolean;
|
24
|
-
isPreload
|
24
|
+
isPreload?: string;
|
25
25
|
hostSign?: string;
|
26
26
|
}
|
27
|
-
export declare const
|
27
|
+
export declare const getWebAppUrlInfo: (params: {
|
28
28
|
environment: string;
|
29
29
|
sdkMetaData: SDKMetaData;
|
30
30
|
productSceneVersion: string;
|
31
31
|
paymentMethodCategoryType: PaymentMethodCategoryTypeEnum;
|
32
|
+
isPreload?: boolean;
|
32
33
|
query: QueryParams;
|
33
34
|
}) => {
|
34
35
|
path: string;
|
35
36
|
locationSearch: string;
|
36
37
|
};
|
38
|
+
export declare const getWebAppUrl: (params: {
|
39
|
+
environment: string;
|
40
|
+
sdkMetaData: SDKMetaData;
|
41
|
+
productSceneVersion: string;
|
42
|
+
paymentMethodCategoryType: PaymentMethodCategoryTypeEnum;
|
43
|
+
isPreload?: boolean;
|
44
|
+
query: QueryParams;
|
45
|
+
}) => string;
|
37
46
|
export declare const parseWebAppMatchConfig: (extendInfo: string) => WebAppMatchConfig[];
|
@@ -12,12 +12,13 @@ import { isDebugLog } from "../../util/debug";
|
|
12
12
|
* Sent by server inside paymentSession.
|
13
13
|
*/
|
14
14
|
|
15
|
-
export var
|
15
|
+
export var getWebAppUrlInfo = function getWebAppUrlInfo(params) {
|
16
16
|
var environment = params.environment,
|
17
17
|
sdkMetaData = params.sdkMetaData,
|
18
18
|
productSceneVersion = params.productSceneVersion,
|
19
19
|
paymentMethodCategoryType = params.paymentMethodCategoryType,
|
20
|
-
query = params.query
|
20
|
+
query = params.query,
|
21
|
+
isPreload = params.isPreload;
|
21
22
|
var path = getAppPath(environment, sdkMetaData, productSceneVersion, paymentMethodCategoryType);
|
22
23
|
var _queryParse = queryParse(),
|
23
24
|
_sandbox = _queryParse._sandbox,
|
@@ -32,6 +33,10 @@ export var getWebAppUrl = function getWebAppUrl(params) {
|
|
32
33
|
for (var key in query) {
|
33
34
|
urlParams[key] = '' + query[key];
|
34
35
|
}
|
36
|
+
// 如果是preload模式,添加一个preload的query参数
|
37
|
+
if (isPreload) {
|
38
|
+
urlParams['isPreload'] = 'true';
|
39
|
+
}
|
35
40
|
urlParams.appMatched = sdkMetaData.webAppVersion ? 'true' : 'false';
|
36
41
|
urlParams.sdkVersion = sdkMetaData.sdkVersion;
|
37
42
|
urlParams.refUrl = window.location.href;
|
@@ -52,6 +57,16 @@ export var getWebAppUrl = function getWebAppUrl(params) {
|
|
52
57
|
locationSearch: locationSearch
|
53
58
|
};
|
54
59
|
};
|
60
|
+
export var getWebAppUrl = function getWebAppUrl(params) {
|
61
|
+
var info = getWebAppUrlInfo(params);
|
62
|
+
var webAppUrl;
|
63
|
+
if (info.path.indexOf('?') !== -1) {
|
64
|
+
webAppUrl = "".concat(info.path, "&").concat(info.locationSearch);
|
65
|
+
} else {
|
66
|
+
webAppUrl = "".concat(info.path, "?").concat(info.locationSearch);
|
67
|
+
}
|
68
|
+
return webAppUrl;
|
69
|
+
};
|
55
70
|
var getAppPath = function getAppPath() {
|
56
71
|
var environment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'prod';
|
57
72
|
var sdkMetaData = arguments.length > 1 ? arguments[1] : undefined;
|
@@ -83,7 +98,7 @@ export var parseWebAppMatchConfig = function parseWebAppMatchConfig(extendInfo)
|
|
83
98
|
};
|
84
99
|
var getValidProductSceneVersion = function getValidProductSceneVersion(productScene, productSceneVer, paymentMethodCategoryType) {
|
85
100
|
var _supportMapping;
|
86
|
-
var supportMapping = (_supportMapping = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_supportMapping, 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(_supportMapping, ComponentSignEnum.ELEMENT_ADDRESS, ['1.0']));
|
101
|
+
var supportMapping = (_supportMapping = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_supportMapping, 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(_supportMapping, ComponentSignEnum.ELEMENT_ADDRESS, ['1.0']), ComponentSignEnum.CHECKOUT_PAYMENT, ['1.0']));
|
87
102
|
var targetVersions = supportMapping[productScene + '_' + paymentMethodCategoryType];
|
88
103
|
if (!targetVersions) {
|
89
104
|
return '';
|
package/esm/index.d.ts
CHANGED
@@ -1,31 +1,26 @@
|
|
1
1
|
import { AddressComponent } from './core/component/address';
|
2
2
|
import { ElementComponent } from './core/component/element';
|
3
3
|
import { AMSComponent } from './core/component/index';
|
4
|
-
import { ComponentSignEnum, IcreateComponent, IElementOptions, IoptionsAddressParams,
|
4
|
+
import { ComponentSignEnum, IcreateComponent, IElementOptions, IoptionsAddressParams, IoptionsParams } from './types';
|
5
5
|
export { AMSCheckoutPage } from './core/component/ckp';
|
6
6
|
export * from './types';
|
7
7
|
export declare class AMSCheckout extends AMSComponent {
|
8
|
-
constructor(_options:
|
8
|
+
constructor(_options: IoptionsParams, channelType?: ComponentSignEnum[], productSceneVersion?: string);
|
9
9
|
}
|
10
10
|
export declare class AMSAutoDebit extends AMSCheckout {
|
11
|
-
constructor(options:
|
11
|
+
constructor(options: IoptionsParams);
|
12
12
|
}
|
13
13
|
export declare class AMSAutoDebitPay extends AMSCheckout {
|
14
|
-
constructor(options:
|
15
|
-
}
|
16
|
-
export declare class AMSEasyPay {
|
17
|
-
private core;
|
18
|
-
constructor(options: IOptionsParams);
|
19
|
-
createComponent(params: IcreateComponent): void;
|
14
|
+
constructor(options: IoptionsParams);
|
20
15
|
}
|
21
16
|
export declare class AMSCashierPayment extends AMSCheckout {
|
22
|
-
constructor(options:
|
17
|
+
constructor(options: IoptionsParams);
|
23
18
|
}
|
24
19
|
export declare class AMSVaulting extends AMSCheckout {
|
25
|
-
constructor(options:
|
20
|
+
constructor(options: IoptionsParams);
|
26
21
|
}
|
27
22
|
export declare class AntomElement extends AMSCheckout {
|
28
|
-
constructor(options:
|
23
|
+
constructor(options: IoptionsParams);
|
29
24
|
}
|
30
25
|
export declare class AddressElement extends AddressComponent {
|
31
26
|
constructor(options: IoptionsAddressParams);
|
@@ -34,3 +29,8 @@ export declare class Element extends ElementComponent {
|
|
34
29
|
constructor(options: IElementOptions);
|
35
30
|
}
|
36
31
|
export default AMSCheckout;
|
32
|
+
export declare class AMSEasyPay {
|
33
|
+
private core;
|
34
|
+
constructor(options: IoptionsParams);
|
35
|
+
createComponent(params: IcreateComponent): void;
|
36
|
+
}
|
package/esm/index.js
CHANGED
@@ -21,18 +21,18 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
21
21
|
* 1. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE; and
|
22
22
|
* 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.
|
23
23
|
*/
|
24
|
-
import { ADDRESSElementAppVersion, AMSAutoDebitAppVersion, AMSCashierPaymentAppVersion, AMSCheckoutAppVersion,
|
24
|
+
import { ADDRESSElementAppVersion, AMSAutoDebitAppVersion, AMSCashierPaymentAppVersion, AMSCheckoutAppVersion, AMSPaymentElementAppVersion, AMSVaultingAppVersion } from "./config/index";
|
25
25
|
import { AddressComponent } from "./core/component/address";
|
26
26
|
import { ElementComponent } from "./core/component/element";
|
27
27
|
import { AMSComponent } from "./core/component/index";
|
28
|
-
import { AntomSDKCore } from "./foundation/core";
|
29
|
-
import { EasySafePayProcessor } from "./foundation/product-processor/easysafepay";
|
30
28
|
import { ComponentSignEnum, DisplayTypeEnum } from "./types";
|
31
29
|
import { ProductSceneEnum } from "./types/index";
|
32
30
|
import { LogConfig, Logger } from "./util/logger";
|
33
31
|
var logger = new Logger(LogConfig, true);
|
34
32
|
export { AMSCheckoutPage } from "./core/component/ckp";
|
35
33
|
export * from "./types";
|
34
|
+
import { AntomSDKCore } from "./foundation/core";
|
35
|
+
import { EasySafePayProcessor } from "./foundation/product-processor/easysafepay";
|
36
36
|
export var AMSCheckout = /*#__PURE__*/function (_AMSComponent) {
|
37
37
|
_inherits(AMSCheckout, _AMSComponent);
|
38
38
|
var _super = _createSuper(AMSCheckout);
|
@@ -67,38 +67,12 @@ export var AMSAutoDebitPay = /*#__PURE__*/function (_AMSCheckout2) {
|
|
67
67
|
function AMSAutoDebitPay(options) {
|
68
68
|
_classCallCheck(this, AMSAutoDebitPay);
|
69
69
|
var _options = Object.assign({}, options, {
|
70
|
-
product: ProductSceneEnum.AUTO_DEBIT_PAY
|
71
|
-
appVersion: AMSEasyPayAppVersion
|
70
|
+
product: ProductSceneEnum.AUTO_DEBIT_PAY
|
72
71
|
});
|
73
72
|
return _super3.call(this, _options, [ComponentSignEnum.AUTO_DEBIT_PAY_WALLET]);
|
74
73
|
}
|
75
74
|
return _createClass(AMSAutoDebitPay);
|
76
75
|
}(AMSCheckout);
|
77
|
-
export var AMSEasyPay = /*#__PURE__*/function () {
|
78
|
-
function AMSEasyPay(options) {
|
79
|
-
_classCallCheck(this, AMSEasyPay);
|
80
|
-
_defineProperty(this, "core", void 0);
|
81
|
-
this.core = new AntomSDKCore();
|
82
|
-
this.core.registerProcessor(ProductSceneEnum.EASY_PAY, '', new EasySafePayProcessor());
|
83
|
-
this.core.init(options, ProductSceneEnum.EASY_PAY);
|
84
|
-
}
|
85
|
-
_createClass(AMSEasyPay, [{
|
86
|
-
key: "createComponent",
|
87
|
-
value: function createComponent(params) {
|
88
|
-
this.core.startBizFlow({
|
89
|
-
submitPayRequestExtra: {
|
90
|
-
notRedirectAfterComplete: params.notRedirectAfterComplete,
|
91
|
-
merchantAppointParam: params.merchantAppointParam
|
92
|
-
},
|
93
|
-
paymentSession: params.sessionData || params.paymentSessionData,
|
94
|
-
displayInfo: {
|
95
|
-
type: DisplayTypeEnum.popup
|
96
|
-
}
|
97
|
-
});
|
98
|
-
}
|
99
|
-
}]);
|
100
|
-
return AMSEasyPay;
|
101
|
-
}();
|
102
76
|
export var AMSCashierPayment = /*#__PURE__*/function (_AMSCheckout3) {
|
103
77
|
_inherits(AMSCashierPayment, _AMSCheckout3);
|
104
78
|
var _super4 = _createSuper(AMSCashierPayment);
|
@@ -183,4 +157,30 @@ export var Element = /*#__PURE__*/function (_ElementComponent) {
|
|
183
157
|
}
|
184
158
|
return _createClass(Element);
|
185
159
|
}(ElementComponent);
|
186
|
-
export default AMSCheckout;
|
160
|
+
export default AMSCheckout;
|
161
|
+
export var AMSEasyPay = /*#__PURE__*/function () {
|
162
|
+
function AMSEasyPay(options) {
|
163
|
+
_classCallCheck(this, AMSEasyPay);
|
164
|
+
_defineProperty(this, "core", void 0);
|
165
|
+
this.core = new AntomSDKCore();
|
166
|
+
this.core.registerProcessor(ProductSceneEnum.EASY_PAY, '', new EasySafePayProcessor());
|
167
|
+
this.core.init(options, ProductSceneEnum.EASY_PAY);
|
168
|
+
}
|
169
|
+
_createClass(AMSEasyPay, [{
|
170
|
+
key: "createComponent",
|
171
|
+
value: function createComponent(params) {
|
172
|
+
this.core.startBizFlow({
|
173
|
+
submitPayRequestExtra: {
|
174
|
+
notRedirectAfterComplete: params.notRedirectAfterComplete,
|
175
|
+
merchantAppointParam: params.merchantAppointParam
|
176
|
+
},
|
177
|
+
paymentSession: params.sessionData || params.paymentSessionData,
|
178
|
+
displayInfo: {
|
179
|
+
type: DisplayTypeEnum.popup
|
180
|
+
},
|
181
|
+
isAppWebview: params.isAppWebview
|
182
|
+
});
|
183
|
+
}
|
184
|
+
}]);
|
185
|
+
return AMSEasyPay;
|
186
|
+
}();
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ComponentSignEnum, Ianalytics, DisplayTypeEnum } from '../../types';
|
2
|
-
export declare const getAppPath: (environment: string, appVersion: string, componentSign: ComponentSignEnum, productScene: string, productSceneVersion: string, extendInfo: string, mid: string, sendLog?: boolean,
|
2
|
+
export declare const getAppPath: (environment: string, appVersion: string, componentSign: ComponentSignEnum, productScene: string, productSceneVersion: string, extendInfo: string, mid: string, sendLog?: boolean, elementLink?: string) => any;
|
3
3
|
export declare const getAppDomain: (domainParams: {
|
4
4
|
environment: string;
|
5
5
|
appVersion: string;
|
@@ -8,7 +8,7 @@ export declare const getAppDomain: (domainParams: {
|
|
8
8
|
productSceneVersion: string;
|
9
9
|
extendInfo: string;
|
10
10
|
mid: string;
|
11
|
-
|
11
|
+
elementLink: string;
|
12
12
|
}) => string;
|
13
13
|
export declare const getIframeUrl: (iframeParams: {
|
14
14
|
componentSign: ComponentSignEnum;
|
@@ -23,7 +23,7 @@ export declare const getIframeUrl: (iframeParams: {
|
|
23
23
|
renderDisplayType: DisplayTypeEnum;
|
24
24
|
isPreload?: string;
|
25
25
|
hostSign?: string;
|
26
|
-
|
26
|
+
elementLink?: string;
|
27
27
|
mid?: string;
|
28
28
|
}) => {
|
29
29
|
path: string;
|
@@ -59,8 +59,7 @@ var getAppVersion = function getAppVersion(_extendInfo, productScene, mid) {
|
|
59
59
|
};
|
60
60
|
var getFinalProductSceneVersion = function getFinalProductSceneVersion(componentSign, productSceneVersion) {
|
61
61
|
var _signSupportMap;
|
62
|
-
|
63
|
-
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(_signSupportMap, ComponentSignEnum.ELEMENT_ADDRESS, ['1.0']));
|
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(_signSupportMap, ComponentSignEnum.ELEMENT_ADDRESS, ['1.0']), ComponentSignEnum.CHECKOUT_PAYMENT, ['1.0.0']));
|
64
63
|
var supportProductSceneVersion = signSupportMap[componentSign] || [];
|
65
64
|
// 从左到右,从旧到新
|
66
65
|
var isSupport = supportProductSceneVersion.find(function (it) {
|
@@ -78,7 +77,7 @@ export var getAppPath = function getAppPath() {
|
|
78
77
|
var extendInfo = arguments.length > 5 ? arguments[5] : undefined;
|
79
78
|
var mid = arguments.length > 6 ? arguments[6] : undefined;
|
80
79
|
var sendLog = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
81
|
-
var
|
80
|
+
var elementLink = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : '';
|
82
81
|
var _ref = queryParse() || {},
|
83
82
|
urlTestHost = _ref.host;
|
84
83
|
var upgradeAppVersion = getAppVersion(extendInfo, productScene, mid, sendLog);
|
@@ -96,8 +95,8 @@ export var getAppPath = function getAppPath() {
|
|
96
95
|
}
|
97
96
|
var finalProductSceneVersion = getFinalProductSceneVersion(componentSign, productSceneVersion);
|
98
97
|
// only for test while testurl?host=https://xxxxx.test.html
|
99
|
-
if (
|
100
|
-
return
|
98
|
+
if (elementLink) {
|
99
|
+
return elementLink;
|
101
100
|
}
|
102
101
|
if (urlTestHost && !['sandbox', 'light_sandbox', 'prod'].includes(environment)) {
|
103
102
|
return urlTestHost;
|
@@ -133,9 +132,9 @@ export var getAppDomain = function getAppDomain(domainParams) {
|
|
133
132
|
productSceneVersion = domainParams.productSceneVersion,
|
134
133
|
extendInfo = domainParams.extendInfo,
|
135
134
|
mid = domainParams.mid,
|
136
|
-
|
135
|
+
elementLink = domainParams.elementLink;
|
137
136
|
var reg = /^https?:\/\/([^/<>\s]+\.?)*/;
|
138
|
-
var macth = reg.exec(getAppPath(environment, appVersion, componentSign, productScene, productSceneVersion, extendInfo, mid, false,
|
137
|
+
var macth = reg.exec(getAppPath(environment, appVersion, componentSign, productScene, productSceneVersion, extendInfo, mid, false, elementLink));
|
139
138
|
return macth && macth[0] || '';
|
140
139
|
};
|
141
140
|
export var getIframeUrl = function getIframeUrl(iframeParams) {
|
@@ -158,9 +157,9 @@ export var getIframeUrl = function getIframeUrl(iframeParams) {
|
|
158
157
|
hostSign = _iframeParams$hostSig === void 0 ? '' : _iframeParams$hostSig,
|
159
158
|
_iframeParams$mid = iframeParams.mid,
|
160
159
|
mid = _iframeParams$mid === void 0 ? '' : _iframeParams$mid,
|
161
|
-
_iframeParams$
|
162
|
-
|
163
|
-
var path = getAppPath(environment, appVersion, componentSign, productScene, productSceneVersion, extendInfo || '', mid, true,
|
160
|
+
_iframeParams$element = iframeParams.elementLink,
|
161
|
+
elementLink = _iframeParams$element === void 0 ? '' : _iframeParams$element;
|
162
|
+
var path = getAppPath(environment, appVersion, componentSign, productScene, productSceneVersion, extendInfo || '', mid, true, elementLink);
|
164
163
|
var appMatched = getMatchAppVersion(extendInfo, {
|
165
164
|
sdkVersion: sdkVersion,
|
166
165
|
productScene: productScene,
|
@@ -5,6 +5,6 @@ interface Options {
|
|
5
5
|
isExpressCheckout?: boolean;
|
6
6
|
}
|
7
7
|
export declare const inlineComponentAddCss: () => void;
|
8
|
-
export declare const addInlineLoading: (_selector: HTMLDivElement, platform: PlatformEnum, options
|
8
|
+
export declare const addInlineLoading: (_selector: HTMLDivElement, platform: PlatformEnum, options: Options) => void;
|
9
9
|
export declare const createInlineBaseElement: (selector: string, containerId?: string, selectorId?: string) => HTMLDivElement;
|
10
10
|
export {};
|