@alipay/ams-checkout 1.23.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 +10 -10
- package/esm/constant/index.d.ts +9 -5
- package/esm/constant/index.js +12 -78
- package/esm/core/component/ckp/index.js +6 -5
- package/esm/core/component/element/components/address.d.ts +19 -0
- package/esm/core/component/element/components/address.js +68 -0
- package/esm/core/component/element/components/auth.d.ts +17 -0
- package/esm/core/component/element/components/auth.js +60 -0
- package/esm/core/component/element/components/payment.d.ts +19 -0
- package/esm/core/component/element/components/payment.js +74 -0
- package/esm/core/component/element/index.d.ts +47 -0
- package/esm/core/component/element/index.js +816 -0
- package/esm/core/component/element/mock.d.ts +4 -0
- package/esm/core/component/element/mock.js +491 -0
- package/esm/core/component/element/type.d.ts +190 -0
- package/esm/core/component/element/type.js +35 -0
- package/esm/core/component/element/utils.d.ts +13 -0
- package/esm/core/component/element/utils.js +6 -0
- package/esm/core/component/index.d.ts +4 -4
- package/esm/core/component/index.js +14 -14
- package/esm/core/drop-in/index.js +2 -2
- package/esm/core/instance/index.js +9 -9
- package/esm/foundation/core/index.d.ts +26 -0
- package/esm/foundation/core/index.js +366 -0
- package/esm/foundation/index.d.ts +75 -0
- package/esm/foundation/index.js +42 -0
- package/esm/foundation/product-processor/easysafepay/deps.d.ts +18 -0
- package/esm/foundation/product-processor/easysafepay/deps.js +12 -0
- package/esm/foundation/product-processor/easysafepay/index.d.ts +26 -0
- package/esm/foundation/product-processor/easysafepay/index.js +463 -0
- package/esm/foundation/service/api-bus/ability/callback.d.ts +9 -0
- package/esm/foundation/service/api-bus/ability/callback.js +55 -0
- package/esm/foundation/service/api-bus/ability/globalData.d.ts +10 -0
- package/esm/foundation/service/api-bus/ability/globalData.js +89 -0
- package/esm/foundation/service/api-bus/ability/request.d.ts +10 -0
- package/esm/foundation/service/api-bus/ability/request.js +151 -0
- package/esm/foundation/service/api-bus/ability/security.d.ts +12 -0
- package/esm/foundation/service/api-bus/ability/security.js +161 -0
- package/esm/foundation/service/api-bus/ability/tracker.d.ts +9 -0
- package/esm/foundation/service/api-bus/ability/tracker.js +80 -0
- package/esm/foundation/service/api-bus/busManager.d.ts +127 -0
- package/esm/foundation/service/api-bus/busManager.js +398 -0
- package/esm/foundation/service/api-bus/index.d.ts +20 -0
- package/esm/foundation/service/api-bus/index.js +88 -0
- 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 +30 -0
- package/esm/foundation/service/container/index.js +298 -0
- package/esm/foundation/service/container/popup.d.ts +17 -0
- package/esm/foundation/service/container/popup.js +103 -0
- package/esm/foundation/service/container/utils.d.ts +7 -0
- package/esm/foundation/service/container/utils.js +48 -0
- package/esm/foundation/service/event-center.d.ts +76 -0
- package/esm/foundation/service/event-center.js +243 -0
- package/esm/foundation/service/global-data/index.d.ts +11 -0
- package/esm/foundation/service/global-data/index.js +68 -0
- package/esm/foundation/service/index.d.ts +19 -0
- package/esm/foundation/service/index.js +82 -0
- package/esm/foundation/service/log/index.d.ts +43 -0
- package/esm/foundation/service/log/index.js +235 -0
- package/esm/foundation/service/log/types.d.ts +32 -0
- package/esm/foundation/service/log/types.js +1 -0
- package/esm/foundation/service/requester/deps.d.ts +17 -0
- package/esm/foundation/service/requester/deps.js +11 -0
- package/esm/foundation/service/requester/requester.d.ts +22 -0
- package/esm/foundation/service/requester/requester.js +214 -0
- package/esm/foundation/service/security/index.d.ts +28 -0
- package/esm/foundation/service/security/index.js +286 -0
- package/esm/foundation/service/security/security.d.ts +33 -0
- package/esm/foundation/service/security/security.js +182 -0
- package/esm/foundation/utils/gray_scale_utils.d.ts +7 -0
- package/esm/foundation/utils/gray_scale_utils.js +40 -0
- package/esm/foundation/utils/payment_context_utils.d.ts +13 -0
- package/esm/foundation/utils/payment_context_utils.js +57 -0
- 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 +11 -0
- package/esm/foundation/utils/redirect_utils.js +263 -0
- package/esm/foundation/utils/system_events.d.ts +4 -0
- package/esm/foundation/utils/system_events.js +66 -0
- package/esm/foundation/utils/web_app_url_utils.d.ts +46 -0
- package/esm/foundation/utils/web_app_url_utils.js +112 -0
- package/esm/index.d.ts +12 -6
- package/esm/index.js +75 -64
- package/esm/plugin/applepay/component.js +3 -3
- package/esm/plugin/applepay/service.d.ts +2 -2
- package/esm/plugin/applepay/service.js +2 -2
- package/esm/plugin/component/cashierApp.d.ts +7 -5
- package/esm/plugin/component/cashierApp.js +15 -8
- package/esm/plugin/component/channel.d.ts +4 -4
- package/esm/plugin/component/component.inline.style.d.ts +4 -4
- package/esm/plugin/component/component.inline.style.js +10 -8
- package/esm/plugin/component/component.popup.style.d.ts +6 -6
- package/esm/plugin/component/component.popup.style.js +6 -6
- package/esm/plugin/component/index.d.ts +8 -7
- package/esm/plugin/component/index.js +160 -103
- package/esm/plugin/const.js +5 -5
- package/esm/plugin/drop-in/index.d.ts +5 -5
- package/esm/plugin/drop-in/index.js +7 -7
- package/esm/plugin/type.d.ts +3 -3
- package/esm/service/element.d.ts +4 -0
- package/esm/service/element.js +51 -0
- package/esm/service/index.d.ts +1 -0
- package/esm/service/index.js +2 -0
- package/esm/types/index.d.ts +247 -39
- package/esm/types/index.js +109 -59
- package/esm/util/createIframeNode.d.ts +2 -2
- package/esm/util/createIframeNode.js +3 -3
- package/esm/util/getBackScheme.js +95 -3
- package/esm/util/security.d.ts +2 -2
- package/esm/util/security.js +2 -2
- package/package.json +2 -1
- 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
@@ -0,0 +1,235 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
4
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
5
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
6
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
7
|
+
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; }
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
9
|
+
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); }
|
10
|
+
import { EnvironmentEnum } from "../../../types";
|
11
|
+
import { isPC } from "../../../util";
|
12
|
+
import { getStorageString, setStorageString } from "../../../util/storage";
|
13
|
+
|
14
|
+
/**
|
15
|
+
* @author 谦彧 <zhangmian.zm@alipay.com>
|
16
|
+
* @date 2024/9/18
|
17
|
+
*/
|
18
|
+
|
19
|
+
export var LogService = /*#__PURE__*/function () {
|
20
|
+
function LogService() {
|
21
|
+
_classCallCheck(this, LogService);
|
22
|
+
_defineProperty(this, "instanceId", void 0);
|
23
|
+
_defineProperty(this, "logs", void 0);
|
24
|
+
_defineProperty(this, "config", void 0);
|
25
|
+
_defineProperty(this, "debug", void 0);
|
26
|
+
// It will use to calc the timing from component creating/mounting for each event.
|
27
|
+
_defineProperty(this, "componentStartTime", void 0);
|
28
|
+
_defineProperty(this, "isLoaded", void 0);
|
29
|
+
_defineProperty(this, "trackId", void 0);
|
30
|
+
}
|
31
|
+
_createClass(LogService, [{
|
32
|
+
key: "init",
|
33
|
+
value: function init(initOptions, instanceId, sdkMetaData) {
|
34
|
+
this.logs = [];
|
35
|
+
this.config = LogConfig;
|
36
|
+
this.debug = ![EnvironmentEnum.prod, EnvironmentEnum.sandbox].includes(initOptions === null || initOptions === void 0 ? void 0 : initOptions.environment);
|
37
|
+
this.componentStartTime = 0;
|
38
|
+
this.isLoaded = false;
|
39
|
+
var deviceId = getStorageString('AMSSDK_STORAGE_ID');
|
40
|
+
if (!deviceId) {
|
41
|
+
deviceId = instanceId;
|
42
|
+
setStorageString('AMSSDK_STORAGE_ID', deviceId);
|
43
|
+
}
|
44
|
+
this.setMetaData({
|
45
|
+
instanceId: instanceId,
|
46
|
+
// use to identify a device, named from deprecated SDK
|
47
|
+
storageId: deviceId,
|
48
|
+
sdkVersion: sdkMetaData.sdkVersion,
|
49
|
+
webAppVersion: sdkMetaData.webAppVersion,
|
50
|
+
productScene: sdkMetaData.productScene,
|
51
|
+
trackId: instanceId,
|
52
|
+
platform: isPC() ? 'PC' : 'WAP'
|
53
|
+
});
|
54
|
+
this.initTracker();
|
55
|
+
this.setComponentStartTime(Date.now());
|
56
|
+
this.logInfo({
|
57
|
+
title: 'NEW_AMSSDK_BY_MECHANT',
|
58
|
+
msg: "".concat(initOptions === null || initOptions === void 0 ? void 0 : initOptions.environment, "_").concat(initOptions === null || initOptions === void 0 ? void 0 : initOptions.locale)
|
59
|
+
}).send();
|
60
|
+
}
|
61
|
+
}, {
|
62
|
+
key: "update",
|
63
|
+
value: function update(paymentContext) {
|
64
|
+
var _paymentContext$payme, _paymentContext$payme2, _paymentContext$payme3, _paymentContext$payme4;
|
65
|
+
this.setComponentStartTime(Date.now());
|
66
|
+
this.setMetaData({
|
67
|
+
firstLogTime: this.componentStartTime,
|
68
|
+
renderDisplayType: paymentContext.displayInfo.type,
|
69
|
+
merchantId: paymentContext.paymentSessionObj.clientId,
|
70
|
+
productScene: (_paymentContext$payme = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme === void 0 ? void 0 : _paymentContext$payme.productScene,
|
71
|
+
productSceneVersion: (_paymentContext$payme2 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme2 === void 0 ? void 0 : _paymentContext$payme2.productSceneVersion,
|
72
|
+
paymentMethodType: (_paymentContext$payme3 = paymentContext.paymentSessionObj.paymentMethodInfoView) === null || _paymentContext$payme3 === void 0 ? void 0 : _paymentContext$payme3.paymentMethodType,
|
73
|
+
paymentMethodCategoryType: (_paymentContext$payme4 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme4 === void 0 ? void 0 : _paymentContext$payme4.paymentMethodCategoryType,
|
74
|
+
trackId: paymentContext.paymentSessionId
|
75
|
+
});
|
76
|
+
}
|
77
|
+
}, {
|
78
|
+
key: "destroy",
|
79
|
+
value: function destroy() {}
|
80
|
+
}, {
|
81
|
+
key: "setMetaData",
|
82
|
+
value: function setMetaData(metaData) {
|
83
|
+
var _window,
|
84
|
+
_this = this;
|
85
|
+
this.config.mdata = Object.assign(this.config.mdata, metaData);
|
86
|
+
if ((_window = window) !== null && _window !== void 0 && _window.iTracker) {
|
87
|
+
var _window2;
|
88
|
+
(_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.iTracker) === null || _window2 === void 0 || _window2.set({
|
89
|
+
mdata: this.config.mdata
|
90
|
+
});
|
91
|
+
setTimeout(function () {
|
92
|
+
_this.reportLogs();
|
93
|
+
}, 80);
|
94
|
+
} else {
|
95
|
+
this.initTracker();
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}, {
|
99
|
+
key: "getLogConfig",
|
100
|
+
value: function getLogConfig() {
|
101
|
+
return this.config;
|
102
|
+
}
|
103
|
+
}, {
|
104
|
+
key: "logError",
|
105
|
+
value: function logError(error, extra) {
|
106
|
+
return this.log('error', error, extra);
|
107
|
+
}
|
108
|
+
}, {
|
109
|
+
key: "logInfo",
|
110
|
+
value: function logInfo(info, extra) {
|
111
|
+
return this.log('info', info, extra);
|
112
|
+
}
|
113
|
+
}, {
|
114
|
+
key: "log",
|
115
|
+
value: function log(type, payload, extra) {
|
116
|
+
var now = Date.now();
|
117
|
+
var fsDuration = now - this.componentStartTime;
|
118
|
+
this.logs.push({
|
119
|
+
type: type,
|
120
|
+
logPayload: payload,
|
121
|
+
extra: _objectSpread(_objectSpread({}, extra), {}, {
|
122
|
+
fsDuration: fsDuration,
|
123
|
+
timeStamp: now
|
124
|
+
})
|
125
|
+
});
|
126
|
+
if (this.debug) {
|
127
|
+
console.log('[web-sdk] Log', payload, extra);
|
128
|
+
}
|
129
|
+
this.send();
|
130
|
+
return this;
|
131
|
+
}
|
132
|
+
}, {
|
133
|
+
key: "reportLogs",
|
134
|
+
value: function reportLogs() {
|
135
|
+
var _window3;
|
136
|
+
if (!((_window3 = window) !== null && _window3 !== void 0 && _window3.iTracker)) {
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
var _window$iTracker = window.iTracker,
|
140
|
+
logError = _window$iTracker.logError,
|
141
|
+
logInfo = _window$iTracker.logInfo,
|
142
|
+
reportRPC = _window$iTracker.reportRPC;
|
143
|
+
var logs = this.logs;
|
144
|
+
while (logs.length > 0) {
|
145
|
+
try {
|
146
|
+
var log = logs.pop();
|
147
|
+
if (log.type === 'error') {
|
148
|
+
var _log$logPayload;
|
149
|
+
logError(log.logPayload, _objectSpread({
|
150
|
+
title: (_log$logPayload = log.logPayload) === null || _log$logPayload === void 0 ? void 0 : _log$logPayload.title
|
151
|
+
}, log === null || log === void 0 ? void 0 : log.extra));
|
152
|
+
} else if (log.type === 'info') {
|
153
|
+
var _log$logPayload2;
|
154
|
+
logInfo(log.logPayload, _objectSpread({
|
155
|
+
title: (_log$logPayload2 = log.logPayload) === null || _log$logPayload2 === void 0 ? void 0 : _log$logPayload2.title
|
156
|
+
}, log === null || log === void 0 ? void 0 : log.extra));
|
157
|
+
} else if (log.type === 'rpc') {
|
158
|
+
var _log$logPayload3;
|
159
|
+
reportRPC(log.logPayload, _objectSpread({
|
160
|
+
title: (_log$logPayload3 = log.logPayload) === null || _log$logPayload3 === void 0 ? void 0 : _log$logPayload3.title
|
161
|
+
}, log === null || log === void 0 ? void 0 : log.extra));
|
162
|
+
}
|
163
|
+
} catch (error) {
|
164
|
+
console.error('Error occurred while calling iTracker method:', error);
|
165
|
+
}
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}, {
|
169
|
+
key: "loadScript",
|
170
|
+
value: function loadScript(url, callback) {
|
171
|
+
var script = document.createElement('script');
|
172
|
+
script.type = 'text/javascript';
|
173
|
+
script.src = url;
|
174
|
+
script.onload = callback;
|
175
|
+
script.onerror = function () {
|
176
|
+
console.error("unable to load Antom script: ".concat(url));
|
177
|
+
};
|
178
|
+
document.body.appendChild(script);
|
179
|
+
}
|
180
|
+
}, {
|
181
|
+
key: "initTracker",
|
182
|
+
value: function initTracker() {
|
183
|
+
var _this2 = this;
|
184
|
+
if (this.isLoaded) return;
|
185
|
+
this.isLoaded = true;
|
186
|
+
try {
|
187
|
+
if (typeof localStorage !== 'undefined') {
|
188
|
+
this.loadScript(this.config.scriptUrl, function () {
|
189
|
+
var _window4;
|
190
|
+
(_window4 = window) === null || _window4 === void 0 || _window4.iTracker.initiTracker(_this2.config);
|
191
|
+
setTimeout(function () {
|
192
|
+
_this2.reportLogs();
|
193
|
+
}, 80);
|
194
|
+
});
|
195
|
+
}
|
196
|
+
} catch (error) {
|
197
|
+
console.error('Failed to initialize iTracker:', error);
|
198
|
+
}
|
199
|
+
}
|
200
|
+
}, {
|
201
|
+
key: "send",
|
202
|
+
value: function send() {
|
203
|
+
var _window5;
|
204
|
+
if ((_window5 = window) !== null && _window5 !== void 0 && _window5.iTracker) {
|
205
|
+
this.reportLogs();
|
206
|
+
} else {
|
207
|
+
this.initTracker();
|
208
|
+
}
|
209
|
+
}
|
210
|
+
}, {
|
211
|
+
key: "setComponentStartTime",
|
212
|
+
value: function setComponentStartTime(val) {
|
213
|
+
this.componentStartTime = val;
|
214
|
+
}
|
215
|
+
}, {
|
216
|
+
key: "getComponentStartTime",
|
217
|
+
value: function getComponentStartTime() {
|
218
|
+
return this.componentStartTime;
|
219
|
+
}
|
220
|
+
}]);
|
221
|
+
return LogService;
|
222
|
+
}();
|
223
|
+
var LogConfig = {
|
224
|
+
scriptUrl: 'https://gw.alipayobjects.com/render/p/yuyan_npm/@alipay_intl-tracker/1.6.0/dist/common.min.js',
|
225
|
+
spmConfig: {},
|
226
|
+
batchCount: 1,
|
227
|
+
appId: 'antom_sdk',
|
228
|
+
server: 'https://imdap-sea.alipay.com/loggw/dwcookieLogGet.do',
|
229
|
+
bizType: 'antom_sdk',
|
230
|
+
productId: 'ANTOM_SDK',
|
231
|
+
version: 'iteration/20231021',
|
232
|
+
mdata: {
|
233
|
+
firstLogTime: Date.now()
|
234
|
+
}
|
235
|
+
};
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/**
|
2
|
+
* @author 谦彧 <zhangmian.zm@alipay.com>
|
3
|
+
* @date 2024/9/18
|
4
|
+
*/
|
5
|
+
export interface LogPayload {
|
6
|
+
title?: string;
|
7
|
+
msg?: string;
|
8
|
+
name?: string;
|
9
|
+
label?: string;
|
10
|
+
time?: number;
|
11
|
+
success?: boolean;
|
12
|
+
code?: string;
|
13
|
+
traceId?: string;
|
14
|
+
}
|
15
|
+
export type LogExtra = Record<string, any>;
|
16
|
+
export interface LogMetaData {
|
17
|
+
platform?: string;
|
18
|
+
sdkVersion?: string;
|
19
|
+
webAppVersion?: string;
|
20
|
+
firstLogTime?: number;
|
21
|
+
fsDuration?: number;
|
22
|
+
instanceId?: string;
|
23
|
+
storageId?: string;
|
24
|
+
renderDisplayType?: string;
|
25
|
+
merchantId?: string;
|
26
|
+
productScene?: string;
|
27
|
+
productSceneVersion?: string;
|
28
|
+
paymentMethodType?: string;
|
29
|
+
paymentMethodCategoryType?: string;
|
30
|
+
requestSeq?: string;
|
31
|
+
trackId?: string;
|
32
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* 这个文件暂时先用来存放架构升级时不稳定的依赖。
|
3
|
+
* 以及方便单测时mock外部依赖
|
4
|
+
*/
|
5
|
+
export type { SDKMetaData } from "../..";
|
6
|
+
export type { LogPayload, LogExtra } from '../log/types';
|
7
|
+
export type { LogService } from '../log';
|
8
|
+
export type { Service, PaymentContext } from '../../index';
|
9
|
+
export { fomatGetwayError } from '../../../request/utils';
|
10
|
+
export type { IoptionsParams, IPaymentSessionMetaData } from '../../../types';
|
11
|
+
export { sdkVersion } from '../../../config/index';
|
12
|
+
export { appId, hostSignMap, lightSandboxMap, requestHost, sofaId, tntInstId } from '../../../config/request';
|
13
|
+
export type { RequestConfig } from '../../../types';
|
14
|
+
export { errorEnum } from '../../../types';
|
15
|
+
export { get } from '../../../util/get';
|
16
|
+
export { device, isPC, queryParse, safeJson } from '../../../util';
|
17
|
+
export type { Logger } from '../../../util/logger';
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* 这个文件暂时先用来存放架构升级时不稳定的依赖。
|
3
|
+
* 以及方便单测时mock外部依赖
|
4
|
+
*/
|
5
|
+
|
6
|
+
export { fomatGetwayError } from "../../../request/utils";
|
7
|
+
export { sdkVersion } from "../../../config/index";
|
8
|
+
export { appId, hostSignMap, lightSandboxMap, requestHost, sofaId, tntInstId } from "../../../config/request";
|
9
|
+
export { errorEnum } from "../../../types";
|
10
|
+
export { get } from "../../../util/get";
|
11
|
+
export { device, isPC, queryParse, safeJson } from "../../../util";
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { IoptionsParams, PaymentContext, RequestConfig, SDKMetaData, Service } from './deps';
|
2
|
+
/**
|
3
|
+
* @author congle.zzq <congle.zzq@alipay.com>
|
4
|
+
* @date 2024/9/18
|
5
|
+
*/
|
6
|
+
export declare class RequesterService implements Service {
|
7
|
+
private sandboxFlag?;
|
8
|
+
private instanceId;
|
9
|
+
init(initOptions: IoptionsParams, instanceId: string, sdkMetaData: SDKMetaData): void;
|
10
|
+
/**
|
11
|
+
*
|
12
|
+
* @param requestData 请求参数
|
13
|
+
* @param options 请求配置
|
14
|
+
* @example request({ name: 'test' }, { operation-type: 'xxx.xxx.xxx' })
|
15
|
+
*/
|
16
|
+
request<T>(requestData: Record<string, any> | undefined, options: RequestConfig): Promise<T>;
|
17
|
+
getEnvInfo(options: RequestConfig): any;
|
18
|
+
private reportRequestTimeCost;
|
19
|
+
update(paymentSession: PaymentContext): void;
|
20
|
+
destroy(): void;
|
21
|
+
private createRequestInstance;
|
22
|
+
}
|
@@ -0,0 +1,214 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
5
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
6
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
7
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
8
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
9
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
10
|
+
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; }
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
12
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
13
|
+
import axios from 'axios';
|
14
|
+
import { ServiceProvider } from '..';
|
15
|
+
import { errorEnum } from "./deps";
|
16
|
+
import { appId, device, fomatGetwayError, get, hostSignMap, isPC, lightSandboxMap, queryParse, requestHost, safeJson, sdkVersion, sofaId, tntInstId } from "./deps";
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @author congle.zzq <congle.zzq@alipay.com>
|
20
|
+
* @date 2024/9/18
|
21
|
+
*/
|
22
|
+
export var RequesterService = /*#__PURE__*/function () {
|
23
|
+
function RequesterService() {
|
24
|
+
_classCallCheck(this, RequesterService);
|
25
|
+
_defineProperty(this, "sandboxFlag", void 0);
|
26
|
+
_defineProperty(this, "instanceId", void 0);
|
27
|
+
}
|
28
|
+
_createClass(RequesterService, [{
|
29
|
+
key: "init",
|
30
|
+
value: function init(initOptions, instanceId, sdkMetaData) {
|
31
|
+
// TODO record init SDK timing
|
32
|
+
// 在页面打开时就读取_sandbox 标记
|
33
|
+
var _queryParse = queryParse(),
|
34
|
+
_sandbox = _queryParse._sandbox;
|
35
|
+
this.sandboxFlag = _sandbox;
|
36
|
+
this.instanceId = instanceId;
|
37
|
+
}
|
38
|
+
|
39
|
+
/**
|
40
|
+
*
|
41
|
+
* @param requestData 请求参数
|
42
|
+
* @param options 请求配置
|
43
|
+
* @example request({ name: 'test' }, { operation-type: 'xxx.xxx.xxx' })
|
44
|
+
*/
|
45
|
+
}, {
|
46
|
+
key: "request",
|
47
|
+
value: (function () {
|
48
|
+
var _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestData, options) {
|
49
|
+
var envInfo, _data, startTime, traceId, myRequest, _yield$myRequest, data, headers, resData, handleGetWayError, errorMessage, errorCode, _error$message, _error, timeoutCode, _errorCode;
|
50
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
51
|
+
while (1) switch (_context.prev = _context.next) {
|
52
|
+
case 0:
|
53
|
+
envInfo = this.getEnvInfo(options);
|
54
|
+
_data = [_objectSpread(_objectSpread({}, requestData), {}, {
|
55
|
+
envInfo: envInfo,
|
56
|
+
extParams: _objectSpread(_objectSpread({}, requestData === null || requestData === void 0 ? void 0 : requestData.extParams), {}, {
|
57
|
+
refUrl: window.location.href
|
58
|
+
})
|
59
|
+
})];
|
60
|
+
startTime = Date.now();
|
61
|
+
traceId = '';
|
62
|
+
_context.prev = 4;
|
63
|
+
myRequest = this.createRequestInstance(options);
|
64
|
+
_context.next = 8;
|
65
|
+
return myRequest({
|
66
|
+
data: _data
|
67
|
+
});
|
68
|
+
case 8:
|
69
|
+
_yield$myRequest = _context.sent;
|
70
|
+
data = _yield$myRequest.data;
|
71
|
+
headers = _yield$myRequest.headers;
|
72
|
+
resData = data || {};
|
73
|
+
traceId = get(headers, 'Mgw-TraceId') || get(headers, 'mgw-traceid', '');
|
74
|
+
resData.traceId = traceId || '';
|
75
|
+
handleGetWayError = fomatGetwayError(headers, traceId);
|
76
|
+
if (!(handleGetWayError !== null && handleGetWayError !== void 0 && handleGetWayError.errorCode)) {
|
77
|
+
_context.next = 20;
|
78
|
+
break;
|
79
|
+
}
|
80
|
+
errorMessage = (resData === null || resData === void 0 ? void 0 : resData.errorMessage) || (handleGetWayError === null || handleGetWayError === void 0 ? void 0 : handleGetWayError.errorMessage);
|
81
|
+
errorCode = handleGetWayError === null || handleGetWayError === void 0 ? void 0 : handleGetWayError.errorCode;
|
82
|
+
this.reportRequestTimeCost({
|
83
|
+
name: options === null || options === void 0 ? void 0 : options['Operation-Type'],
|
84
|
+
label: 'request',
|
85
|
+
time: Date.now() - startTime,
|
86
|
+
success: false,
|
87
|
+
code: errorCode,
|
88
|
+
msg: errorMessage,
|
89
|
+
traceId: traceId
|
90
|
+
});
|
91
|
+
throw new Error(JSON.stringify({
|
92
|
+
errorMessage: errorMessage,
|
93
|
+
errorCode: errorCode,
|
94
|
+
success: false
|
95
|
+
}));
|
96
|
+
case 20:
|
97
|
+
this.reportRequestTimeCost({
|
98
|
+
name: options === null || options === void 0 ? void 0 : options['Operation-Type'],
|
99
|
+
label: 'request',
|
100
|
+
time: Date.now() - startTime,
|
101
|
+
success: true,
|
102
|
+
code: 'SUCCESS',
|
103
|
+
msg: '',
|
104
|
+
traceId: traceId
|
105
|
+
});
|
106
|
+
return _context.abrupt("return", resData);
|
107
|
+
case 24:
|
108
|
+
_context.prev = 24;
|
109
|
+
_context.t0 = _context["catch"](4);
|
110
|
+
_error = safeJson(_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.message, {
|
111
|
+
success: false,
|
112
|
+
errorCode: errorEnum.SYSTEM,
|
113
|
+
traceId: traceId,
|
114
|
+
errorMessage: _context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.message
|
115
|
+
});
|
116
|
+
timeoutCode = _context.t0 !== null && _context.t0 !== void 0 && (_error$message = _context.t0.message) !== null && _error$message !== void 0 && _error$message.includes('timeout') ? errorEnum.TIMEOUT : '';
|
117
|
+
_errorCode = (_error === null || _error === void 0 ? void 0 : _error.errorCode) || timeoutCode;
|
118
|
+
this.reportRequestTimeCost({
|
119
|
+
name: options === null || options === void 0 ? void 0 : options['Operation-Type'],
|
120
|
+
label: 'request',
|
121
|
+
time: Date.now() - startTime,
|
122
|
+
success: false,
|
123
|
+
code: _errorCode,
|
124
|
+
msg: JSON.stringify((_error === null || _error === void 0 ? void 0 : _error.message) || _context.t0)
|
125
|
+
});
|
126
|
+
return _context.abrupt("return", Promise.reject({
|
127
|
+
success: false,
|
128
|
+
errorCode: _errorCode,
|
129
|
+
traceId: traceId,
|
130
|
+
errorMessage: _error === null || _error === void 0 ? void 0 : _error.message
|
131
|
+
}));
|
132
|
+
case 31:
|
133
|
+
case "end":
|
134
|
+
return _context.stop();
|
135
|
+
}
|
136
|
+
}, _callee, this, [[4, 24]]);
|
137
|
+
}));
|
138
|
+
function request(_x, _x2) {
|
139
|
+
return _request.apply(this, arguments);
|
140
|
+
}
|
141
|
+
return request;
|
142
|
+
}())
|
143
|
+
}, {
|
144
|
+
key: "getEnvInfo",
|
145
|
+
value: function getEnvInfo(options) {
|
146
|
+
var _options$envInfo;
|
147
|
+
var envInfo = _objectSpread(_objectSpread({
|
148
|
+
terminalType: isPC() ? 'WEB' : 'WAP',
|
149
|
+
browserInfo: {
|
150
|
+
browserJavaScriptEnabled: true,
|
151
|
+
browserLanguage: navigator.language,
|
152
|
+
browserUserAgent: navigator.userAgent,
|
153
|
+
browserColorDepth: screen.colorDepth
|
154
|
+
},
|
155
|
+
deviceLanguage: navigator.language,
|
156
|
+
screenWidth: screen.width,
|
157
|
+
screenHeight: screen.height,
|
158
|
+
timeZoneOffset: new Date().getTimezoneOffset()
|
159
|
+
}, options === null || options === void 0 ? void 0 : options.envInfo), {}, {
|
160
|
+
locale: (options === null || options === void 0 || (_options$envInfo = options.envInfo) === null || _options$envInfo === void 0 ? void 0 : _options$envInfo.locale) || 'en_US'
|
161
|
+
});
|
162
|
+
try {
|
163
|
+
var _navigator;
|
164
|
+
envInfo.browserInfo.browserJavaEnabled = ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.javaEnabled()) || false;
|
165
|
+
// eslint-disable-next-line no-empty
|
166
|
+
} catch (error) {}
|
167
|
+
if (envInfo.terminalType === 'WAP') envInfo.osType = device.iOS ? 'IOS' : 'ANDROID';
|
168
|
+
return envInfo;
|
169
|
+
}
|
170
|
+
}, {
|
171
|
+
key: "reportRequestTimeCost",
|
172
|
+
value: function reportRequestTimeCost(rpcData, extra) {
|
173
|
+
var logService = ServiceProvider.getInstance(this.instanceId).getService('Log');
|
174
|
+
logService.log('rpc', rpcData, extra);
|
175
|
+
}
|
176
|
+
}, {
|
177
|
+
key: "update",
|
178
|
+
value: function update(paymentSession) {}
|
179
|
+
}, {
|
180
|
+
key: "destroy",
|
181
|
+
value: function destroy() {}
|
182
|
+
}, {
|
183
|
+
key: "createRequestInstance",
|
184
|
+
value: function createRequestInstance(options) {
|
185
|
+
var _options$timeout, _options$withCredenti;
|
186
|
+
var date = new Date(); // 获取当前时间
|
187
|
+
var timestamp = date.getTime(); // 获取时间戳
|
188
|
+
var utcTimestamp = timestamp + date.getTimezoneOffset() * 60 * 1000; // 获取 UTC 时间戳
|
189
|
+
var env = options.env || 'prod';
|
190
|
+
var lightSandboxConfig = lightSandboxMap(options['Operation-Type'], env); // light_sandbox
|
191
|
+
|
192
|
+
var baseURL = options.baseURL || lightSandboxConfig.baseURL || hostSignMap(options === null || options === void 0 ? void 0 : options.hostSign, env) || requestHost[env];
|
193
|
+
var _headers = _objectSpread(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
194
|
+
appId: lightSandboxConfig.appId || appId,
|
195
|
+
workspaceId: options.env === 'pre' ? 'pre' : 'default'
|
196
|
+
}, "x-cors-".concat(appId.toLowerCase(), "-default"), '1'), "version", '2.0'), 'sofa-group-name', lightSandboxConfig.sofaId || sofaId), 'Operation-Type', lightSandboxConfig['Operation-Type'] || options['Operation-Type'] || ''), 'Client-Time', utcTimestamp), "tntInstId", tntInstId), 'sdk-version', sdkVersion || ''), options.headers);
|
197
|
+
// sandbox 影子链路
|
198
|
+
if (this.sandboxFlag === 'true' || env === 'sandbox') {
|
199
|
+
_headers['load-test'] = true;
|
200
|
+
_headers.sofaPenAttrs = 'instMock=O&loadMode=2';
|
201
|
+
}
|
202
|
+
if (env !== 'dev') delete _headers['sofa-group-name'];
|
203
|
+
var instance = axios.create({
|
204
|
+
baseURL: baseURL,
|
205
|
+
timeout: (_options$timeout = options.timeout) !== null && _options$timeout !== void 0 ? _options$timeout : 15000,
|
206
|
+
headers: _headers,
|
207
|
+
withCredentials: (_options$withCredenti = options.withCredentials) !== null && _options$withCredenti !== void 0 ? _options$withCredenti : true,
|
208
|
+
method: (options === null || options === void 0 ? void 0 : options.method) || 'POST'
|
209
|
+
});
|
210
|
+
return instance.request;
|
211
|
+
}
|
212
|
+
}]);
|
213
|
+
return RequesterService;
|
214
|
+
}();
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { DeviceIdParameter, IoptionsParams } from '../../../types';
|
2
|
+
import { PaymentContext, SDKMetaData, Service } from '../../index';
|
3
|
+
import { Security } from './security';
|
4
|
+
export declare class SecurityService implements Service {
|
5
|
+
private logger;
|
6
|
+
private productScene;
|
7
|
+
static securitySdkMap: Map<string, Security>;
|
8
|
+
init(initOptions: IoptionsParams, instanceId: string, sdkMetaData: SDKMetaData): void;
|
9
|
+
update(paymentContext: PaymentContext): void;
|
10
|
+
destroy(): void;
|
11
|
+
getDeviceId(deviceIdParameter?: DeviceIdParameter, isPolling?: boolean): Promise<string>;
|
12
|
+
preInitSecurity(timeout?: number): Promise<void>;
|
13
|
+
initSecurity(timeout?: number): Promise<void>;
|
14
|
+
private _initSecurity;
|
15
|
+
private logDeviceId;
|
16
|
+
/**
|
17
|
+
* @description Obtain security SDK through scenario identification
|
18
|
+
*/
|
19
|
+
private _getSecuritySDKByProductScene;
|
20
|
+
/**
|
21
|
+
* @description New security SDK through scenario identification
|
22
|
+
*/
|
23
|
+
private _newSecuritySDKByScene;
|
24
|
+
/**
|
25
|
+
* @description Obtain risk control configuration in local storage
|
26
|
+
*/
|
27
|
+
private _getSecurityConfigStorage;
|
28
|
+
}
|