@alipay/ams-checkout 1.25.2 → 1.27.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.
Files changed (55) hide show
  1. package/dist/umd/ams-checkout.min.js +1 -1
  2. package/esm/component/channel.js +1 -1
  3. package/esm/component/component.popup.style.d.ts +2 -0
  4. package/esm/component/component.popup.style.js +15 -2
  5. package/esm/config/index.d.ts +7 -7
  6. package/esm/config/index.js +7 -7
  7. package/esm/constant/index.d.ts +4 -0
  8. package/esm/constant/index.js +4 -0
  9. package/esm/core/bus/index.d.ts +3 -3
  10. package/esm/core/bus/index.js +14 -14
  11. package/esm/core/component/appPreloadProcessing.js +2 -2
  12. package/esm/core/component/ckp/index.js +6 -3
  13. package/esm/core/component/element/index.js +5 -4
  14. package/esm/core/component/element/type.d.ts +3 -2
  15. package/esm/core/component/element/type.js +1 -0
  16. package/esm/core/component/index.js +6 -10
  17. package/esm/core/instance/index.js +3 -3
  18. package/esm/foundation/core/index.d.ts +1 -0
  19. package/esm/foundation/core/index.js +25 -12
  20. package/esm/foundation/product-processor/easysafepay/index.js +17 -16
  21. package/esm/foundation/service/api-bus/busManager.d.ts +3 -3
  22. package/esm/foundation/service/api-bus/busManager.js +14 -14
  23. package/esm/foundation/service/container/index.d.ts +2 -0
  24. package/esm/foundation/service/container/index.js +31 -1
  25. package/esm/foundation/service/event-center.d.ts +2 -2
  26. package/esm/foundation/service/event-center.js +9 -9
  27. package/esm/foundation/service/log/index.d.ts +2 -2
  28. package/esm/foundation/service/log/index.js +23 -8
  29. package/esm/foundation/service/log/keys.d.ts +13 -0
  30. package/esm/foundation/service/log/keys.js +103 -0
  31. package/esm/foundation/service/log/processor.d.ts +9 -0
  32. package/esm/foundation/service/log/processor.js +148 -0
  33. package/esm/foundation/service/log/types.d.ts +1 -1
  34. package/esm/foundation/service/requester/requester.js +3 -0
  35. package/esm/foundation/service/security/index.js +6 -8
  36. package/esm/foundation/utils/redirect_utils.js +1 -2
  37. package/esm/index.js +1 -1
  38. package/esm/plugin/applepay/component.js +10 -8
  39. package/esm/plugin/applepay/index.js +10 -6
  40. package/esm/plugin/applepay/service.js +24 -16
  41. package/esm/plugin/component/cashierApp.js +3 -3
  42. package/esm/plugin/component/channel.js +1 -1
  43. package/esm/plugin/component/component.popup.style.d.ts +8 -0
  44. package/esm/plugin/component/component.popup.style.js +22 -2
  45. package/esm/plugin/component/index.d.ts +2 -0
  46. package/esm/plugin/component/index.js +66 -27
  47. package/esm/plugin/paypal/index.js +1 -1
  48. package/esm/service/index.js +4 -2
  49. package/esm/util/getBackScheme.js +1 -2
  50. package/esm/util/index.js +4 -8
  51. package/esm/util/logger.d.ts +3 -3
  52. package/esm/util/logger.js +49 -13
  53. package/esm/util/spm-map.d.ts +172 -0
  54. package/esm/util/spm-map.js +172 -0
  55. 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
