@alipay/ams-checkout 0.0.1762138227-dev.1 → 0.0.1762138227-dev.10
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/ams-checkout.js +1 -0
- package/dist/umd/ams-checkout.min.js +1 -1
- package/esm/loader/Proxy.js +111 -87
- package/esm/loader/constant.d.ts +3 -0
- package/esm/loader/constant.js +5 -4
- package/esm/loader/utils/loadSDK.d.ts +6 -1
- package/esm/loader/utils/loadSDK.js +21 -4
- package/esm/loader/utils/proxyPerformance.d.ts +20 -0
- package/esm/loader/utils/proxyPerformance.js +66 -0
- package/esm/plugin/component/cashierApp.js +2 -0
- package/esm/util/integrationType.js +0 -3
- package/package.json +2 -1
package/esm/loader/Proxy.js
CHANGED
|
@@ -20,6 +20,7 @@ import { supportsDefineProperty, supportsProxy } from "./utils/common";
|
|
|
20
20
|
import { setDebugContext } from "./utils/debugger";
|
|
21
21
|
import { loadSdk, newActualInstance } from "./utils/loadSDK";
|
|
22
22
|
import { consoleLogger, logger } from "./utils/logger";
|
|
23
|
+
import { setProxyEndTime, setProxyStartTime } from "./utils/proxyPerformance";
|
|
23
24
|
|
|
24
25
|
// eslint-disable-next-line
|
|
25
26
|
|
|
@@ -29,7 +30,6 @@ import { consoleLogger, logger } from "./utils/logger";
|
|
|
29
30
|
|
|
30
31
|
// eslint-disable-next-line
|
|
31
32
|
export function createBaseProxy(constructorName) {
|
|
32
|
-
var _this = this;
|
|
33
33
|
var _newProxyInstance = function _newProxyInstance(self) {
|
|
34
34
|
return new Proxy(self, {
|
|
35
35
|
get: function get(target, prop) {
|
|
@@ -126,98 +126,66 @@ export function createBaseProxy(constructorName) {
|
|
|
126
126
|
});
|
|
127
127
|
return instanceForError;
|
|
128
128
|
};
|
|
129
|
-
|
|
130
|
-
// 使用Promise.then来抛出错误对象 构造一个虚拟错误对象来模拟产品实例,其中所有的API都会在.then中返回错误对象
|
|
131
|
-
var throwErrorWithPromise = function throwErrorWithPromise(errorObj) {
|
|
132
|
-
var message = errorObj.error.message;
|
|
133
|
-
var instanceForError = _newInstanceForError(errorObj);
|
|
134
|
-
_this.actualInstance = instanceForError;
|
|
135
|
-
_this.hasActualInstance = true;
|
|
136
|
-
_this.executePendingCalls();
|
|
137
|
-
logger.logError({
|
|
138
|
-
title: message
|
|
139
|
-
}, {
|
|
140
|
-
errorMessage: message,
|
|
141
|
-
constructorName: constructorName
|
|
142
|
-
});
|
|
143
|
-
consoleLogger.error(message);
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// 使用onEventCallback向外抛出SDK内部错误
|
|
147
|
-
var throwErrorWithOnEventCallback = function throwErrorWithOnEventCallback(errorObj, newProps) {
|
|
148
|
-
var onEventCallbackFn = newProps === null || newProps === void 0 ? void 0 : newProps.onEventCallback;
|
|
149
|
-
var message = errorObj.message;
|
|
150
|
-
if (typeof onEventCallbackFn === 'function') {
|
|
151
|
-
onEventCallbackFn === null || onEventCallbackFn === void 0 || onEventCallbackFn.call(null, errorObj);
|
|
152
|
-
}
|
|
153
|
-
logger.logError({
|
|
154
|
-
title: message
|
|
155
|
-
}, {
|
|
156
|
-
errorMessage: message,
|
|
157
|
-
constructorName: constructorName
|
|
158
|
-
});
|
|
159
|
-
consoleLogger.error(message);
|
|
160
|
-
};
|
|
161
|
-
var onCreateInstanceError = function onCreateInstanceError(newProps) {
|
|
162
|
-
// 不同实例进行不同的错误处理方案
|
|
163
|
-
if (constructorName === EConstructorName.AMSElement) {
|
|
164
|
-
throwErrorWithPromise({
|
|
165
|
-
error: {
|
|
166
|
-
code: 'INTERNAL_ERROR',
|
|
167
|
-
message: 'create_actual_instance_error'
|
|
168
|
-
},
|
|
169
|
-
status: 'FAIL'
|
|
170
|
-
});
|
|
171
|
-
} else if (constructorName === EConstructorName.AMSEasyPay) {
|
|
172
|
-
throwErrorWithOnEventCallback({
|
|
173
|
-
code: 'SDK_INTERNAL_ERROR',
|
|
174
|
-
message: 'create_actual_instance_error'
|
|
175
|
-
}, newProps);
|
|
176
|
-
} else {
|
|
177
|
-
throwErrorWithOnEventCallback({
|
|
178
|
-
code: 'SDK_INTERNAL_ERROR',
|
|
179
|
-
message: 'create_actual_instance_error'
|
|
180
|
-
}, newProps);
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
var onLoadSDKError = function onLoadSDKError(newProps) {
|
|
184
|
-
if (constructorName === EConstructorName.AMSElement) {
|
|
185
|
-
throwErrorWithPromise({
|
|
186
|
-
error: {
|
|
187
|
-
code: 'INITIALIZE_WEB_TIMEOUT',
|
|
188
|
-
message: 'load_sdk_resource_error'
|
|
189
|
-
},
|
|
190
|
-
status: 'FAIL'
|
|
191
|
-
});
|
|
192
|
-
} else if (constructorName === EConstructorName.AMSEasyPay) {
|
|
193
|
-
throwErrorWithOnEventCallback({
|
|
194
|
-
code: 'SDK_INTERNAL_ERROR',
|
|
195
|
-
message: 'load_sdk_resource_error'
|
|
196
|
-
}, newProps);
|
|
197
|
-
} else {
|
|
198
|
-
throwErrorWithOnEventCallback({
|
|
199
|
-
code: 'SDK_INTERNAL_ERROR',
|
|
200
|
-
message: 'load_sdk_resource_error'
|
|
201
|
-
}, newProps);
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
129
|
var BaseProxy = /*#__PURE__*/function () {
|
|
205
130
|
// 返回代理实例对象
|
|
206
|
-
function BaseProxy(
|
|
131
|
+
function BaseProxy(_newProps, debugProps) {
|
|
132
|
+
var _this = this;
|
|
207
133
|
_classCallCheck(this, BaseProxy);
|
|
208
134
|
_defineProperty(this, "hasActualInstance", false);
|
|
209
135
|
_defineProperty(this, "pendingCalls", []);
|
|
210
136
|
_defineProperty(this, "actualInstance", null);
|
|
211
137
|
_defineProperty(this, "proxyInstance", null);
|
|
212
138
|
_defineProperty(this, "startTime", 0);
|
|
139
|
+
_defineProperty(this, "onCreateInstanceError", function (newProps) {
|
|
140
|
+
// 不同实例进行不同的错误处理方案
|
|
141
|
+
if (constructorName === EConstructorName.AMSElement) {
|
|
142
|
+
_this.throwErrorWithPromise({
|
|
143
|
+
error: {
|
|
144
|
+
code: 'UI_STATE_ERROR',
|
|
145
|
+
message: 'create_actual_instance_error'
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
} else if (constructorName === EConstructorName.AMSEasyPay) {
|
|
149
|
+
_this.throwErrorWithOnEventCallback({
|
|
150
|
+
code: 'SDK_INTERNAL_ERROR',
|
|
151
|
+
message: 'create_actual_instance_error'
|
|
152
|
+
}, newProps);
|
|
153
|
+
} else {
|
|
154
|
+
_this.throwErrorWithOnEventCallback({
|
|
155
|
+
code: 'SDK_INTERNAL_ERROR',
|
|
156
|
+
message: 'create_actual_instance_error'
|
|
157
|
+
}, newProps);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
_defineProperty(this, "onLoadSDKError", function (newProps) {
|
|
161
|
+
if (constructorName === EConstructorName.AMSElement) {
|
|
162
|
+
_this.throwErrorWithPromise({
|
|
163
|
+
error: {
|
|
164
|
+
code: 'INITIALIZE_WEB_TIMEOUT',
|
|
165
|
+
message: 'load_sdk_resource_error'
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
} else if (constructorName === EConstructorName.AMSEasyPay) {
|
|
169
|
+
_this.throwErrorWithOnEventCallback({
|
|
170
|
+
code: 'SDK_INTERNAL_ERROR',
|
|
171
|
+
message: 'load_sdk_resource_error'
|
|
172
|
+
}, newProps);
|
|
173
|
+
} else {
|
|
174
|
+
_this.throwErrorWithOnEventCallback({
|
|
175
|
+
code: 'SDK_INTERNAL_ERROR',
|
|
176
|
+
message: 'load_sdk_resource_error'
|
|
177
|
+
}, newProps);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
213
180
|
this.startTime = Date.now();
|
|
214
|
-
|
|
215
181
|
// 初始化debug参数
|
|
216
182
|
setDebugContext(debugProps);
|
|
183
|
+
// 记录开始时间
|
|
184
|
+
setProxyStartTime(constructorName, this.startTime);
|
|
217
185
|
// 创建代理实例
|
|
218
186
|
this.proxyInstance = this.newProxyInstance();
|
|
219
187
|
// 加载sdk并创建真实实例
|
|
220
|
-
this.loadSDKAndCreateInstance(constructorName,
|
|
188
|
+
this.loadSDKAndCreateInstance(constructorName, _newProps);
|
|
221
189
|
logger.logInfo({
|
|
222
190
|
title: 'create_proxy_instance_success'
|
|
223
191
|
});
|
|
@@ -229,29 +197,48 @@ export function createBaseProxy(constructorName) {
|
|
|
229
197
|
key: "loadSDKAndCreateInstance",
|
|
230
198
|
value: function loadSDKAndCreateInstance(constructorName, newProps) {
|
|
231
199
|
var _this2 = this;
|
|
232
|
-
loadSdk().then(function () {
|
|
200
|
+
loadSdk().then(function (_ref) {
|
|
201
|
+
var loadType = _ref.loadType;
|
|
233
202
|
try {
|
|
234
203
|
var actualInstance = newActualInstance(constructorName, newProps);
|
|
235
|
-
|
|
204
|
+
var newActualInstanceDuration = Date.now() - _this2.startTime;
|
|
205
|
+
// 记录结束时间
|
|
206
|
+
setProxyEndTime(constructorName, Date.now());
|
|
207
|
+
// 上报newProxy到初始化真实sdk实例花费时间,忽略SDK缓存场景
|
|
236
208
|
logger.logInfo({
|
|
237
|
-
title: '
|
|
209
|
+
title: 'loadSDK_and_create_actual_instance'
|
|
238
210
|
}, {
|
|
239
|
-
|
|
211
|
+
constructorName: constructorName,
|
|
212
|
+
loadDuration: loadType === 'network' ? newActualInstanceDuration : undefined
|
|
240
213
|
});
|
|
214
|
+
// 热更新全流程成功率监控
|
|
241
215
|
logger.logInfo({
|
|
242
|
-
title: '
|
|
216
|
+
title: 'create_antom_instance'
|
|
243
217
|
}, {
|
|
244
|
-
constructorName: constructorName
|
|
218
|
+
constructorName: constructorName,
|
|
219
|
+
result: 'Y'
|
|
245
220
|
});
|
|
246
221
|
consoleLogger.log('create_actual_instance_success');
|
|
247
222
|
_this2.actualInstance = actualInstance;
|
|
248
223
|
_this2.hasActualInstance = true;
|
|
249
224
|
_this2.executePendingCalls();
|
|
250
225
|
} catch (error) {
|
|
251
|
-
|
|
226
|
+
logger.logInfo({
|
|
227
|
+
title: 'create_antom_instance'
|
|
228
|
+
}, {
|
|
229
|
+
constructorName: constructorName,
|
|
230
|
+
result: 'N'
|
|
231
|
+
});
|
|
232
|
+
_this2.onCreateInstanceError(newProps);
|
|
252
233
|
}
|
|
253
234
|
}).catch(function () {
|
|
254
|
-
|
|
235
|
+
logger.logInfo({
|
|
236
|
+
title: 'create_antom_instance'
|
|
237
|
+
}, {
|
|
238
|
+
constructorName: constructorName,
|
|
239
|
+
result: 'N'
|
|
240
|
+
});
|
|
241
|
+
_this2.onLoadSDKError(newProps);
|
|
255
242
|
});
|
|
256
243
|
}
|
|
257
244
|
|
|
@@ -333,6 +320,43 @@ export function createBaseProxy(constructorName) {
|
|
|
333
320
|
reject(error);
|
|
334
321
|
}
|
|
335
322
|
}
|
|
323
|
+
}, {
|
|
324
|
+
key: "throwErrorWithPromise",
|
|
325
|
+
value:
|
|
326
|
+
// 使用Promise.then来抛出错误对象 构造一个虚拟错误对象来模拟产品实例,其中所有的API都会在.then中返回错误对象
|
|
327
|
+
function throwErrorWithPromise(errorObj) {
|
|
328
|
+
var _errorObj$error;
|
|
329
|
+
var message = errorObj === null || errorObj === void 0 || (_errorObj$error = errorObj.error) === null || _errorObj$error === void 0 ? void 0 : _errorObj$error.message;
|
|
330
|
+
var instanceForError = _newInstanceForError(errorObj);
|
|
331
|
+
this.actualInstance = instanceForError;
|
|
332
|
+
this.hasActualInstance = true;
|
|
333
|
+
this.executePendingCalls();
|
|
334
|
+
logger.logError({
|
|
335
|
+
title: message
|
|
336
|
+
}, {
|
|
337
|
+
errorMessage: message,
|
|
338
|
+
constructorName: constructorName
|
|
339
|
+
});
|
|
340
|
+
consoleLogger.error(message);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// 使用onEventCallback向外抛出SDK内部错误
|
|
344
|
+
}, {
|
|
345
|
+
key: "throwErrorWithOnEventCallback",
|
|
346
|
+
value: function throwErrorWithOnEventCallback(errorObj, newProps) {
|
|
347
|
+
var onEventCallbackFn = newProps === null || newProps === void 0 ? void 0 : newProps.onEventCallback;
|
|
348
|
+
var message = errorObj.message;
|
|
349
|
+
if (typeof onEventCallbackFn === 'function') {
|
|
350
|
+
onEventCallbackFn === null || onEventCallbackFn === void 0 || onEventCallbackFn.call(null, errorObj);
|
|
351
|
+
}
|
|
352
|
+
logger.logError({
|
|
353
|
+
title: message
|
|
354
|
+
}, {
|
|
355
|
+
errorMessage: message,
|
|
356
|
+
constructorName: constructorName
|
|
357
|
+
});
|
|
358
|
+
consoleLogger.error(message);
|
|
359
|
+
}
|
|
336
360
|
}]);
|
|
337
361
|
return BaseProxy;
|
|
338
362
|
}();
|
package/esm/loader/constant.d.ts
CHANGED
package/esm/loader/constant.js
CHANGED
|
@@ -27,9 +27,10 @@ export var instanceApiMap = _defineProperty(_defineProperty(_defineProperty({},
|
|
|
27
27
|
* SDK 集成类型枚举
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* SDK 地址
|
|
32
|
+
*/
|
|
31
33
|
export var SDK_URL = {
|
|
32
|
-
DEV: '
|
|
33
|
-
|
|
34
|
-
PROD: 'https://er-test.marmot-cloud.com/1.0.0/dist/umd/ams-checkout.min.js'
|
|
34
|
+
DEV: 'http://js-dev.antom.com/v2/ams-checkout.js',
|
|
35
|
+
PROD: 'https://js.antom.com/v2/ams-checkout.js'
|
|
35
36
|
};
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { EConstructorName, ProductType } from '../constant';
|
|
2
|
-
|
|
2
|
+
type SdkLoadResult = {
|
|
3
|
+
success: boolean;
|
|
4
|
+
loadType?: 'cached' | 'network';
|
|
5
|
+
};
|
|
6
|
+
export declare function loadSdk(): Promise<SdkLoadResult>;
|
|
3
7
|
export declare function newActualInstance<T extends ProductType>(constructorName: EConstructorName, newProps: any): T | null;
|
|
8
|
+
export {};
|
|
@@ -12,10 +12,19 @@ export function loadSdk() {
|
|
|
12
12
|
sdkSrc = (debugContext === null || debugContext === void 0 ? void 0 : debugContext.sdkUrl) || SDK_URL.PROD;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
// 校验URL合法性
|
|
16
|
+
try {
|
|
17
|
+
new URL(sdkSrc);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
consoleLogger.error("Invalid SDK URL: ".concat(sdkSrc));
|
|
20
|
+
reject();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
15
24
|
// 检查 SDK URL 是否存在
|
|
16
25
|
if (!sdkSrc) {
|
|
17
26
|
consoleLogger.error("SDK URL not found for: ".concat(sdkSrc));
|
|
18
|
-
reject(
|
|
27
|
+
reject();
|
|
19
28
|
return;
|
|
20
29
|
}
|
|
21
30
|
|
|
@@ -23,7 +32,10 @@ export function loadSdk() {
|
|
|
23
32
|
var existingScript = document.querySelector("script[src=\"".concat(sdkSrc, "\"]"));
|
|
24
33
|
if (existingScript) {
|
|
25
34
|
consoleLogger.log("SDK already loaded: ".concat(sdkSrc));
|
|
26
|
-
resolve(
|
|
35
|
+
resolve({
|
|
36
|
+
success: true,
|
|
37
|
+
loadType: 'cached'
|
|
38
|
+
});
|
|
27
39
|
return;
|
|
28
40
|
}
|
|
29
41
|
|
|
@@ -35,7 +47,10 @@ export function loadSdk() {
|
|
|
35
47
|
// 定义onload和onerror事件
|
|
36
48
|
script.onload = function () {
|
|
37
49
|
consoleLogger.log("Load SDK Success , SDK URL: ".concat(sdkSrc));
|
|
38
|
-
resolve(
|
|
50
|
+
resolve({
|
|
51
|
+
success: true,
|
|
52
|
+
loadType: 'network'
|
|
53
|
+
});
|
|
39
54
|
};
|
|
40
55
|
script.onerror = function () {
|
|
41
56
|
consoleLogger.log("Failed to load SDK: ".concat(sdkSrc));
|
|
@@ -44,7 +59,9 @@ export function loadSdk() {
|
|
|
44
59
|
}, {
|
|
45
60
|
sdkSrc: sdkSrc
|
|
46
61
|
});
|
|
47
|
-
|
|
62
|
+
// 失败时移除缓存脚本
|
|
63
|
+
script.remove();
|
|
64
|
+
reject();
|
|
48
65
|
};
|
|
49
66
|
});
|
|
50
67
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 在window对象上记录商户初始化SDK的StartTime,加载结束时间
|
|
3
|
+
* 后续传递给Web应用,用于进行端到端渲染总耗时计算
|
|
4
|
+
* ***/
|
|
5
|
+
import { ProductSceneEnum } from "../../types";
|
|
6
|
+
import { EConstructorName } from '../constant';
|
|
7
|
+
type TimeObject = {
|
|
8
|
+
startTime: number;
|
|
9
|
+
endTime: number;
|
|
10
|
+
};
|
|
11
|
+
/*** 扩展 Window 接口,添加 _ANTOM_SDK_PROXY_TIME 属性*/
|
|
12
|
+
declare global {
|
|
13
|
+
interface Window {
|
|
14
|
+
_ANTOM_SDK_PROXY_TIME?: Partial<Record<EConstructorName, TimeObject>>;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export declare function setProxyStartTime(constructorName: EConstructorName, startTime: number): number;
|
|
18
|
+
export declare function setProxyEndTime(constructorName: EConstructorName, endTime: number): number;
|
|
19
|
+
export declare const getProxyCostTime: (productScene: ProductSceneEnum) => number;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
/**
|
|
3
|
+
* 在window对象上记录商户初始化SDK的StartTime,加载结束时间
|
|
4
|
+
* 后续传递给Web应用,用于进行端到端渲染总耗时计算
|
|
5
|
+
* ***/
|
|
6
|
+
|
|
7
|
+
import { ProductSceneEnum } from "../../types";
|
|
8
|
+
|
|
9
|
+
/*** 扩展 Window 接口,添加 _ANTOM_SDK_PROXY_TIME 属性*/
|
|
10
|
+
|
|
11
|
+
/*** 往window对象上注入全局变量 _ANTOM_SDK_PROXY_TIME */
|
|
12
|
+
function injectAntomSDKProxyStartTime() {
|
|
13
|
+
if (typeof window === 'undefined') {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (_typeof(window._ANTOM_SDK_PROXY_TIME) !== 'object') {
|
|
17
|
+
window._ANTOM_SDK_PROXY_TIME = {};
|
|
18
|
+
}
|
|
19
|
+
return window._ANTOM_SDK_PROXY_TIME;
|
|
20
|
+
}
|
|
21
|
+
export function setProxyStartTime(constructorName, startTime) {
|
|
22
|
+
injectAntomSDKProxyStartTime();
|
|
23
|
+
if (_typeof(window._ANTOM_SDK_PROXY_TIME) !== 'object') return startTime;
|
|
24
|
+
var timeObject = window._ANTOM_SDK_PROXY_TIME[constructorName];
|
|
25
|
+
if (_typeof(timeObject) !== 'object') {
|
|
26
|
+
window._ANTOM_SDK_PROXY_TIME[constructorName] = {
|
|
27
|
+
startTime: startTime,
|
|
28
|
+
endTime: 0
|
|
29
|
+
};
|
|
30
|
+
} else {
|
|
31
|
+
timeObject.startTime = startTime;
|
|
32
|
+
}
|
|
33
|
+
return startTime;
|
|
34
|
+
}
|
|
35
|
+
export function setProxyEndTime(constructorName, endTime) {
|
|
36
|
+
if (_typeof(window._ANTOM_SDK_PROXY_TIME) !== 'object') return endTime;
|
|
37
|
+
var timeObject = window._ANTOM_SDK_PROXY_TIME[constructorName];
|
|
38
|
+
if (_typeof(timeObject) !== 'object') {
|
|
39
|
+
window._ANTOM_SDK_PROXY_TIME[constructorName] = {
|
|
40
|
+
startTime: 0,
|
|
41
|
+
endTime: endTime
|
|
42
|
+
};
|
|
43
|
+
} else {
|
|
44
|
+
timeObject.endTime = endTime;
|
|
45
|
+
}
|
|
46
|
+
return endTime;
|
|
47
|
+
}
|
|
48
|
+
export var getProxyCostTime = function getProxyCostTime(productScene) {
|
|
49
|
+
var _window, _window2, _timeObj, _timeObj2;
|
|
50
|
+
var timeObj;
|
|
51
|
+
switch (productScene) {
|
|
52
|
+
case ProductSceneEnum.ELEMENT_PAYMENT:
|
|
53
|
+
timeObj = (_window = window) === null || _window === void 0 || (_window = _window._ANTOM_SDK_PROXY_TIME) === null || _window === void 0 ? void 0 : _window['AMSElement'];
|
|
54
|
+
break;
|
|
55
|
+
case ProductSceneEnum.EASY_PAY:
|
|
56
|
+
timeObj = (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2._ANTOM_SDK_PROXY_TIME) === null || _window2 === void 0 ? void 0 : _window2['AMSEasyPay'];
|
|
57
|
+
break;
|
|
58
|
+
default:
|
|
59
|
+
timeObj = {
|
|
60
|
+
startTime: 0,
|
|
61
|
+
endTime: 0
|
|
62
|
+
};
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
return ((_timeObj = timeObj) === null || _timeObj === void 0 ? void 0 : _timeObj.endTime) - ((_timeObj2 = timeObj) === null || _timeObj2 === void 0 ? void 0 : _timeObj2.startTime) || 0;
|
|
66
|
+
};
|
|
@@ -15,6 +15,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
15
15
|
* 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
|
|
16
16
|
* 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.
|
|
17
17
|
*/
|
|
18
|
+
import { getProxyCostTime } from "../../loader/utils/proxyPerformance";
|
|
18
19
|
import { marmotMap, sdkVersion, v2AppMarmotMap } from "../../config/index";
|
|
19
20
|
import { ComponentSignEnum, ComponentSignEnumV2 } from "../../types";
|
|
20
21
|
import { isDebugLog } from "../../util/debug";
|
|
@@ -184,6 +185,7 @@ export var getIframeUrl = function getIframeUrl(iframeParams) {
|
|
|
184
185
|
sdkVersion: sdkVersion,
|
|
185
186
|
refUrl: window.location.href,
|
|
186
187
|
_componentStartTime: "".concat(Date.now()),
|
|
188
|
+
_proxyCostTime: "".concat(getProxyCostTime(productScene)),
|
|
187
189
|
isPreload: isPreload || '',
|
|
188
190
|
hostSign: hostSign || ''
|
|
189
191
|
});
|
|
@@ -18,13 +18,11 @@ export function injectAntomSDKIntegrationType(integrationType) {
|
|
|
18
18
|
// 参数验证
|
|
19
19
|
var validTypes = ['CDN', 'NPM'];
|
|
20
20
|
if (!validTypes.includes(integrationType)) {
|
|
21
|
-
console.warn("Integration type must be one of: ".concat(validTypes.join(', ')));
|
|
22
21
|
return;
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
// 检查是否在浏览器环境中
|
|
26
25
|
if (typeof window === 'undefined') {
|
|
27
|
-
console.warn('window object is not available');
|
|
28
26
|
return;
|
|
29
27
|
}
|
|
30
28
|
|
|
@@ -39,7 +37,6 @@ export function injectAntomSDKIntegrationType(integrationType) {
|
|
|
39
37
|
logger.setMedta({
|
|
40
38
|
integrationType: integrationType
|
|
41
39
|
});
|
|
42
|
-
console.log("Successfully injected window._ANTOM_SDK_INTEGRATION_TYPE: ".concat(integrationType));
|
|
43
40
|
}
|
|
44
41
|
|
|
45
42
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alipay/ams-checkout",
|
|
3
|
-
"version": "0.0.1762138227-dev.
|
|
3
|
+
"version": "0.0.1762138227-dev.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"main": "esm/index.js",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|
|
11
11
|
"esm",
|
|
12
|
+
"ams-checkout.js",
|
|
12
13
|
"LEGAL.md",
|
|
13
14
|
"LICENSE",
|
|
14
15
|
"README.md"
|