@alipay/ams-checkout 1.25.1 → 1.26.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.js +1 -1
- package/esm/component/component.popup.style.d.ts +2 -0
- package/esm/component/component.popup.style.js +15 -2
- package/esm/config/index.d.ts +7 -7
- package/esm/config/index.js +7 -7
- package/esm/constant/index.d.ts +4 -0
- package/esm/constant/index.js +4 -0
- package/esm/core/bus/index.d.ts +3 -3
- package/esm/core/bus/index.js +14 -14
- package/esm/core/component/appPreloadProcessing.js +2 -2
- package/esm/core/component/ckp/index.js +6 -3
- package/esm/core/component/element/index.js +5 -4
- package/esm/core/component/element/type.d.ts +3 -2
- package/esm/core/component/element/type.js +1 -0
- package/esm/core/component/index.js +6 -10
- package/esm/core/instance/index.js +3 -3
- package/esm/foundation/core/index.d.ts +1 -0
- package/esm/foundation/core/index.js +25 -12
- package/esm/foundation/product-processor/easysafepay/index.js +17 -16
- package/esm/foundation/service/api-bus/busManager.d.ts +3 -3
- package/esm/foundation/service/api-bus/busManager.js +14 -14
- package/esm/foundation/service/container/index.d.ts +2 -0
- package/esm/foundation/service/container/index.js +31 -1
- package/esm/foundation/service/event-center.d.ts +3 -2
- package/esm/foundation/service/event-center.js +29 -9
- package/esm/foundation/service/log/index.d.ts +2 -2
- package/esm/foundation/service/log/index.js +23 -8
- package/esm/foundation/service/log/keys.d.ts +13 -0
- package/esm/foundation/service/log/keys.js +103 -0
- package/esm/foundation/service/log/processor.d.ts +9 -0
- package/esm/foundation/service/log/processor.js +148 -0
- package/esm/foundation/service/log/types.d.ts +1 -1
- package/esm/foundation/service/requester/requester.js +3 -0
- package/esm/foundation/service/security/index.js +6 -8
- package/esm/foundation/utils/redirect_utils.js +1 -2
- package/esm/index.js +1 -1
- package/esm/plugin/applepay/component.js +10 -8
- package/esm/plugin/applepay/index.js +10 -6
- package/esm/plugin/applepay/service.js +24 -16
- package/esm/plugin/component/cashierApp.js +3 -3
- package/esm/plugin/component/channel.js +1 -1
- package/esm/plugin/component/component.popup.style.d.ts +8 -0
- package/esm/plugin/component/component.popup.style.js +22 -2
- package/esm/plugin/component/index.d.ts +2 -0
- package/esm/plugin/component/index.js +66 -27
- package/esm/plugin/paypal/index.js +1 -1
- package/esm/service/index.js +4 -2
- package/esm/util/getBackScheme.js +1 -2
- package/esm/util/index.js +4 -8
- package/esm/util/logger.d.ts +3 -3
- package/esm/util/logger.js +49 -13
- package/esm/util/spm-map.d.ts +172 -0
- package/esm/util/spm-map.js +172 -0
- package/package.json +1 -1
@@ -116,13 +116,14 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
116
116
|
}, {
|
117
117
|
key: "buildWebAppPreloadUrl",
|
118
118
|
value: function buildWebAppPreloadUrl(initConfig, instanceId, sdkMetaData) {
|
119
|
-
var _this = this
|
120
|
-
|
121
|
-
|
119
|
+
var _this = this,
|
120
|
+
_initConfig$analytics;
|
121
|
+
var previousProductInfo = ProductInfoCacheUtil.getPreviousProductInfo(ProductSceneEnum.EASY_PAY, function (errorMsg) {
|
122
|
+
if (errorMsg) {
|
122
123
|
_this.logger.logError({
|
123
124
|
title: 'performance_optimization_get_previousChannel_error'
|
124
125
|
}, {
|
125
|
-
|
126
|
+
errorMessage: errorMsg
|
126
127
|
});
|
127
128
|
}
|
128
129
|
});
|
@@ -137,7 +138,7 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
137
138
|
isPreload: true,
|
138
139
|
productSceneVersion: productSceneVersion,
|
139
140
|
query: {
|
140
|
-
analyticsEnabled: initConfig.analytics.enabled,
|
141
|
+
analyticsEnabled: (_initConfig$analytics = initConfig.analytics) === null || _initConfig$analytics === void 0 ? void 0 : _initConfig$analytics.enabled,
|
141
142
|
displayType: DisplayTypeEnum.popup,
|
142
143
|
instanceId: instanceId,
|
143
144
|
locale: initConfig.locale,
|
@@ -152,7 +153,7 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
152
153
|
}, {
|
153
154
|
key: "buildWebAppUrl",
|
154
155
|
value: function buildWebAppUrl() {
|
155
|
-
var _paymentContext$payme3, _paymentContext$payme4;
|
156
|
+
var _paymentContext$payme3, _paymentContext$payme4, _this$initConfig$anal;
|
156
157
|
var paymentContext = this.paymentContext;
|
157
158
|
var paymentMethodCategoryType = (_paymentContext$payme3 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme3 === void 0 ? void 0 : _paymentContext$payme3.paymentMethodCategoryType;
|
158
159
|
var productSceneVersion = (_paymentContext$payme4 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme4 === void 0 ? void 0 : _paymentContext$payme4.productSceneVersion;
|
@@ -164,7 +165,7 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
164
165
|
productSceneVersion: productSceneVersion,
|
165
166
|
isPreload: false,
|
166
167
|
query: {
|
167
|
-
analyticsEnabled: this.initConfig.analytics.enabled,
|
168
|
+
analyticsEnabled: (_this$initConfig$anal = this.initConfig.analytics) === null || _this$initConfig$anal === void 0 ? void 0 : _this$initConfig$anal.enabled,
|
168
169
|
displayType: DisplayTypeEnum.popup,
|
169
170
|
instanceId: this.instanceId,
|
170
171
|
locale: this.initConfig.locale,
|
@@ -294,8 +295,8 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
294
295
|
this.logger.logInfo({
|
295
296
|
title: 'sdk_event_submitPay'
|
296
297
|
}, {
|
297
|
-
|
298
|
-
|
298
|
+
config: JSON.stringify(submitParams.paymentSessionConfig),
|
299
|
+
requestId: requestBizId
|
299
300
|
});
|
300
301
|
// 由渠道定制点来构建额外参数
|
301
302
|
extParams = ((_this$channelBehavior2 = this.channelBehavior) === null || _this$channelBehavior2 === void 0 || (_this$channelBehavior3 = _this$channelBehavior2.buildSubmitPayExtParams) === null || _this$channelBehavior3 === void 0 ? void 0 : _this$channelBehavior3.call(_this$channelBehavior2, {
|
@@ -336,9 +337,9 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
336
337
|
this.logger.logInfo({
|
337
338
|
title: 'sdk_event_submitPayEnd'
|
338
339
|
}, {
|
339
|
-
|
340
|
-
|
341
|
-
|
340
|
+
config: JSON.stringify(submitParams.paymentSessionConfig),
|
341
|
+
requestId: requestBizId,
|
342
|
+
rpcTraceId: res.traceId
|
342
343
|
});
|
343
344
|
return _context2.abrupt("return", res);
|
344
345
|
case 30:
|
@@ -347,10 +348,10 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
|
|
347
348
|
this.logger.logError({
|
348
349
|
title: 'sdk_event_submitPay_failed'
|
349
350
|
}, {
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
351
|
+
config: JSON.stringify(submitParams.paymentSessionConfig),
|
352
|
+
errorMessage: _context2.t7,
|
353
|
+
requestId: requestBizId,
|
354
|
+
rpcTraceId: _context2.t7 === null || _context2.t7 === void 0 ? void 0 : _context2.t7.traceId
|
354
355
|
});
|
355
356
|
throw _context2.t7;
|
356
357
|
case 34:
|
@@ -15,17 +15,17 @@ export declare enum BusLogEventEnum {
|
|
15
15
|
/**
|
16
16
|
* 查询是否订阅
|
17
17
|
* action:string
|
18
|
-
* sub: bool
|
18
|
+
* sub (processResult): bool
|
19
19
|
*/
|
20
20
|
sdk_event_busIsSubscribe = "sdk_event_busIsSubscribe",
|
21
21
|
/**
|
22
22
|
* 订阅协议
|
23
|
-
* actions: string[] , 用逗号拼接
|
23
|
+
* actions (actionNames): string[] , 用逗号拼接
|
24
24
|
*/
|
25
25
|
sdk_event_busSubscribe = "sdk_event_busSubscribe",
|
26
26
|
/**
|
27
27
|
* 退订协议
|
28
|
-
* actions: string[] , 用逗号拼接
|
28
|
+
* actions (actionNames): string[] , 用逗号拼接
|
29
29
|
*/
|
30
30
|
sdk_event_busUnsubscribe = "sdk_event_busUnsubscribe",
|
31
31
|
/**
|
@@ -147,7 +147,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
147
147
|
this.logger.logInfo({
|
148
148
|
title: title
|
149
149
|
}, _objectSpread({
|
150
|
-
|
150
|
+
eventSource: 'sdk'
|
151
151
|
}, optionalParams)).send();
|
152
152
|
}
|
153
153
|
}
|
@@ -161,7 +161,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
161
161
|
this.logger.logError({
|
162
162
|
title: title
|
163
163
|
}, _objectSpread({
|
164
|
-
|
164
|
+
eventSource: 'sdk'
|
165
165
|
}, optionalParams)).send();
|
166
166
|
}
|
167
167
|
}
|
@@ -194,7 +194,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
194
194
|
setTimeout(function () {
|
195
195
|
if (failed) {
|
196
196
|
_this.traceError(BusLogEventEnum.sdk_error_busPublishNoResult, {
|
197
|
-
|
197
|
+
actionName: message.getAction()
|
198
198
|
});
|
199
199
|
if ((config === null || config === void 0 ? void 0 : config.fallback) !== null) {
|
200
200
|
resolve(message.result(config === null || config === void 0 ? void 0 : config.fallback));
|
@@ -211,7 +211,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
211
211
|
var _this2 = this;
|
212
212
|
var _callBack = function _callBack(result) {
|
213
213
|
_this2.traceLog(BusLogEventEnum.sdk_event_busPublishCallback, {
|
214
|
-
|
214
|
+
actionName: message.getAction(),
|
215
215
|
instanceId: _this2.instanceId
|
216
216
|
});
|
217
217
|
if (callback) {
|
@@ -222,7 +222,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
222
222
|
var actionName = this.instanceId ? BusManager.getInstanceActionName(message.getAction(), this.instanceId) : message.getAction();
|
223
223
|
var subscribers = BusManager.subscribersMap.get(actionName);
|
224
224
|
this.traceLog(BusLogEventEnum.sdk_event_busPublishMessage, {
|
225
|
-
|
225
|
+
actionName: message.getAction(),
|
226
226
|
instanceId: this.instanceId
|
227
227
|
});
|
228
228
|
if (!subscribers && this.instanceId) {
|
@@ -239,9 +239,9 @@ export var BusManager = /*#__PURE__*/function () {
|
|
239
239
|
subscriber.onMessage(context, message);
|
240
240
|
} catch (e) {
|
241
241
|
this.traceError(BusLogEventEnum.sdk_error_busPublishError, {
|
242
|
-
|
242
|
+
actionName: message.getAction(),
|
243
243
|
instanceId: this.instanceId,
|
244
|
-
|
244
|
+
errorMessage: e
|
245
245
|
});
|
246
246
|
var _iterator2 = _createForOfIteratorHelper(BusManager.interceptors),
|
247
247
|
_step2;
|
@@ -280,7 +280,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
280
280
|
this.publish(message, callback); // Re-publish the message
|
281
281
|
} else {
|
282
282
|
this.traceError(BusLogEventEnum.sdk_error_busPublishUnsubscribeError, {
|
283
|
-
|
283
|
+
actionName: message.getAction(),
|
284
284
|
instanceId: this.instanceId
|
285
285
|
});
|
286
286
|
}
|
@@ -290,7 +290,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
290
290
|
key: "subscribe",
|
291
291
|
value: function subscribe(subscriber) {
|
292
292
|
this.traceLog(BusLogEventEnum.sdk_event_busSubscribe, {
|
293
|
-
|
293
|
+
actionNames: subscriber.actionNames(),
|
294
294
|
instanceId: this.instanceId
|
295
295
|
});
|
296
296
|
var _iterator4 = _createForOfIteratorHelper(subscriber.actionNames()),
|
@@ -317,7 +317,7 @@ export var BusManager = /*#__PURE__*/function () {
|
|
317
317
|
key: "unsubscribe",
|
318
318
|
value: function unsubscribe(subscriber) {
|
319
319
|
this.traceLog(BusLogEventEnum.sdk_event_busUnsubscribe, {
|
320
|
-
|
320
|
+
actionNames: subscriber.actionNames(),
|
321
321
|
instanceId: this.instanceId
|
322
322
|
});
|
323
323
|
var _iterator5 = _createForOfIteratorHelper(subscriber.actionNames()),
|
@@ -354,9 +354,9 @@ export var BusManager = /*#__PURE__*/function () {
|
|
354
354
|
}
|
355
355
|
if (subscribers && subscribers.length > 0) {
|
356
356
|
this.traceLog(BusLogEventEnum.sdk_event_busIsSubscribe, {
|
357
|
-
|
357
|
+
actionName: actionName,
|
358
358
|
instanceId: this.instanceId,
|
359
|
-
|
359
|
+
processResult: true
|
360
360
|
});
|
361
361
|
return true;
|
362
362
|
}
|
@@ -377,9 +377,9 @@ export var BusManager = /*#__PURE__*/function () {
|
|
377
377
|
return BusManager.subscribersMap.has(key);
|
378
378
|
}
|
379
379
|
this.traceLog(BusLogEventEnum.sdk_event_busIsSubscribe, {
|
380
|
-
|
380
|
+
actionName: actionName,
|
381
381
|
instanceId: this.instanceId,
|
382
|
-
|
382
|
+
processResult: false
|
383
383
|
});
|
384
384
|
return false;
|
385
385
|
}
|
@@ -24,7 +24,9 @@ export declare class ContainerService implements Service {
|
|
24
24
|
startHideAnim(): void;
|
25
25
|
private addCapabilityToEventCenter;
|
26
26
|
private addCapabilityToApiBusManager;
|
27
|
+
private updateMaskCloseBtn;
|
27
28
|
private handleSizeChanged;
|
28
29
|
private handleAppHeartBeat;
|
29
30
|
private changeCloseBtnVisibility;
|
31
|
+
private handleMaskCloseBtnShow;
|
30
32
|
}
|
@@ -11,7 +11,7 @@ import { DisplayTypeEnum } from "../../../types";
|
|
11
11
|
import { createIframe, createPreloadIframe, startSizeChangeAnim } from "./utils";
|
12
12
|
import { addInlineLoading, createInlineBaseElement } from "../../../component/component.inline.style";
|
13
13
|
import { addPopupLoading, createBaseElement } from "../../../component/component.popup.style";
|
14
|
-
import { COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CONTAINER_ID, ERRORMESSAGE, LOADING_ID, MOCKUP_ID } from "../../../constant";
|
14
|
+
import { COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CLOSE_MASK_BLOCK_ID, COMPONENT_CONTAINER_ID, ERRORMESSAGE, LOADING_ID, MOCKUP_ID } from "../../../constant";
|
15
15
|
import { ServiceProvider } from "../index";
|
16
16
|
import { EVENT, TIMEOUT_WEB_APP_HEART_BEAT, TIME_DELAY_SEND_HEART_BEAT } from "../../../constant";
|
17
17
|
import { PopupManager } from "./popup";
|
@@ -206,6 +206,9 @@ export var ContainerService = /*#__PURE__*/function () {
|
|
206
206
|
this.eventCenter.listen(EVENT.hideCloseButton.name, function () {
|
207
207
|
_this2.changeCloseBtnVisibility(false);
|
208
208
|
});
|
209
|
+
this.eventCenter.listen(EVENT.setMaskCloseButton.name, function (data) {
|
210
|
+
_this2.handleMaskCloseBtnShow(data);
|
211
|
+
});
|
209
212
|
this.eventCenter.listen(EVENT.appHeartBeat.name, function () {
|
210
213
|
_this2.handleAppHeartBeat();
|
211
214
|
});
|
@@ -213,6 +216,21 @@ export var ContainerService = /*#__PURE__*/function () {
|
|
213
216
|
}, {
|
214
217
|
key: "addCapabilityToApiBusManager",
|
215
218
|
value: function addCapabilityToApiBusManager() {}
|
219
|
+
}, {
|
220
|
+
key: "updateMaskCloseBtn",
|
221
|
+
value: function updateMaskCloseBtn(data) {
|
222
|
+
var maskCloseBtn = document.getElementById("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID));
|
223
|
+
if (maskCloseBtn) {
|
224
|
+
if (this.displayInfo.platform === 'desktop') {
|
225
|
+
var windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
226
|
+
var windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
227
|
+
maskCloseBtn.style.top = "".concat((windowHeight - data.height) / 2 - 42, "px");
|
228
|
+
maskCloseBtn.style.right = "".concat((windowWidth - data.width) / 2 + 18, "px");
|
229
|
+
} else {
|
230
|
+
maskCloseBtn.style.bottom = "".concat(data.height + 2, "px");
|
231
|
+
}
|
232
|
+
}
|
233
|
+
}
|
216
234
|
}, {
|
217
235
|
key: "handleSizeChanged",
|
218
236
|
value: function handleSizeChanged(data) {
|
@@ -241,6 +259,8 @@ export var ContainerService = /*#__PURE__*/function () {
|
|
241
259
|
}
|
242
260
|
// 关闭loading,保留蒙层
|
243
261
|
this.dismissLoading();
|
262
|
+
// 更新弹窗关闭按钮位置
|
263
|
+
this.updateMaskCloseBtn(data);
|
244
264
|
}
|
245
265
|
if (this.displayInfo.type === DisplayTypeEnum.inline) {
|
246
266
|
var _document$getElementB3;
|
@@ -295,6 +315,16 @@ export var ContainerService = /*#__PURE__*/function () {
|
|
295
315
|
closeBlock === null || closeBlock === void 0 || closeBlock.classList.add("".concat(COMPONENT_CLOSE_BLOCK_ID, "-hidden"));
|
296
316
|
}
|
297
317
|
}
|
318
|
+
}, {
|
319
|
+
key: "handleMaskCloseBtnShow",
|
320
|
+
value: function handleMaskCloseBtnShow(data) {
|
321
|
+
var closeBlock = document.getElementById(COMPONENT_CLOSE_MASK_BLOCK_ID);
|
322
|
+
if ((data === null || data === void 0 ? void 0 : data.status) === 'show') {
|
323
|
+
closeBlock === null || closeBlock === void 0 || closeBlock.classList.remove("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID, "-hidden"));
|
324
|
+
} else {
|
325
|
+
closeBlock === null || closeBlock === void 0 || closeBlock.classList.add("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID, "-hidden"));
|
326
|
+
}
|
327
|
+
}
|
298
328
|
}]);
|
299
329
|
return ContainerService;
|
300
330
|
}();
|
@@ -37,6 +37,7 @@ export declare class EventCenter implements Service {
|
|
37
37
|
* @param e - The message event.
|
38
38
|
*/
|
39
39
|
private handleAppMessage;
|
40
|
+
private checkEventCompliant;
|
40
41
|
/**
|
41
42
|
* Processes the application message and emits the associated event.
|
42
43
|
* @param data - Parsed EventPayload from the app.
|
@@ -60,7 +61,7 @@ export declare class EventCenter implements Service {
|
|
60
61
|
* @param name - The name of the event to emit.
|
61
62
|
* @param data - The event data to pass to the event listeners.
|
62
63
|
*/
|
63
|
-
emit(name: string, data: any,
|
64
|
+
emit(name: string, data: any, eventPayload?: EventPayload): void;
|
64
65
|
/**
|
65
66
|
* Registers a callback for an event and immediately dispatches the event to the app.
|
66
67
|
* @param payloadContext - The context containing event information and callback ID.
|
@@ -76,6 +77,6 @@ export declare class EventCenter implements Service {
|
|
76
77
|
isExist(name: string): boolean;
|
77
78
|
}
|
78
79
|
interface IListener {
|
79
|
-
(data: any,
|
80
|
+
(data: any, eventPayload?: EventPayload): void;
|
80
81
|
}
|
81
82
|
export {};
|
@@ -9,7 +9,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
9
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
10
|
import { v4 as uuid } from 'uuid';
|
11
11
|
import { ERRORMESSAGE } from "../../constant";
|
12
|
-
import {
|
12
|
+
import { MessageName } from "../../types";
|
13
13
|
import { isJsonString } from "../../util";
|
14
14
|
import { getIframeOrigin, registerSystemEvents, unRegisterSystemEvents } from "../utils/system_events";
|
15
15
|
|
@@ -108,15 +108,35 @@ export var EventCenter = /*#__PURE__*/function () {
|
|
108
108
|
}
|
109
109
|
var isJson = isJsonString(e.data);
|
110
110
|
if (isJson) {
|
111
|
-
var
|
112
|
-
if (
|
111
|
+
var _eventPayload = JSON.parse(e.data);
|
112
|
+
if (!this.checkEventCompliant(_eventPayload)) {
|
113
113
|
return;
|
114
114
|
}
|
115
|
-
this._handleAppMessage(
|
115
|
+
this._handleAppMessage(_eventPayload);
|
116
116
|
} else {
|
117
117
|
console.error(ERRORMESSAGE.NOT_JSON_FORMAT);
|
118
118
|
}
|
119
119
|
}
|
120
|
+
}, {
|
121
|
+
key: "checkEventCompliant",
|
122
|
+
value: function checkEventCompliant(eventPayload) {
|
123
|
+
// connect element场景下,多子iframes共用AntomCore中生成的instanceId,此时将发送事件方instanceId与iframes中instanceId做比较看是否在其中
|
124
|
+
// 非connect场景下,直接将发送事件方instanceId与AntomCore的instanceId做比较
|
125
|
+
if (eventPayload.name !== MessageName.APP_TO_SDK) {
|
126
|
+
return false;
|
127
|
+
}
|
128
|
+
var iframesInstanceIds = this.iframes.map(function (iframe) {
|
129
|
+
var _iframe$ref;
|
130
|
+
if (!new URL((_iframe$ref = iframe.ref) === null || _iframe$ref === void 0 ? void 0 : _iframe$ref.src)) {
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
return new URL(iframe.ref.src).searchParams.get('instanceId');
|
134
|
+
}).filter(Boolean);
|
135
|
+
if (eventPayload.instanceId !== this.instanceId && !iframesInstanceIds.includes(eventPayload.instanceId)) {
|
136
|
+
return false;
|
137
|
+
}
|
138
|
+
return true;
|
139
|
+
}
|
120
140
|
|
121
141
|
/**
|
122
142
|
* Processes the application message and emits the associated event.
|
@@ -124,11 +144,11 @@ export var EventCenter = /*#__PURE__*/function () {
|
|
124
144
|
*/
|
125
145
|
}, {
|
126
146
|
key: "_handleAppMessage",
|
127
|
-
value: function _handleAppMessage(
|
128
|
-
var context =
|
147
|
+
value: function _handleAppMessage(eventPayload) {
|
148
|
+
var context = eventPayload.context;
|
129
149
|
var event = context.event,
|
130
150
|
data = context.data;
|
131
|
-
this.emit(event, data,
|
151
|
+
this.emit(event, data, eventPayload);
|
132
152
|
}
|
133
153
|
|
134
154
|
/**
|
@@ -176,11 +196,11 @@ export var EventCenter = /*#__PURE__*/function () {
|
|
176
196
|
*/
|
177
197
|
}, {
|
178
198
|
key: "emit",
|
179
|
-
value: function emit(name, data,
|
199
|
+
value: function emit(name, data, eventPayload) {
|
180
200
|
if (this.events.has(name)) {
|
181
201
|
var eventList = this.events.get(name);
|
182
202
|
eventList.forEach(function (item) {
|
183
|
-
item.func(data,
|
203
|
+
item.func(data, eventPayload);
|
184
204
|
});
|
185
205
|
}
|
186
206
|
}
|
@@ -30,9 +30,9 @@ export declare class LogService implements Service {
|
|
30
30
|
destroy(): void;
|
31
31
|
setMetaData(metaData: LogMetaData): void;
|
32
32
|
getLogConfig(): Config;
|
33
|
-
logError(error: LogPayload, extra?: LogExtra): LogService;
|
33
|
+
logError(error: LogPayload, extra?: LogExtra, enableExtractCompliance?: boolean): LogService;
|
34
34
|
logInfo(info: LogPayload, extra?: LogExtra): LogService;
|
35
|
-
log(type: string, payload:
|
35
|
+
log(type: string, payload: LogPayload, extra?: LogExtra, enableExtractCompliance?: boolean): LogService;
|
36
36
|
private reportLogs;
|
37
37
|
private loadScript;
|
38
38
|
private initTracker;
|
@@ -8,8 +8,10 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
8
8
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
9
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
10
|
import { EnvironmentEnum } from "../../../types";
|
11
|
+
import { LogComplianceProcessor } from "./processor";
|
11
12
|
import { isPC } from "../../../util";
|
12
13
|
import { getStorageString, setStorageString } from "../../../util/storage";
|
14
|
+
import { SPM_MAP } from "../../../util/spm-map";
|
13
15
|
|
14
16
|
/**
|
15
17
|
* @author 谦彧 <zhangmian.zm@alipay.com>
|
@@ -44,7 +46,7 @@ export var LogService = /*#__PURE__*/function () {
|
|
44
46
|
this.setMetaData({
|
45
47
|
instanceId: instanceId,
|
46
48
|
// use to identify a device, named from deprecated SDK
|
47
|
-
|
49
|
+
deviceId: deviceId,
|
48
50
|
sdkVersion: sdkMetaData.sdkVersion,
|
49
51
|
webAppVersion: sdkMetaData.webAppVersion,
|
50
52
|
productScene: sdkMetaData.productScene,
|
@@ -103,7 +105,8 @@ export var LogService = /*#__PURE__*/function () {
|
|
103
105
|
}, {
|
104
106
|
key: "logError",
|
105
107
|
value: function logError(error, extra) {
|
106
|
-
|
108
|
+
var enableExtractCompliance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
109
|
+
return this.log('error', error, extra, enableExtractCompliance);
|
107
110
|
}
|
108
111
|
}, {
|
109
112
|
key: "logInfo",
|
@@ -113,18 +116,30 @@ export var LogService = /*#__PURE__*/function () {
|
|
113
116
|
}, {
|
114
117
|
key: "log",
|
115
118
|
value: function log(type, payload, extra) {
|
119
|
+
var _this2 = this;
|
120
|
+
var enableExtractCompliance = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
121
|
+
var newExtra = enableExtractCompliance ? LogComplianceProcessor.extractComplianceParams(payload.title, extra !== null && extra !== void 0 ? extra : {}, function (error, ext) {
|
122
|
+
_this2.logError(error, ext, false);
|
123
|
+
}) : extra !== null && extra !== void 0 ? extra : {};
|
116
124
|
var now = Date.now();
|
117
125
|
var fsDuration = now - this.componentStartTime;
|
126
|
+
var newPayload = _objectSpread({}, payload);
|
127
|
+
var oldTitle = payload === null || payload === void 0 ? void 0 : payload.title;
|
128
|
+
if (SPM_MAP[oldTitle]) {
|
129
|
+
newPayload.title = SPM_MAP[oldTitle];
|
130
|
+
}
|
131
|
+
newExtra.eventSource = 'sdk';
|
132
|
+
newExtra.eventAlias = extra !== null && extra !== void 0 && extra.eventAlias ? extra === null || extra === void 0 ? void 0 : extra.eventAlias : oldTitle;
|
118
133
|
this.logs.push({
|
119
134
|
type: type,
|
120
|
-
logPayload:
|
121
|
-
extra: _objectSpread(_objectSpread({},
|
135
|
+
logPayload: newPayload,
|
136
|
+
extra: _objectSpread(_objectSpread({}, newExtra), {}, {
|
122
137
|
fsDuration: fsDuration,
|
123
138
|
timeStamp: now
|
124
139
|
})
|
125
140
|
});
|
126
141
|
if (this.debug) {
|
127
|
-
console.log('[web-sdk] Log',
|
142
|
+
console.log('[web-sdk] Log', newPayload, newExtra);
|
128
143
|
}
|
129
144
|
this.send();
|
130
145
|
return this;
|
@@ -180,16 +195,16 @@ export var LogService = /*#__PURE__*/function () {
|
|
180
195
|
}, {
|
181
196
|
key: "initTracker",
|
182
197
|
value: function initTracker() {
|
183
|
-
var
|
198
|
+
var _this3 = this;
|
184
199
|
if (this.isLoaded) return;
|
185
200
|
this.isLoaded = true;
|
186
201
|
try {
|
187
202
|
if (typeof localStorage !== 'undefined') {
|
188
203
|
this.loadScript(this.config.scriptUrl, function () {
|
189
204
|
var _window4;
|
190
|
-
(_window4 = window) === null || _window4 === void 0 || _window4.iTracker.initiTracker(
|
205
|
+
(_window4 = window) === null || _window4 === void 0 || _window4.iTracker.initiTracker(_this3.config);
|
191
206
|
setTimeout(function () {
|
192
|
-
|
207
|
+
_this3.reportLogs();
|
193
208
|
}, 80);
|
194
209
|
});
|
195
210
|
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare class LogComplianceExtendKeys {
|
2
|
+
static complianceExtParams: Record<string, string>;
|
3
|
+
}
|
4
|
+
export declare const KEYS: {
|
5
|
+
EVENT_SDK_ON_ABNORMAL_EVENT_NAME: {
|
6
|
+
spmId: string;
|
7
|
+
alias: string;
|
8
|
+
};
|
9
|
+
EVENT_SDK_ON_ABNORMAL_EVENT_EXT_INFO: {
|
10
|
+
spmId: string;
|
11
|
+
alias: string;
|
12
|
+
};
|
13
|
+
};
|
@@ -0,0 +1,103 @@
|
|
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 _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); } }
|
3
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
4
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
5
|
+
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; }
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
7
|
+
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); }
|
8
|
+
export var LogComplianceExtendKeys = /*#__PURE__*/_createClass(function LogComplianceExtendKeys() {
|
9
|
+
_classCallCheck(this, LogComplianceExtendKeys);
|
10
|
+
});
|
11
|
+
// 静态常量字典,用于存储合规扩展参数
|
12
|
+
// c 辅助排查问题的内容,通常是字符串类型
|
13
|
+
// m 是 number 类型,通常用于数学计算,比如求平均数
|
14
|
+
// d 是维度,比如城市,就是维度信息,典型的用法就是按照维度计算 m 值,比如求上海人年龄的平均数,那么,上海这个城市信息,上报的时候就放在 d 字段,每个人的年龄信息,就应该放在 m 字段
|
15
|
+
_defineProperty(LogComplianceExtendKeys, "complianceExtParams", {
|
16
|
+
// C 字符串类型
|
17
|
+
requestSeq: 'C',
|
18
|
+
firstLogTime: 'C',
|
19
|
+
sessionData: 'C',
|
20
|
+
isPreload: 'C',
|
21
|
+
disableAccelerate: 'C',
|
22
|
+
deviceId: 'C',
|
23
|
+
url: 'C',
|
24
|
+
errorName: 'C',
|
25
|
+
isPrerender: 'C',
|
26
|
+
loadWebAppType: 'C',
|
27
|
+
rpcTraceId: 'C',
|
28
|
+
timezone: 'C',
|
29
|
+
userPath: 'C',
|
30
|
+
previousEventName: 'C',
|
31
|
+
containerCacheFileCount: 'C',
|
32
|
+
containerTotalFileCount: 'C',
|
33
|
+
containerMissedFiles: 'C',
|
34
|
+
containerOfflinePkgId: 'C',
|
35
|
+
containerTotalPkgCount: 'C',
|
36
|
+
webAppUrl: 'C',
|
37
|
+
edcDeviceRequest: 'C',
|
38
|
+
config: 'C',
|
39
|
+
initOptions: 'C',
|
40
|
+
edcDeviceId: 'C',
|
41
|
+
instanceId: 'C',
|
42
|
+
trackId: 'C',
|
43
|
+
errorMessage: 'C',
|
44
|
+
timestamp: 'C',
|
45
|
+
eventMessage: 'C',
|
46
|
+
checkoutUrl: 'C',
|
47
|
+
redirectInfo: 'C',
|
48
|
+
riskSdkInfo: 'C',
|
49
|
+
actionName: 'C',
|
50
|
+
requestId: 'C',
|
51
|
+
callbackData: 'C',
|
52
|
+
callbackId: 'C',
|
53
|
+
actionNames: 'C',
|
54
|
+
// D 维度信息
|
55
|
+
operationType: 'D',
|
56
|
+
jsApi: 'D',
|
57
|
+
extSdkError: 'D',
|
58
|
+
processResult: 'D',
|
59
|
+
iterationVersion: 'D',
|
60
|
+
OperationType: 'D',
|
61
|
+
edcVendor: 'D',
|
62
|
+
platform: 'D',
|
63
|
+
sdkVersion: 'D',
|
64
|
+
eventSource: 'D',
|
65
|
+
productScene: 'D',
|
66
|
+
paymentMethodCategoryType: 'D',
|
67
|
+
productSceneVersion: 'D',
|
68
|
+
merchantId: 'D',
|
69
|
+
eventName: 'D',
|
70
|
+
paymentMethodType: 'D',
|
71
|
+
containerVersion: 'D',
|
72
|
+
locale: 'D',
|
73
|
+
renderDisplayType: 'D',
|
74
|
+
webAppVersion: 'D',
|
75
|
+
eventCode: 'D',
|
76
|
+
containerType: 'D',
|
77
|
+
logVersion: 'D',
|
78
|
+
httpCode: 'D',
|
79
|
+
openType: 'D',
|
80
|
+
isCrashTack: 'D',
|
81
|
+
isCrashTrackOverride: 'D',
|
82
|
+
appUpgradeVersion: 'D',
|
83
|
+
fromFastSdk: 'D',
|
84
|
+
terminalType: 'D',
|
85
|
+
eventAlias: 'D',
|
86
|
+
// 用来标记事件别名
|
87
|
+
success: 'D',
|
88
|
+
// 用来标记行为是否成功
|
89
|
+
// M 数字类型
|
90
|
+
timeCost: 'M',
|
91
|
+
pageLoadProgress: 'M',
|
92
|
+
fsDuration: 'M'
|
93
|
+
});
|
94
|
+
export var KEYS = {
|
95
|
+
EVENT_SDK_ON_ABNORMAL_EVENT_NAME: {
|
96
|
+
spmId: 'a3753.b101271.c388193.d513345',
|
97
|
+
alias: 'sdk_event_onAbnormalEventName'
|
98
|
+
},
|
99
|
+
EVENT_SDK_ON_ABNORMAL_EVENT_EXT_INFO: {
|
100
|
+
spmId: 'a3753.b101271.c388193.d513391',
|
101
|
+
alias: 'sdk_event_onAbnormalKeys'
|
102
|
+
}
|
103
|
+
};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { LogExtra, LogPayload } from './types';
|
2
|
+
export declare class LogComplianceProcessor {
|
3
|
+
private static abnormalEventNameSet;
|
4
|
+
private static nonComplianceEventKeys;
|
5
|
+
static extractComplianceParams(eventName: string, params: Record<string, any>, errorLogCallback?: (error: LogPayload, extra?: LogExtra) => void): Record<string, string>;
|
6
|
+
private static reportHasAbnormalEventName;
|
7
|
+
private static reportHasIllegalExtendInfoKey;
|
8
|
+
static flushAbnormalInfo(errorLogCallback?: (error: LogPayload, extra?: LogExtra) => void): void;
|
9
|
+
}
|