- var previousProductInfo = ProductInfoCacheUtil.getPreviousProductInfo(ProductSceneEnum.EASY_PAY, function (erorrMsg) {
121
- if (erorrMsg) {
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
- error: erorrMsg
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
- paymentSessionConfig: JSON.stringify(submitParams.paymentSessionConfig),
298
- requestBizId: requestBizId
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
- paymentSessionConfig: JSON.stringify(submitParams.paymentSessionConfig),
340
- requestBizId: requestBizId,
341
- traceId: res.traceId
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
- paymentSessionConfig: JSON.stringify(submitParams.paymentSessionConfig),
351
- errorReason: _context2.t7,
352
- requestBizId: requestBizId,
353
- traceId: _context2.t7 === null || _context2.t7 === void 0 ? void 0 : _context2.t7.traceId
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
- biz: 'sdk'
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
- biz: 'sdk'
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
- action: message.getAction()
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
- action: message.getAction(),
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
- action: message.getAction(),
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
- action: message.getAction(),
242
+ actionName: message.getAction(),
243
243
  instanceId: this.instanceId,
244
- error: e
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
- action: message.getAction(),
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
- actions: subscriber.actionNames(),
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
- actions: subscriber.actionNames(),
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
- action: actionName,
357
+ actionName: actionName,
358
358
  instanceId: this.instanceId,
359
- sub: true
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
- action: actionName,
380
+ actionName: actionName,
381
381
  instanceId: this.instanceId,
382
- sub: false
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
  }();
@@ -61,7 +61,7 @@ export declare class EventCenter implements Service {
61
61
  * @param name - The name of the event to emit.
62
62
  * @param data - The event data to pass to the event listeners.
63
63
  */
64
- emit(name: string, data: any, EventPayload?: EventPayload): void;
64
+ emit(name: string, data: any, eventPayload?: EventPayload): void;
65
65
  /**
66
66
  * Registers a callback for an event and immediately dispatches the event to the app.
67
67
  * @param payloadContext - The context containing event information and callback ID.
@@ -77,6 +77,6 @@ export declare class EventCenter implements Service {
77
77
  isExist(name: string): boolean;
78
78
  }
79
79
  interface IListener {
80
- (data: any, EventPayload?: EventPayload): void;
80
+ (data: any, eventPayload?: EventPayload): void;
81
81
  }
82
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 { EventPayload, MessageName } from "../../types";
12
+ import { MessageName } from "../../types";
13
13
  import { isJsonString } from "../../util";
14
14
  import { getIframeOrigin, registerSystemEvents, unRegisterSystemEvents } from "../utils/system_events";
15
15
 
@@ -108,11 +108,11 @@ export var EventCenter = /*#__PURE__*/function () {
108
108
  }
109
109
  var isJson = isJsonString(e.data);
110
110
  if (isJson) {
111
- var eventPayload = JSON.parse(e.data);
112
- if (!this.checkEventCompliant(eventPayload)) {
111
+ var _eventPayload = JSON.parse(e.data);
112
+ if (!this.checkEventCompliant(_eventPayload)) {
113
113
  return;
114
114
  }
115
- this._handleAppMessage(eventPayload);
115
+ this._handleAppMessage(_eventPayload);
116
116
  } else {
117
117
  console.error(ERRORMESSAGE.NOT_JSON_FORMAT);
118
118
  }
@@ -144,11 +144,11 @@ export var EventCenter = /*#__PURE__*/function () {
144
144
  */
145
145
  }, {
146
146
  key: "_handleAppMessage",
147
- value: function _handleAppMessage(EventPayload) {
148
- var context = EventPayload.context;
147
+ value: function _handleAppMessage(eventPayload) {
148
+ var context = eventPayload.context;
149
149
  var event = context.event,
150
150
  data = context.data;
151
- this.emit(event, data, EventPayload);
151
+ this.emit(event, data, eventPayload);
152
152
  }
153
153
 
154
154
  /**
@@ -196,11 +196,11 @@ export var EventCenter = /*#__PURE__*/function () {
196
196
  */
197
197
  }, {
198
198
  key: "emit",
199
- value: function emit(name, data, EventPayload) {
199
+ value: function emit(name, data, eventPayload) {
200
200
  if (this.events.has(name)) {
201
201
  var eventList = this.events.get(name);
202
202
  eventList.forEach(function (item) {
203
- item.func(data, EventPayload);
203
+ item.func(data, eventPayload);
204
204
  });
205
205
  }
206
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: any, extra?: LogExtra): LogService;
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
- storageId: deviceId,
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
- return this.log('error', error, extra);
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: payload,
121
- extra: _objectSpread(_objectSpread({}, extra), {}, {
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', payload, extra);
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 _this2 = this;
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(_this2.config);
205
+ (_window4 = window) === null || _window4 === void 0 || _window4.iTracker.initiTracker(_this3.config);
191
206
  setTimeout(function () {
192
- _this2.reportLogs();
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
+ }