@alipay/ams-checkout 0.0.1766976687-dev.0 → 0.0.1767873844-dev.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/ams-checkout.js +3 -3
- package/dist/umd/ams-checkout.min.js +1 -1
- package/esm/core/component/element/elementController/index.d.ts +2 -4
- package/esm/core/component/element/elementController/index.js +41 -52
- package/esm/core/component/element/index.d.ts +2 -3
- package/esm/core/component/element/index.js +2 -7
- package/esm/core/component/element/type.d.ts +0 -38
- package/esm/core/component/element/type.js +1 -8
- package/esm/core/component/element/util.d.ts +0 -1
- package/esm/core/component/element/util.js +0 -10
- package/esm/foundation/service/log/index.d.ts +1 -1
- package/esm/foundation/service/log/index.js +16 -11
- package/esm/util/logger.js +6 -1
- package/package.json +1 -1
- package/esm/core/component/element/config.d.ts +0 -10
- package/esm/core/component/element/config.js +0 -17
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AddressMountOptions,
|
|
1
|
+
import { AddressMountOptions, ICommonApiResponse, IElementOptions, IPaymentApiResponse, LinkAuthMountOptions, PaymentMountOptions } from '../type';
|
|
2
2
|
declare class ElementController {
|
|
3
3
|
private options;
|
|
4
4
|
private elementContainer;
|
|
@@ -33,7 +33,7 @@ declare class ElementController {
|
|
|
33
33
|
validateFields(): Promise<{
|
|
34
34
|
isValid: boolean;
|
|
35
35
|
}>;
|
|
36
|
-
submitPayment(
|
|
36
|
+
submitPayment(): Promise<IPaymentApiResponse>;
|
|
37
37
|
private changeLoading;
|
|
38
38
|
private addEventListener;
|
|
39
39
|
private sendRequestAndWaitWebLaunch;
|
|
@@ -44,7 +44,5 @@ declare class ElementController {
|
|
|
44
44
|
private destroyHandle;
|
|
45
45
|
destroy(): void;
|
|
46
46
|
private setControllerStatusOrView;
|
|
47
|
-
on<T extends EVENTNAME>(event: T, callback: (data: EventDataMap[T]) => void): void;
|
|
48
|
-
private isEventAllowed;
|
|
49
47
|
}
|
|
50
48
|
export default ElementController;
|
|
@@ -23,8 +23,6 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
23
23
|
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; }
|
|
24
24
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
25
25
|
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); }
|
|
26
|
-
import { ServiceProvider } from "../../../../foundation/service";
|
|
27
|
-
import { ELEMENT_SPM_MAP } from "../../../../util/spm-map";
|
|
28
26
|
import { cleanMockup, removeRetentionPopup } from "../../../../component/component.popup.style";
|
|
29
27
|
import { destroyModal } from "../../../../component/popupWindow.style";
|
|
30
28
|
import { ERRORMESSAGE, EVENT, PROMISE_CALLBACK_CODE } from "../../../../constant";
|
|
@@ -34,15 +32,16 @@ import PaymentProcessor from "../../../../core/component/element/elementProcesso
|
|
|
34
32
|
import { IElementStatus } from "../../../../foundation";
|
|
35
33
|
import { AntomSDKCore } from "../../../../foundation/core";
|
|
36
34
|
import { ElementProcessor } from "../../../../foundation/product-processor/element";
|
|
35
|
+
import { ServiceProvider } from "../../../../foundation/service";
|
|
36
|
+
import { convertPaymentSession } from "../../../../foundation/utils/payment_context_utils";
|
|
37
37
|
import { ProductSceneEnum } from "../../../../types";
|
|
38
|
+
import { ELEMENT_SPM_MAP } from "../../../../util/spm-map";
|
|
38
39
|
import { ElementContainerService } from "../elementContainerService"; // 引入 ElementContainerService
|
|
39
40
|
import { IContainerStatus } from "../elementContainerService/containerService";
|
|
40
41
|
import { EventCenter as ElementEventCenter } from "../EventCenter/index";
|
|
41
42
|
import { oneAccountUpdate, sdkActionUpdate } from "../mock";
|
|
42
43
|
import { ElementPaymentEvent, ElementPaymentMethod, ElementType, EventCallbackCode, EXPOSURE_API_EVENT, MountElementType, PaymentStatus } from "../type";
|
|
43
|
-
import { checkCanMount, checkCanUpdate, handleRedirect, isLoadErrorPage,
|
|
44
|
-
import { convertPaymentSession } from "../../../../foundation/utils/payment_context_utils";
|
|
45
|
-
import { productEventScenarios, ProductScene } from "../config";
|
|
44
|
+
import { checkCanMount, checkCanUpdate, handleRedirect, isLoadErrorPage, safeStringify, showToast } from "../util";
|
|
46
45
|
var TIMEOUT_DURATION = 10000;
|
|
47
46
|
var ElementController = /*#__PURE__*/function () {
|
|
48
47
|
function ElementController(options) {
|
|
@@ -90,13 +89,16 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
90
89
|
this.options = options;
|
|
91
90
|
var _options = options;
|
|
92
91
|
this.onStatusChangeCallback = _options === null || _options === void 0 ? void 0 : _options.onStatusChangeCallback;
|
|
92
|
+
// 初始化 this.elementContainer 的 status 为 INITING
|
|
93
93
|
this.elementContainer = new AntomSDKCore();
|
|
94
94
|
this.elementContainer.registerProcessor(ProductSceneEnum.ELEMENT_PAYMENT, '', new ElementProcessor());
|
|
95
|
+
// 初始化实例 id,监听 onRedirect 事件
|
|
95
96
|
this.elementContainer.init(this.options, ProductSceneEnum.ELEMENT_PAYMENT);
|
|
96
97
|
this.initService();
|
|
97
98
|
this.elementContainerService = new ElementContainerService({
|
|
98
99
|
instanceId: this.elementContainer.getInstanceId()
|
|
99
100
|
});
|
|
101
|
+
// status 设置为 READY
|
|
100
102
|
this.setControllerStatusOrView(IElementStatus.READY);
|
|
101
103
|
this.elementEventCenter = new ElementEventCenter({
|
|
102
104
|
logger: this.elementContainer.getServiceProvider().getService('Log')
|
|
@@ -206,6 +208,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
206
208
|
key: "initializeAndMountProcessor",
|
|
207
209
|
value: function initializeAndMountProcessor(type, selector, options) {
|
|
208
210
|
this.initElementProcessors(type);
|
|
211
|
+
// 创建 iframe,拉起应用页面,同时监听全局的数据更新和获取事件
|
|
209
212
|
this.elementContainerService.mount({
|
|
210
213
|
type: type,
|
|
211
214
|
selector: selector,
|
|
@@ -242,6 +245,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
242
245
|
key: "mount",
|
|
243
246
|
value: function mount(renderOptions, sdkSelector) {
|
|
244
247
|
var _this2 = this;
|
|
248
|
+
// 此处的 id 是 sessionData && 分割的前3位
|
|
245
249
|
var _convertPaymentSessio = convertPaymentSession(this.options.sessionData),
|
|
246
250
|
sessionData = _convertPaymentSessio.id;
|
|
247
251
|
var startEventId = this.elementEventCenter.registerEvent(EXPOSURE_API_EVENT.MOUNT, sessionData);
|
|
@@ -265,6 +269,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
265
269
|
return;
|
|
266
270
|
}
|
|
267
271
|
_this2.clearAndSetInitTimeout(readyCallback);
|
|
272
|
+
// 回调 loading 的 onStartLoading
|
|
268
273
|
_this2.changeLoading(true);
|
|
269
274
|
try {
|
|
270
275
|
var startBizFlowData = {
|
|
@@ -273,10 +278,14 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
273
278
|
appendAliasContainerId: true
|
|
274
279
|
})
|
|
275
280
|
};
|
|
281
|
+
// status 设置为 IN_BIZ_FLOW
|
|
276
282
|
_this2.setControllerStatusOrView(IElementStatus.IN_BIZ_FLOW);
|
|
277
283
|
_this2.elementContainer.startBizFlow(startBizFlowData);
|
|
284
|
+
// 创建 iframe 加载应用页面
|
|
278
285
|
_this2.initializeAndMountProcessor(renderOptions.type, sdkSelector, renderOptions);
|
|
286
|
+
// 监听应用页面 onLaunch 事件,请求 sdkAction.query 接口的数据,请求完成后处理数据异常情况或发送 renderComponent 事件及数据给应用层渲染页面内容
|
|
279
287
|
_this2.sendRequestAndWaitWebLaunch(renderOptions, readyCallback);
|
|
288
|
+
// 监听事件
|
|
280
289
|
_this2.addEventListener(readyCallback);
|
|
281
290
|
_this2.serviceMap.EventCenter.addIFrame(_this2.elementContainerService.getContainerService(renderOptions.type).getContainerService().getWebApp());
|
|
282
291
|
} catch (error) {
|
|
@@ -338,7 +347,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
338
347
|
}, {
|
|
339
348
|
key: "submitPayment",
|
|
340
349
|
value: function () {
|
|
341
|
-
var _submitPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(
|
|
350
|
+
var _submitPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
342
351
|
var _this3 = this;
|
|
343
352
|
var startEventId, res, logParams, recordResult, _recordResult, _recordResult2, _recordResult3, _recordResult4, _recordResult5, _logParams;
|
|
344
353
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
@@ -370,7 +379,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
370
379
|
_context4.next = 11;
|
|
371
380
|
return new Promise( /*#__PURE__*/function () {
|
|
372
381
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(resolve) {
|
|
373
|
-
var that, recordResultCallback, params, processStep,
|
|
382
|
+
var that, recordResultCallback, params, processStep, _yield$_this3$onValid2, data, errorString, errorResult;
|
|
374
383
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
375
384
|
while (1) switch (_context3.prev = _context3.next) {
|
|
376
385
|
case 0:
|
|
@@ -423,7 +432,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
423
432
|
}
|
|
424
433
|
}, _callee2);
|
|
425
434
|
}));
|
|
426
|
-
return function processStep(
|
|
435
|
+
return function processStep(_x2, _x3) {
|
|
427
436
|
return _ref4.apply(this, arguments);
|
|
428
437
|
};
|
|
429
438
|
}(); // 按顺序处理步骤
|
|
@@ -446,25 +455,23 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
446
455
|
return _context3.abrupt("return");
|
|
447
456
|
case 14:
|
|
448
457
|
if (!_this3.elementProcessors[ElementType.payment]) {
|
|
449
|
-
_context3.next =
|
|
458
|
+
_context3.next = 21;
|
|
450
459
|
break;
|
|
451
460
|
}
|
|
452
|
-
|
|
453
|
-
params.shipping = submitParams === null || submitParams === void 0 ? void 0 : submitParams.shippingInfo;
|
|
454
|
-
_context3.next = 19;
|
|
461
|
+
_context3.next = 17;
|
|
455
462
|
return _this3.onValidateAndSubmitPay(_this3.elementProcessors[ElementType.payment].eventCenter, ElementPaymentMethod.PAYMENT_ELEMENT, params);
|
|
456
|
-
case
|
|
463
|
+
case 17:
|
|
457
464
|
_yield$_this3$onValid2 = _context3.sent;
|
|
458
|
-
|
|
465
|
+
data = _yield$_this3$onValid2.data;
|
|
459
466
|
// TODO 先快速修复类型, 这里结构和标准返回不一致 @马杰
|
|
460
467
|
// TODO checkout 返回的错误未包含 status 和 message @马杰 @薛浩
|
|
461
|
-
recordResult =
|
|
468
|
+
recordResult = data;
|
|
462
469
|
recordResultCallback(recordResult);
|
|
463
|
-
case
|
|
464
|
-
_context3.next =
|
|
470
|
+
case 21:
|
|
471
|
+
_context3.next = 30;
|
|
465
472
|
break;
|
|
466
|
-
case
|
|
467
|
-
_context3.prev =
|
|
473
|
+
case 23:
|
|
474
|
+
_context3.prev = 23;
|
|
468
475
|
_context3.t0 = _context3["catch"](2);
|
|
469
476
|
// 修复error为{}空对象的问题,上报stack&message
|
|
470
477
|
errorString = JSON.stringify(_context3.t0, Object.getOwnPropertyNames(_context3.t0));
|
|
@@ -481,13 +488,13 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
481
488
|
});
|
|
482
489
|
recordResult = errorResult;
|
|
483
490
|
recordResultCallback(errorResult);
|
|
484
|
-
case
|
|
491
|
+
case 30:
|
|
485
492
|
case "end":
|
|
486
493
|
return _context3.stop();
|
|
487
494
|
}
|
|
488
|
-
}, _callee3, null, [[2,
|
|
495
|
+
}, _callee3, null, [[2, 23]]);
|
|
489
496
|
}));
|
|
490
|
-
return function (
|
|
497
|
+
return function (_x) {
|
|
491
498
|
return _ref3.apply(this, arguments);
|
|
492
499
|
};
|
|
493
500
|
}());
|
|
@@ -512,7 +519,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
512
519
|
}
|
|
513
520
|
}, _callee4, this, [[8,, 12, 17]]);
|
|
514
521
|
}));
|
|
515
|
-
function submitPayment(
|
|
522
|
+
function submitPayment() {
|
|
516
523
|
return _submitPayment.apply(this, arguments);
|
|
517
524
|
}
|
|
518
525
|
return submitPayment;
|
|
@@ -620,7 +627,10 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
620
627
|
return _context5.abrupt("return");
|
|
621
628
|
case 7:
|
|
622
629
|
_context5.next = 9;
|
|
623
|
-
return Promise.all([containerService.createWebLaunchPromise(),
|
|
630
|
+
return Promise.all([containerService.createWebLaunchPromise(),
|
|
631
|
+
// 监听 onLaunch 事件
|
|
632
|
+
this.elementProcessors[type].obtainData() // 请求 sdkAction.query 的数据,connect 还会请求 account.query
|
|
633
|
+
]);
|
|
624
634
|
case 9:
|
|
625
635
|
_yield$Promise$all = _context5.sent;
|
|
626
636
|
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
@@ -629,12 +639,15 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
629
639
|
this.serviceMap.Log.logInfo({
|
|
630
640
|
title: 'sdk_event_webAppOnLaunch'
|
|
631
641
|
});
|
|
642
|
+
// 应用页面加载完成且接口请求完成,状态设置为 READY
|
|
632
643
|
containerService === null || containerService === void 0 || containerService.switchContainerStatus(IContainerStatus.READY);
|
|
644
|
+
// 处理接口数据异常情况,直接回调,结束流程
|
|
633
645
|
errorResult = this.getErrorFromResponse(obtainDataResult);
|
|
634
646
|
if (errorResult) {
|
|
635
|
-
// 仅结束
|
|
647
|
+
// 仅结束resolve,传出回调码
|
|
636
648
|
readyCallback(errorResult);
|
|
637
649
|
}
|
|
650
|
+
// 页面加载和数据状态 READY 后,SDK 向应用层发送 renderComponent 事件,传递应用层渲染必须的数据
|
|
638
651
|
if (this.areAllContainersReady()) {
|
|
639
652
|
this.elementContainerService.getContainerServices().forEach(function (_, key) {
|
|
640
653
|
_this5.sendReady(key, options);
|
|
@@ -657,7 +670,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
657
670
|
}
|
|
658
671
|
}, _callee5, this, [[1, 20]]);
|
|
659
672
|
}));
|
|
660
|
-
function sendRequestAndWaitWebLaunch(
|
|
673
|
+
function sendRequestAndWaitWebLaunch(_x4, _x5) {
|
|
661
674
|
return _sendRequestAndWaitWebLaunch.apply(this, arguments);
|
|
662
675
|
}
|
|
663
676
|
return sendRequestAndWaitWebLaunch;
|
|
@@ -790,7 +803,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
790
803
|
}
|
|
791
804
|
}, _callee6);
|
|
792
805
|
}));
|
|
793
|
-
return function (
|
|
806
|
+
return function (_x7) {
|
|
794
807
|
return _ref5.apply(this, arguments);
|
|
795
808
|
};
|
|
796
809
|
}()));
|
|
@@ -800,7 +813,7 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
800
813
|
}
|
|
801
814
|
}, _callee7);
|
|
802
815
|
}));
|
|
803
|
-
function updatePayment(
|
|
816
|
+
function updatePayment(_x6) {
|
|
804
817
|
return _updatePayment.apply(this, arguments);
|
|
805
818
|
}
|
|
806
819
|
return updatePayment;
|
|
@@ -837,30 +850,6 @@ var ElementController = /*#__PURE__*/function () {
|
|
|
837
850
|
(_this$onStatusChangeC = this.onStatusChangeCallback) === null || _this$onStatusChangeC === void 0 || _this$onStatusChangeC.call(this, "\u72B6\u6001\u7531 ".concat(_status, " \u53D8\u66F4\u4E3A ").concat(status));
|
|
838
851
|
this.elementContainer.setStatus(status);
|
|
839
852
|
}
|
|
840
|
-
}, {
|
|
841
|
-
key: "on",
|
|
842
|
-
value: function on(event, callback) {
|
|
843
|
-
if (!this.isEventAllowed(event)) {
|
|
844
|
-
return console.error("Event \"".concat(event, "\" is not allowed."));
|
|
845
|
-
}
|
|
846
|
-
this.serviceMap.EventCenter.listen(event, function (data) {
|
|
847
|
-
callback === null || callback === void 0 || callback(data);
|
|
848
|
-
});
|
|
849
|
-
}
|
|
850
|
-
}, {
|
|
851
|
-
key: "isEventAllowed",
|
|
852
|
-
value: function isEventAllowed(event) {
|
|
853
|
-
var _safeParse, _this$elementContaine;
|
|
854
|
-
// 获取当前场景
|
|
855
|
-
var isExpressCheckout = (_safeParse = safeParse((_this$elementContaine = this.elementContainer.getPaymentContext()) === null || _this$elementContaine === void 0 || (_this$elementContaine = _this$elementContaine.paymentSessionObj) === null || _this$elementContaine === void 0 ? void 0 : _this$elementContaine.extendInfo)) === null || _safeParse === void 0 ? void 0 : _safeParse.expressCheckout;
|
|
856
|
-
var productScene = isExpressCheckout ? ProductScene.EXPRESS_CHECKOUT : ProductScene.ELEMENT_PAYMENT;
|
|
857
|
-
// 查找对应的产品场景
|
|
858
|
-
var scenario = productEventScenarios.find(function (s) {
|
|
859
|
-
return s.eventName === productScene;
|
|
860
|
-
});
|
|
861
|
-
// 检查场景存在且事件名称在支持的事件列表中
|
|
862
|
-
return scenario !== undefined && scenario.supportedEvents.includes(event);
|
|
863
|
-
}
|
|
864
853
|
}]);
|
|
865
854
|
return ElementController;
|
|
866
855
|
}();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IElementOptions, PaymentMountOptions } from './type';
|
|
2
2
|
export declare class ElementComponent {
|
|
3
3
|
private options;
|
|
4
4
|
private controller;
|
|
@@ -8,7 +8,6 @@ export declare class ElementComponent {
|
|
|
8
8
|
validateFields(): Promise<{
|
|
9
9
|
isValid: boolean;
|
|
10
10
|
}>;
|
|
11
|
-
submitPayment(
|
|
11
|
+
submitPayment(): Promise<import("./type").IPaymentApiResponse>;
|
|
12
12
|
destroy(): void;
|
|
13
|
-
on<T extends EVENTNAME>(event: T, callback: (data: EventDataMap[T]) => void): void;
|
|
14
13
|
}
|
|
@@ -62,19 +62,14 @@ export var ElementComponent = /*#__PURE__*/function () {
|
|
|
62
62
|
}
|
|
63
63
|
}, {
|
|
64
64
|
key: "submitPayment",
|
|
65
|
-
value: function submitPayment(
|
|
66
|
-
return this.controller.submitPayment(
|
|
65
|
+
value: function submitPayment() {
|
|
66
|
+
return this.controller.submitPayment();
|
|
67
67
|
}
|
|
68
68
|
}, {
|
|
69
69
|
key: "destroy",
|
|
70
70
|
value: function destroy() {
|
|
71
71
|
this.controller.destroy();
|
|
72
72
|
}
|
|
73
|
-
}, {
|
|
74
|
-
key: "on",
|
|
75
|
-
value: function on(event, callback) {
|
|
76
|
-
this.controller.on(event, callback);
|
|
77
|
-
}
|
|
78
73
|
}]);
|
|
79
74
|
return ElementComponent;
|
|
80
75
|
}();
|
|
@@ -261,21 +261,9 @@ export interface AddressSubmitData {
|
|
|
261
261
|
shippingId: string;
|
|
262
262
|
actionFlag?: 'I' | 'U' | 'D';
|
|
263
263
|
}
|
|
264
|
-
export interface HandleAction {
|
|
265
|
-
threeD?: boolean;
|
|
266
|
-
callApp?: boolean;
|
|
267
|
-
pageRedirect?: boolean;
|
|
268
|
-
qrCode?: boolean;
|
|
269
|
-
}
|
|
270
|
-
export type HandleActionType = boolean | HandleAction;
|
|
271
|
-
export interface SubmitFuncParams {
|
|
272
|
-
shippingInfo?: AddressSubmitData;
|
|
273
|
-
handleAction?: HandleActionType;
|
|
274
|
-
}
|
|
275
264
|
export interface SubmitServiceParams extends PaymentSubmitData {
|
|
276
265
|
accountInfo: AuthSubmitData['accountInfo'];
|
|
277
266
|
shipping?: AddressSubmitData;
|
|
278
|
-
handleAction?: HandleActionType;
|
|
279
267
|
}
|
|
280
268
|
interface SubmitResultActionForm extends ActionForm {
|
|
281
269
|
paymentCodeExpireTime: string;
|
|
@@ -455,30 +443,4 @@ export declare enum EXPOSURE_API_EVENT {
|
|
|
455
443
|
VALIDATAFIELDS = "validateFields",
|
|
456
444
|
UPDATEPAYMENT = "updatePayment"
|
|
457
445
|
}
|
|
458
|
-
export declare enum EVENTNAME {
|
|
459
|
-
PAYMENTMETHODCHANGED = "paymentMethodChanged",
|
|
460
|
-
VALUESCHANGED = "valuesChanged"
|
|
461
|
-
}
|
|
462
|
-
interface PaymentMethodChangedData {
|
|
463
|
-
type: string;
|
|
464
|
-
name: string;
|
|
465
|
-
}
|
|
466
|
-
interface ValuesChangedData {
|
|
467
|
-
region: string;
|
|
468
|
-
state: string;
|
|
469
|
-
city: string;
|
|
470
|
-
address1: string;
|
|
471
|
-
address2: string;
|
|
472
|
-
zipCode: string;
|
|
473
|
-
phoneNo: string;
|
|
474
|
-
name: {
|
|
475
|
-
firstName: string;
|
|
476
|
-
lastName: string;
|
|
477
|
-
middleName: string;
|
|
478
|
-
};
|
|
479
|
-
}
|
|
480
|
-
export interface EventDataMap {
|
|
481
|
-
[EVENTNAME.PAYMENTMETHODCHANGED]: PaymentMethodChangedData;
|
|
482
|
-
[EVENTNAME.VALUESCHANGED]: ValuesChangedData;
|
|
483
|
-
}
|
|
484
446
|
export {};
|
|
@@ -147,11 +147,4 @@ export var EXPOSURE_API_EVENT = /*#__PURE__*/function (EXPOSURE_API_EVENT) {
|
|
|
147
147
|
EXPOSURE_API_EVENT["VALIDATAFIELDS"] = "validateFields";
|
|
148
148
|
EXPOSURE_API_EVENT["UPDATEPAYMENT"] = "updatePayment";
|
|
149
149
|
return EXPOSURE_API_EVENT;
|
|
150
|
-
}({});
|
|
151
|
-
export var EVENTNAME = /*#__PURE__*/function (EVENTNAME) {
|
|
152
|
-
EVENTNAME["PAYMENTMETHODCHANGED"] = "paymentMethodChanged";
|
|
153
|
-
EVENTNAME["VALUESCHANGED"] = "valuesChanged";
|
|
154
|
-
return EVENTNAME;
|
|
155
|
-
}({});
|
|
156
|
-
|
|
157
|
-
// 支付方式改变的回调函数的数据结构
|
|
150
|
+
}({});
|
|
@@ -83,4 +83,3 @@ export declare const isElementPC: () => boolean;
|
|
|
83
83
|
*/
|
|
84
84
|
export declare const isLoadErrorPage: (params: CashierSdkActionQueryResult) => boolean;
|
|
85
85
|
export declare const safeStringify: (payload: any, defaultValue?: string) => string;
|
|
86
|
-
export declare const safeParse: (payload: any, defaultValue?: Record<string, any>) => Record<string, any>;
|
|
@@ -535,14 +535,4 @@ export var safeStringify = function safeStringify(payload) {
|
|
|
535
535
|
console.error('JSON.stringify failed:', e);
|
|
536
536
|
return defaultValue;
|
|
537
537
|
}
|
|
538
|
-
};
|
|
539
|
-
export var safeParse = function safeParse(payload) {
|
|
540
|
-
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
541
|
-
if (!payload) return defaultValue;
|
|
542
|
-
try {
|
|
543
|
-
return JSON.parse(payload) || defaultValue;
|
|
544
|
-
} catch (e) {
|
|
545
|
-
console.error('JSON.parse failed:', e);
|
|
546
|
-
return defaultValue;
|
|
547
|
-
}
|
|
548
538
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PaymentContext, SDKMetaData, Service } from '../../index';
|
|
2
1
|
import { IoptionsParams } from '../../../types';
|
|
2
|
+
import { PaymentContext, SDKMetaData, Service } from '../../index';
|
|
3
3
|
import { LogExtra, LogMetaData, LogPayload } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* @author 谦彧 <zhangmian.zm@alipay.com>
|
|
@@ -8,10 +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";
|
|
12
11
|
import { isPC } from "../../../util";
|
|
13
|
-
import { getStorageString, setStorageString } from "../../../util/storage";
|
|
14
12
|
import { SPM_MAP } from "../../../util/spm-map";
|
|
13
|
+
import { getStorageString, setStorageString } from "../../../util/storage";
|
|
14
|
+
import { LogComplianceProcessor } from "./processor";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @author 谦彧 <zhangmian.zm@alipay.com>
|
|
@@ -185,14 +185,14 @@ export var LogService = /*#__PURE__*/function () {
|
|
|
185
185
|
value: function loadScript(url, callback) {
|
|
186
186
|
var _this3 = this;
|
|
187
187
|
/*
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
188
|
+
* 如果宿主环境存在AMD加载器,通过直接创建script标签的方式加载会造成宿主环境报错:
|
|
189
|
+
* Message: Mismatched anonymous define() module
|
|
190
|
+
* 原因是直接通过script标签加载的模块如果没有定义模块名,会被AMD加载器认为是匿名模块,
|
|
191
|
+
* 而宿主环境中已经存在匿名模块,导致报错。
|
|
192
|
+
*
|
|
193
|
+
* TODO: 所有通过window.iTracker调用的方法都需要判断
|
|
194
|
+
* 是否是AMD环境,如果是,需要通过require加载获取iTracker实例
|
|
195
|
+
* */
|
|
196
196
|
if (typeof window.define === 'function' && window.define.amd && typeof window.require === 'function') {
|
|
197
197
|
var moduleId = 'antom_iTracker';
|
|
198
198
|
try {
|
|
@@ -227,7 +227,12 @@ export var LogService = /*#__PURE__*/function () {
|
|
|
227
227
|
script.onerror = function () {
|
|
228
228
|
console.error("unable to load Antom script: ".concat(url));
|
|
229
229
|
};
|
|
230
|
-
|
|
230
|
+
// CDN 方式接入 sdk,执行时机可能在 body 创建之前
|
|
231
|
+
if (document.body) {
|
|
232
|
+
document.body.appendChild(script);
|
|
233
|
+
} else if (document.head) {
|
|
234
|
+
document.head.appendChild(script);
|
|
235
|
+
}
|
|
231
236
|
}
|
|
232
237
|
}, {
|
|
233
238
|
key: "initTracker",
|
package/esm/util/logger.js
CHANGED
|
@@ -220,7 +220,12 @@ export var Logger = /*#__PURE__*/function () {
|
|
|
220
220
|
script.onerror = function () {
|
|
221
221
|
console.error("unable to load Antom script: ".concat(url));
|
|
222
222
|
};
|
|
223
|
-
|
|
223
|
+
// CDN 方式接入 sdk,执行时机可能在 body 创建之前
|
|
224
|
+
if (document.body) {
|
|
225
|
+
document.body.appendChild(script);
|
|
226
|
+
} else if (document.head) {
|
|
227
|
+
document.head.appendChild(script);
|
|
228
|
+
}
|
|
224
229
|
}
|
|
225
230
|
}, {
|
|
226
231
|
key: "initTracker",
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare enum ProductScene {
|
|
2
|
-
EXPRESS_CHECKOUT = "EXPRESS_CHECKOUT",
|
|
3
|
-
ELEMENT_PAYMENT = "ELEMENT_PAYMENT"
|
|
4
|
-
}
|
|
5
|
-
interface EventScenario {
|
|
6
|
-
eventName: ProductScene;
|
|
7
|
-
supportedEvents: string[];
|
|
8
|
-
}
|
|
9
|
-
export declare const productEventScenarios: EventScenario[];
|
|
10
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// 定义产品场景的枚举
|
|
2
|
-
export var ProductScene = /*#__PURE__*/function (ProductScene) {
|
|
3
|
-
ProductScene["EXPRESS_CHECKOUT"] = "EXPRESS_CHECKOUT";
|
|
4
|
-
ProductScene["ELEMENT_PAYMENT"] = "ELEMENT_PAYMENT";
|
|
5
|
-
return ProductScene;
|
|
6
|
-
}({});
|
|
7
|
-
|
|
8
|
-
// 定义一个事件场景的接口
|
|
9
|
-
|
|
10
|
-
// 存储产品场景及支持的事件名
|
|
11
|
-
export var productEventScenarios = [{
|
|
12
|
-
eventName: ProductScene.EXPRESS_CHECKOUT,
|
|
13
|
-
supportedEvents: [] // 没有支持的事件
|
|
14
|
-
}, {
|
|
15
|
-
eventName: ProductScene.ELEMENT_PAYMENT,
|
|
16
|
-
supportedEvents: ['paymentMethodChanged', 'valuesChanged'] // 支持的事件
|
|
17
|
-
}];
|