@alipay/ams-checkout 1.37.0 → 1.38.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.
@@ -5,10 +5,10 @@ export declare const sdkVersion: string;
5
5
  /**
6
6
  * @description: 目前应用层分为v1和v2,会存在两个应用版本号不是同步发布的情况。所以需要把默认的应用版本号配置抽离出来。
7
7
  */
8
- export declare const AMSCheckoutAppVersion = "1.37.0";
9
- export declare const AMSAutoDebitAppVersion = "1.37.0";
10
- export declare const AMSEasyPayAppVersion = "1.37.0";
11
- export declare const AMSCashierPaymentAppVersion = "1.37.0";
12
- export declare const AMSVaultingAppVersion = "1.37.0";
13
- export declare const AMSPaymentElementAppVersion = "1.37.0";
14
- export declare const ADDRESSElementAppVersion = "1.37.0";
8
+ export declare const AMSCheckoutAppVersion = "1.38.0";
9
+ export declare const AMSAutoDebitAppVersion = "1.38.0";
10
+ export declare const AMSEasyPayAppVersion = "1.38.0";
11
+ export declare const AMSCashierPaymentAppVersion = "1.38.0";
12
+ export declare const AMSVaultingAppVersion = "1.38.0";
13
+ export declare const AMSPaymentElementAppVersion = "1.38.0";
14
+ export declare const ADDRESSElementAppVersion = "1.38.0";
@@ -35,10 +35,10 @@ export var sdkVersion = json.version;
35
35
  /**
36
36
  * @description: 目前应用层分为v1和v2,会存在两个应用版本号不是同步发布的情况。所以需要把默认的应用版本号配置抽离出来。
37
37
  */
38
- export var AMSCheckoutAppVersion = '1.37.0'; // 兜底版本号
39
- export var AMSAutoDebitAppVersion = '1.37.0'; // 代扣
40
- export var AMSEasyPayAppVersion = '1.37.0'; // easypay
41
- export var AMSCashierPaymentAppVersion = '1.37.0'; // 收银台(卡、apm)
42
- export var AMSVaultingAppVersion = '1.37.0'; // 绑卡
43
- export var AMSPaymentElementAppVersion = '1.37.0'; // payment element
44
- export var ADDRESSElementAppVersion = '1.37.0'; // address element
38
+ export var AMSCheckoutAppVersion = '1.38.0'; // 兜底版本号
39
+ export var AMSAutoDebitAppVersion = '1.38.0'; // 代扣
40
+ export var AMSEasyPayAppVersion = '1.38.0'; // easypay
41
+ export var AMSCashierPaymentAppVersion = '1.38.0'; // 收银台(卡、apm)
42
+ export var AMSVaultingAppVersion = '1.38.0'; // 绑卡
43
+ export var AMSPaymentElementAppVersion = '1.38.0'; // payment element
44
+ export var ADDRESSElementAppVersion = '1.38.0'; // address element
@@ -67,9 +67,9 @@ export declare const ERRORMESSAGE: {
67
67
  message: string;
68
68
  };
69
69
  };
70
- SDK_CALL_URL_ERROR: {
70
+ SDK_LAUNCH_PAYMENT_APP_ERROR: {
71
71
  code: eventCodeEnum;
72
- REDIRECT_ERROR: {
72
+ CALL_APP_URL_ERROR: {
73
73
  code: eventCodeEnum;
74
74
  message: string;
75
75
  };
@@ -78,6 +78,16 @@ export declare const ERRORMESSAGE: {
78
78
  code: eventCodeEnum;
79
79
  message: string;
80
80
  };
81
+ /**
82
+ @deprecated 已废弃 请使用SDK_LAUNCH_PAYMENT_APP_ERROR
83
+ */
84
+ SDK_CALL_URL_ERROR: {
85
+ code: eventCodeEnum;
86
+ REDIRECT_ERROR: {
87
+ code: eventCodeEnum;
88
+ message: string;
89
+ };
90
+ };
81
91
  };
82
92
  export declare const BASEPLUGINID = "CHECKOUT";
83
93
  export declare const COMPONENTPLUGINID = "COMPONENT";
@@ -165,6 +175,9 @@ export declare const EVENT: {
165
175
  getGlobalData: {
166
176
  name: string;
167
177
  };
178
+ /**
179
+ * @deprecated 已废弃 请使用eventCallback
180
+ */
168
181
  sendMuitiAppEventToSdk: {
169
182
  name: string;
170
183
  };
@@ -67,16 +67,26 @@ export var ERRORMESSAGE = {
67
67
  message: 'Load resource timeout'
68
68
  }
69
69
  },
70
+ SDK_LAUNCH_PAYMENT_APP_ERROR: {
71
+ code: eventCodeEnum.SDK_LAUNCH_PAYMENT_APP_ERROR,
72
+ CALL_APP_URL_ERROR: {
73
+ code: eventCodeEnum.SDK_LAUNCH_PAYMENT_APP_ERROR,
74
+ message: 'Failed to launch app'
75
+ }
76
+ },
77
+ SDK_SUBMIT_ERROR: {
78
+ code: eventCodeEnum.SDK_LAUNCH_PAYMENT_APP_ERROR,
79
+ message: 'Component not created or current browser compatibility issue, not supported'
80
+ },
81
+ /**
82
+ @deprecated 已废弃 请使用SDK_LAUNCH_PAYMENT_APP_ERROR
83
+ */
70
84
  SDK_CALL_URL_ERROR: {
71
85
  code: eventCodeEnum.SDK_CALL_URL_ERROR,
72
86
  REDIRECT_ERROR: {
73
87
  code: eventCodeEnum.SDK_CALL_URL_ERROR,
74
88
  message: 'Redirect data exception'
75
89
  }
76
- },
77
- SDK_SUBMIT_ERROR: {
78
- code: eventCodeEnum.SDK_CALL_URL_ERROR,
79
- message: 'Component not created or current browser compatibility issue, not supported'
80
90
  }
81
91
  };
82
92
  export var BASEPLUGINID = 'CHECKOUT';
@@ -166,7 +176,9 @@ export var EVENT = {
166
176
  getGlobalData: {
167
177
  name: 'getGlobalData'
168
178
  },
169
- // deprecated
179
+ /**
180
+ * @deprecated 已废弃 请使用eventCallback
181
+ */
170
182
  sendMuitiAppEventToSdk: {
171
183
  name: 'sendMuitiAppEventToSdk'
172
184
  },
@@ -12,7 +12,7 @@ declare class ElementController {
12
12
  private initService;
13
13
  private initElementProcessors;
14
14
  private onEventCallback;
15
- mount(renderOptions: LinkAuthMountOptions | AddressMountOptions | PaymentMountOptions, sdkSelector: string, cashier?: boolean): any;
15
+ mount(renderOptions: LinkAuthMountOptions | AddressMountOptions | PaymentMountOptions, sdkSelector: string): any;
16
16
  private onValidateFunc;
17
17
  submitPayment(): void;
18
18
  private changeLoading;
@@ -20,7 +20,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
20
20
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
21
21
  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); }
22
22
  import { cleanMockup, removeRetentionPopup } from "../../../../component/component.popup.style";
23
- import { EVENT } from "../../../../constant";
23
+ import { ERRORMESSAGE, EVENT } from "../../../../constant";
24
24
  import AddressProcessor from "../../../../core/component/element/elementProcessor/addressProcessor";
25
25
  import AuthProcessor from "../../../../core/component/element/elementProcessor/authProcessor";
26
26
  import PaymentProcessor from "../../../../core/component/element/elementProcessor/paymentProcessor";
@@ -108,7 +108,7 @@ var ElementController = /*#__PURE__*/function () {
108
108
  }
109
109
  }, {
110
110
  key: "mount",
111
- value: function mount(renderOptions, sdkSelector, cashier) {
111
+ value: function mount(renderOptions, sdkSelector) {
112
112
  var _this = this;
113
113
  return new Promise(function (resolve) {
114
114
  var _checkCanMount = checkCanMount({
@@ -135,6 +135,7 @@ var ElementController = /*#__PURE__*/function () {
135
135
  _this.initTimeout = null;
136
136
  _this.changeLoading(false);
137
137
  _this.setControllerStatusOrView(IElementStatus.READY);
138
+ _this.onEventCallback(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CALL_APP_URL_ERROR);
138
139
  _this.elementContainerService.getContainerServices().forEach(function (value) {
139
140
  value.getContainerElement().remove();
140
141
  });
@@ -147,15 +148,14 @@ var ElementController = /*#__PURE__*/function () {
147
148
  appendAliasContainerId: true
148
149
  })
149
150
  };
150
- if (cashier && renderOptions.sessionData) {
151
- startBizFlowData.paymentSession = renderOptions.sessionData;
152
- }
153
151
  _this.setControllerStatusOrView(IElementStatus.IN_BIZ_FLOW);
154
152
  _this.elementContainer.startBizFlow(startBizFlowData).catch(function (error) {
155
153
  _this.onEventCallback({
156
154
  code: EventCallbackCode.SDK_CREATEPAYMENT_PARAMETER_ERROR,
157
155
  message: (error === null || error === void 0 ? void 0 : error.message) || 'Initialization parameter exception.'
158
156
  });
157
+ clearTimeout(_this.initTimeout);
158
+ _this.initTimeout = null;
159
159
  _this.changeLoading(false);
160
160
  return;
161
161
  });
@@ -303,7 +303,8 @@ var ElementController = /*#__PURE__*/function () {
303
303
  // }
304
304
  });
305
305
  this.serviceMap.EventCenter.listen(EVENT.redirect.name, function (data) {
306
- handleRedirect(data);
306
+ var onEventCallback = _this4.onEventCallback.bind(_this4);
307
+ handleRedirect(data, false, onEventCallback);
307
308
  });
308
309
  this.serviceMap.EventCenter.listen(EVENT.destroy.name, function () {
309
310
  _this4.setControllerStatusOrView(IElementStatus.READY);
@@ -7,7 +7,6 @@ export declare class ElementComponent {
7
7
  mount(renderOptions: LinkAuthMountOptions, sdkSelector: string): LinkAuthMountResult;
8
8
  mount(renderOptions: AddressMountOptions, sdkSelector: string): AddressMountResult;
9
9
  mount(renderOptions: PaymentMountOptions, sdkSelector: string): PaymentMountResult;
10
- mountCashier(renderOptions: any, sdkSelector: any): any;
11
10
  submitPayment(): void;
12
11
  destroy(): void;
13
12
  }
@@ -11,12 +11,14 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import ElementController from "./elementController";
14
- import { formatElementOption } from "./util";
14
+ import { formatElementOption, validateElementOption } from "./util";
15
15
  export var ElementComponent = /*#__PURE__*/function () {
16
16
  function ElementComponent(options) {
17
17
  _classCallCheck(this, ElementComponent);
18
18
  _defineProperty(this, "options", void 0);
19
19
  _defineProperty(this, "controller", void 0);
20
+ var validate = validateElementOption(options);
21
+ if (!validate) return;
20
22
  this.options = formatElementOption(options);
21
23
  this.controller = new ElementController(options);
22
24
  }
@@ -47,11 +49,6 @@ export var ElementComponent = /*#__PURE__*/function () {
47
49
  appearance: this === null || this === void 0 || (_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.appearance
48
50
  }, renderOptions), sdkSelector);
49
51
  }
50
- }, {
51
- key: "mountCashier",
52
- value: function mountCashier(renderOptions, sdkSelector) {
53
- return this.controller.mount(renderOptions, sdkSelector, true);
54
- }
55
52
  }, {
56
53
  key: "submitPayment",
57
54
  value: function submitPayment() {
@@ -13,6 +13,9 @@ export declare enum ElementPaymentEvent {
13
13
  SIZE_CHANGE = "onSizeChange",
14
14
  LAUNCH = "onLaunch",
15
15
  CALLBACK = "callback",
16
+ /**
17
+ * @deprecated 已废弃 请使用eventCallback
18
+ */
16
19
  SEND_MUITI_APP_EVENT_TO_SDK = "sendMuitiAppEventToSdk",
17
20
  LOG = "log",
18
21
  HANDLE_PAYMENT = "handlePayment"
@@ -62,23 +65,6 @@ export declare enum ELEMENT_ENVIRONMENT {
62
65
  SANDBOX = "SANDBOX"
63
66
  }
64
67
  export type ELEMENT_ENVIRONMENT_TYPE = keyof typeof ELEMENT_ENVIRONMENT | (typeof ELEMENT_ENVIRONMENT)[keyof typeof ELEMENT_ENVIRONMENT];
65
- export interface IElementOptions {
66
- environment?: ELEMENT_ENVIRONMENT_TYPE;
67
- locale?: string;
68
- version?: string;
69
- appearance?: {
70
- theme: ThemeType.Default | ThemeType.Night;
71
- };
72
- onEventCallback?: ({ code, message, result }: {
73
- code: EventCallbackCode;
74
- message: string;
75
- result?: any;
76
- }) => void;
77
- loading?: {
78
- onStartLoading: () => void;
79
- onEndLoading: () => void;
80
- };
81
- }
82
68
  export interface AddressMountComponentsParams {
83
69
  configParams?: AddressMountConfig;
84
70
  prefillValue: Array<AddressSubmitData>;
@@ -95,7 +81,6 @@ export interface AddressMountComponentsParams {
95
81
  }
96
82
  interface BaseMountOptions<T = void> {
97
83
  configParams?: T;
98
- sessionData: string;
99
84
  debugProps?: {
100
85
  localLink: string;
101
86
  };
@@ -1,16 +1,17 @@
1
1
  import { IElementStatus } from '../../../foundation';
2
2
  import { Ianalytics, IPaymentSessionMetaData } from '../../../types';
3
3
  import { ContainerController } from './elementContainerService/containerService';
4
- import { ELEMENT_ENVIRONMENT_TYPE, IElementOptions, IToastOptions } from './type';
5
- declare const formatElementOption: (options: IElementOptions) => {
4
+ import { ELEMENT_ENVIRONMENT_TYPE, IElementOptions, IToastOptions, EventCallbackCode } from './type';
5
+ export declare const formatElementOption: (options: IElementOptions) => {
6
6
  environment: ELEMENT_ENVIRONMENT_TYPE;
7
+ sessionData: string;
7
8
  locale?: string;
8
9
  version?: string;
9
10
  appearance?: {
10
11
  theme: import("./type").ThemeType.Default | import("./type").ThemeType.Night;
11
12
  };
12
13
  onEventCallback?: ({ code, message, result }: {
13
- code: import("./type").EventCallbackCode;
14
+ code: EventCallbackCode;
14
15
  message: string;
15
16
  result?: any;
16
17
  }) => void;
@@ -18,8 +19,8 @@ declare const formatElementOption: (options: IElementOptions) => {
18
19
  onStartLoading: () => void;
19
20
  onEndLoading: () => void;
20
21
  };
21
- sessionData: string;
22
22
  };
23
+ export declare const validateElementOption: (options: IElementOptions) => boolean;
23
24
  /**
24
25
  * 校验渲染条件
25
26
  * 校验当前sdkSelector结点是否存在
@@ -49,7 +50,10 @@ export declare function generateIframeSrc({ paymentSessionObj, paymentSession, i
49
50
  appVersion: string;
50
51
  link?: string;
51
52
  }): string;
52
- export declare function handleRedirect(data: any, fromFastSdk?: boolean): void;
53
+ export declare function handleRedirect(data: any, fromFastSdk: boolean, eventCallback: ({ code, message }: {
54
+ code: any;
55
+ message: any;
56
+ }) => void): void;
53
57
  export declare function redirect(data: {
54
58
  normalUrl?: string;
55
59
  schemeUrl?: string;
@@ -63,4 +67,3 @@ export declare const isElementMobile: () => boolean;
63
67
  */
64
68
  export declare const isElementPad: () => boolean;
65
69
  export declare const isElementPC: () => boolean;
66
- export { formatElementOption };
@@ -13,17 +13,28 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
13
13
  import { ERRORMESSAGE } from "../../../constant";
14
14
  import { IElementStatus } from "../../../foundation";
15
15
  import { getIframeUrl } from "../../../plugin/component/cashierApp";
16
- import { DisplayTypeEnum, RedirectType, TargetEnum, terminalTypeEnum } from "../../../types";
16
+ import { DisplayTypeEnum, eventCodeEnum, RedirectType, TargetEnum, terminalTypeEnum } from "../../../types";
17
17
  import { device } from "../../../util/index";
18
18
  import CallApp from "../../../util/intl-callapp/es/main";
19
19
  import { getComponentSign, parseSessionData } from "../index";
20
- import { ELEMENT_ENVIRONMENT } from "./type";
21
- var formatElementOption = function formatElementOption(options) {
20
+ import { ELEMENT_ENVIRONMENT, EventCallbackCode } from "./type";
21
+ export var formatElementOption = function formatElementOption(options) {
22
22
  var environment = options.environment;
23
23
  return _objectSpread(_objectSpread({}, options), {}, {
24
24
  environment: (environment || ELEMENT_ENVIRONMENT.PROD).toLocaleLowerCase()
25
25
  });
26
26
  };
27
+ export var validateElementOption = function validateElementOption(options) {
28
+ if (!options.sessionData) {
29
+ var _options$onEventCallb;
30
+ options === null || options === void 0 || (_options$onEventCallb = options.onEventCallback) === null || _options$onEventCallb === void 0 || _options$onEventCallb.call(options, {
31
+ code: EventCallbackCode.SDK_CREATE_COMPONENT_ERROR,
32
+ message: 'sessionData is empty'
33
+ });
34
+ return false;
35
+ }
36
+ return true;
37
+ };
27
38
 
28
39
  /**
29
40
  * 校验渲染条件
@@ -138,6 +149,7 @@ export function generateIframeSrc(_ref3) {
138
149
  export function handleRedirect(data) {
139
150
  var _data$isDestroy, _data$isCallApp, _data$callAppDetectSu;
140
151
  var fromFastSdk = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
152
+ var eventCallback = arguments.length > 2 ? arguments[2] : undefined;
141
153
  console.log('local payment sdk new element redirect arg ----', this);
142
154
  var _data = typeof data === 'string' ? {
143
155
  normalUrl: data
@@ -171,10 +183,10 @@ export function handleRedirect(data) {
171
183
  // .send();
172
184
  var successCallback = function successCallback(type, url, durationInSeconds) {
173
185
  // TODO
174
- // event.dispatchToSDK(EVENT.eventCallback.name, {
175
- // code: eventCodeEnum.SDK_CALL_URL_SUCCESS,
176
- // message: `Successfully opened the app,${type}: ${url}`,
177
- // });
186
+ eventCallback({
187
+ code: eventCodeEnum.SDK_CALL_URL_SUCCESS,
188
+ message: "Successfully opened the app,".concat(type, ": ").concat(url)
189
+ });
178
190
  var extra = {
179
191
  redirectInfo: JSON.stringify(_data),
180
192
  openType: type,
@@ -194,10 +206,10 @@ export function handleRedirect(data) {
194
206
  // .send();
195
207
  };
196
208
  var failCallback = function failCallback(type, url, durationInSeconds) {
197
- // event.dispatchToSDK(EVENT.eventCallback.name, {
198
- // code: eventCodeEnum.SDK_CALL_URL_ERROR,
199
- // message: `Failed to open app,applinkUrl: ${_data?.applinkUrl} schemeUrl: ${_data?.schemeUrl} normalUrl: ${_data?.normalUrl}`,
200
- // });
209
+ eventCallback({
210
+ code: eventCodeEnum.SDK_LAUNCH_PAYMENT_APP_ERROR,
211
+ message: "Failed to open app,applinkUrl: ".concat(_data === null || _data === void 0 ? void 0 : _data.applinkUrl, " schemeUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.schemeUrl, " normalUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.normalUrl)
212
+ });
201
213
  var extra = {
202
214
  redirectInfo: JSON.stringify(_data),
203
215
  openType: type,
@@ -253,21 +265,9 @@ export function handleRedirect(data) {
253
265
  return;
254
266
  }
255
267
  redirect({
256
- applinkUrl: _data === null || _data === void 0 ? void 0 : _data.applinkUrl
257
- }).then(function () {
258
- successCallback(RedirectType.ApplinkUrl, _data === null || _data === void 0 ? void 0 : _data.applinkUrl);
259
- }).catch(function () {
260
- if (_data !== null && _data !== void 0 && _data.applinkUrl) failCallback(RedirectType.ApplinkUrl, _data === null || _data === void 0 ? void 0 : _data.applinkUrl);
261
- return redirect({
262
- schemeUrl: _data === null || _data === void 0 ? void 0 : _data.schemeUrl
263
- });
264
- }).then(function () {
265
- successCallback(RedirectType.SchemeUrl, _data === null || _data === void 0 ? void 0 : _data.schemeUrl);
266
- }).catch(function () {
267
- if (_data !== null && _data !== void 0 && _data.schemeUrl) failCallback(RedirectType.SchemeUrl, _data === null || _data === void 0 ? void 0 : _data.schemeUrl);
268
- return redirect({
269
- normalUrl: _data === null || _data === void 0 ? void 0 : _data.normalUrl
270
- });
268
+ applinkUrl: _data === null || _data === void 0 ? void 0 : _data.applinkUrl,
269
+ schemeUrl: _data === null || _data === void 0 ? void 0 : _data.schemeUrl,
270
+ normalUrl: _data === null || _data === void 0 ? void 0 : _data.normalUrl
271
271
  }).then(function () {
272
272
  successCallback(RedirectType.NormalUrl, _data === null || _data === void 0 ? void 0 : _data.normalUrl);
273
273
  }).catch(function () {
@@ -288,7 +288,7 @@ export function redirect(data) {
288
288
  window.location.href = normalUrl;
289
289
  return;
290
290
  }
291
- reject(ERRORMESSAGE.SDK_CALL_URL_ERROR.REDIRECT_ERROR);
291
+ reject(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CALL_APP_URL_ERROR);
292
292
  };
293
293
  var callAppFunc = function callAppFunc() {
294
294
  if (!schemeUrl && !applinkUrl) {
@@ -474,5 +474,4 @@ export var isElementPad = function isElementPad() {
474
474
  };
475
475
  export var isElementPC = function isElementPC() {
476
476
  return !isElementMobile();
477
- };
478
- export { formatElementOption };
477
+ };
@@ -10,6 +10,9 @@ export declare enum ElementPaymentEvent {
10
10
  SIZE_CHANGE = "onSizeChange",
11
11
  LAUNCH = "onLaunch",
12
12
  CALLBACK = "callback",
13
+ /**
14
+ * @deprecated 已废弃 请使用eventCallback
15
+ */
13
16
  SEND_MUITI_APP_EVENT_TO_SDK = "sendMuitiAppEventToSdk",
14
17
  LOG = "log",
15
18
  HANDLE_PAYMENT = "handlePayment"
@@ -435,7 +435,7 @@ var AMSSDK = /*#__PURE__*/function () {
435
435
  window.location.href = normalUrl;
436
436
  return;
437
437
  }
438
- reject(ERRORMESSAGE.SDK_CALL_URL_ERROR.REDIRECT_ERROR);
438
+ reject(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CALL_APP_URL_ERROR);
439
439
  };
440
440
  var callAppFunc = function callAppFunc() {
441
441
  if (!schemeUrl && !applinkUrl) {
@@ -216,7 +216,7 @@ export var ContainerService = /*#__PURE__*/function () {
216
216
  _this.handleSizeChanged(_objectSpread({}, data));
217
217
  });
218
218
  this.eventCenter.listen(EVENT.showCloseButton.name, function (data) {
219
- _this.handleCloseButtonTheme(data.theme);
219
+ _this.handleCloseButtonTheme(data.style);
220
220
  _this.changeCloseBtnVisibility(true);
221
221
  });
222
222
  this.eventCenter.listen(EVENT.hideCloseButton.name, function () {
@@ -407,12 +407,12 @@ export var ContainerService = /*#__PURE__*/function () {
407
407
  }
408
408
  }, {
409
409
  key: "handleCloseButtonTheme",
410
- value: function handleCloseButtonTheme(theme) {
411
- if (!theme) return;
410
+ value: function handleCloseButtonTheme(style) {
411
+ if (!style) return;
412
412
  var closeBlock = document.getElementById(COMPONENT_CLOSE_BLOCK_ID);
413
413
  var closeButtonImg = closeBlock === null || closeBlock === void 0 ? void 0 : closeBlock.querySelector('img');
414
414
  var maskCloseBlock = document.getElementById(COMPONENT_CLOSE_MASK_BLOCK_ID);
415
- if (theme === 'light') {
415
+ if (style === 'light') {
416
416
  closeButtonImg === null || closeButtonImg === void 0 || closeButtonImg.setAttribute('src', closeImgLight);
417
417
  closeBlock === null || closeBlock === void 0 || closeBlock.classList.add("".concat(COMPONENT_CLOSE_BLOCK_ID, "-light"));
418
418
  maskCloseBlock === null || maskCloseBlock === void 0 || maskCloseBlock.classList.add("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID, "-light"));
@@ -69,26 +69,42 @@ export var redirect = function redirect(payload, instanceId) {
69
69
  successCallback(payload, type, evokeAppBy.url, serviceProvider);
70
70
  }
71
71
  });
72
+ var callApplinkUrl = function callApplinkUrl() {
73
+ try {
74
+ callAppLib.open({
75
+ link: payload.applinkUrl,
76
+ fallback: function fallback() {
77
+ failCallback(payload, RedirectType.ApplinkUrl, payload.applinkUrl, serviceProvider);
78
+ // Applink evoke failed, try to use scheme url
79
+ callSchemeUrl();
80
+ }
81
+ });
82
+ } catch (error) {
83
+ failCallback(payload, RedirectType.ApplinkUrl, payload.applinkUrl, serviceProvider);
84
+ // Applink evoke failed, try to use scheme url
85
+ callSchemeUrl();
86
+ }
87
+ };
72
88
  var callSchemeUrl = function callSchemeUrl() {
73
- callAppLib.open({
74
- scheme: payload.schemeUrl,
75
- fallback: function fallback() {
76
- failCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, serviceProvider);
77
- if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
78
- successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
79
- window.location.href = payload.url;
80
- }
81
- });
89
+ try {
90
+ callAppLib.open({
91
+ scheme: payload.schemeUrl,
92
+ fallback: function fallback() {
93
+ failCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, serviceProvider);
94
+ if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
95
+ successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
96
+ window.location.href = payload.url;
97
+ }
98
+ });
99
+ } catch (error) {
100
+ failCallback(payload, RedirectType.SchemeUrl, payload.schemeUrl, serviceProvider);
101
+ if (!payload.url) return failCallback(payload, RedirectType.NormalUrl, '', serviceProvider);
102
+ successCallback(payload, RedirectType.NormalUrl, payload.url, serviceProvider);
103
+ window.location.href = payload.url;
104
+ }
82
105
  };
83
106
  if (payload.applinkUrl) {
84
- callAppLib.open({
85
- link: payload.applinkUrl,
86
- fallback: function fallback() {
87
- failCallback(payload, RedirectType.ApplinkUrl, payload.applinkUrl, serviceProvider);
88
- // Applink evoke failed, try to use scheme url
89
- callSchemeUrl();
90
- }
91
- });
107
+ callApplinkUrl();
92
108
  } else if (payload.schemeUrl) {
93
109
  callSchemeUrl();
94
110
  }
@@ -116,7 +132,7 @@ var successCallback = function successCallback(payload, type, url, serviceProvid
116
132
  };
117
133
  var failCallback = function failCallback(payload, type, url, serviceProvider) {
118
134
  serviceProvider.getService('EventCenter').emit(EVENT.eventCallback.name, {
119
- code: eventCodeEnum.SDK_CALL_URL_ERROR,
135
+ code: eventCodeEnum.SDK_LAUNCH_PAYMENT_APP_ERROR,
120
136
  message: "Failed to open app,applinkUrl: ".concat(payload === null || payload === void 0 ? void 0 : payload.applinkUrl, " schemeUrl: ").concat(payload === null || payload === void 0 ? void 0 : payload.schemeUrl, " normalUrl: ").concat(payload === null || payload === void 0 ? void 0 : payload.url)
121
137
  });
122
138
  serviceProvider.getService('Log').logInfo({
@@ -1573,7 +1573,7 @@ var ComponentApp = /*#__PURE__*/function () {
1573
1573
  };
1574
1574
  var failCallback = function failCallback(type, url, durationInSeconds) {
1575
1575
  _this8.dispatchToSDK(EVENT.eventCallback.name, {
1576
- code: eventCodeEnum.SDK_CALL_URL_ERROR,
1576
+ code: eventCodeEnum.SDK_LAUNCH_PAYMENT_APP_ERROR,
1577
1577
  message: "Failed to open app,applinkUrl: ".concat(_data === null || _data === void 0 ? void 0 : _data.applinkUrl, " schemeUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.schemeUrl, " normalUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.normalUrl)
1578
1578
  });
1579
1579
  var extra = {
@@ -641,8 +641,18 @@ export declare enum eventCodeEnum {
641
641
  SDK_CREATEPAYMENT_PARAMETER_ERROR = "SDK_CREATEPAYMENT_PARAMETER_ERROR",
642
642
  SDK_INIT_PARAMETER_ERROR = "SDK_INIT_PARAMETER_ERROR",
643
643
  SDK_CREATECOMPONENT_ERROR = "SDK_CREATECOMPONENT_ERROR",
644
- SDK_CALL_URL_ERROR = "SDK_CALL_URL_ERROR",
644
+ /**
645
+ * 拉取WEB应用&收银台失败
646
+ */
647
+ SDK_LAUNCH_PAYMENT_APP_ERROR = "SDK_LAUNCH_PAYMENT_APP_ERROR",
648
+ /**
649
+ * 拉取WEB应用&收银台成功
650
+ */
645
651
  SDK_CALL_URL_SUCCESS = "SDK_CALL_URL_SUCCESS",
652
+ /**
653
+ @deprecated 已废弃 请使用SDK_LAUNCH_PAYMENT_APP_ERROR
654
+ */
655
+ SDK_CALL_URL_ERROR = "SDK_CALL_URL_ERROR",
646
656
  SDK_PAYMENT_SUCCESSFUL = "SDK_PAYMENT_SUCCESSFUL",
647
657
  SDK_PAYMENT_FAIL = "SDK_PAYMENT_FAIL",
648
658
  SDK_PAYMENT_ERROR = "SDK_PAYMENT_ERROR",
@@ -182,8 +182,9 @@ export var eventCodeEnum = /*#__PURE__*/function (eventCodeEnum) {
182
182
  eventCodeEnum["SDK_CREATEPAYMENT_PARAMETER_ERROR"] = "SDK_CREATEPAYMENT_PARAMETER_ERROR";
183
183
  eventCodeEnum["SDK_INIT_PARAMETER_ERROR"] = "SDK_INIT_PARAMETER_ERROR";
184
184
  eventCodeEnum["SDK_CREATECOMPONENT_ERROR"] = "SDK_CREATECOMPONENT_ERROR";
185
- eventCodeEnum["SDK_CALL_URL_ERROR"] = "SDK_CALL_URL_ERROR";
185
+ eventCodeEnum["SDK_LAUNCH_PAYMENT_APP_ERROR"] = "SDK_LAUNCH_PAYMENT_APP_ERROR";
186
186
  eventCodeEnum["SDK_CALL_URL_SUCCESS"] = "SDK_CALL_URL_SUCCESS";
187
+ eventCodeEnum["SDK_CALL_URL_ERROR"] = "SDK_CALL_URL_ERROR";
187
188
  eventCodeEnum["SDK_PAYMENT_SUCCESSFUL"] = "SDK_PAYMENT_SUCCESSFUL";
188
189
  eventCodeEnum["SDK_PAYMENT_FAIL"] = "SDK_PAYMENT_FAIL";
189
190
  eventCodeEnum["SDK_PAYMENT_ERROR"] = "SDK_PAYMENT_ERROR";
@@ -16,7 +16,7 @@ export function redirect(data) {
16
16
  window.location.href = normalUrl;
17
17
  return;
18
18
  }
19
- reject(ERRORMESSAGE.SDK_CALL_URL_ERROR.REDIRECT_ERROR);
19
+ reject(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CALL_APP_URL_ERROR);
20
20
  };
21
21
  var callAppFunc = function callAppFunc() {
22
22
  if (!schemeUrl && !applinkUrl) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay/ams-checkout",
3
- "version": "1.37.0",
3
+ "version": "1.38.0",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "main": "esm/index.js",
@@ -16,14 +16,32 @@
16
16
  "scripts": {
17
17
  "build": "father build",
18
18
  "build:w": "father dev",
19
- "dev": "father dev",
20
19
  "ci": "npm run lint",
21
20
  "cov": "jest --coverage",
21
+ "dev": "father dev",
22
22
  "format": "prettier --write --no-error-on-unmatched-pattern \"**/*.{js,jsx,ts,tsx,md,json,css,less}\"",
23
23
  "lint": "eslint ./src",
24
24
  "test": "jest --silent",
25
25
  "tsc": "tsc --noEmit"
26
26
  },
27
+ "commitlint": {
28
+ "extends": [
29
+ "@commitlint/config-conventional"
30
+ ]
31
+ },
32
+ "lint-staged": {
33
+ "*.{js,jsx}": [
34
+ "eslint --fix",
35
+ "prettier --write"
36
+ ],
37
+ "*.{ts,tsx}": [
38
+ "eslint --fix",
39
+ "prettier --parser=typescript --write"
40
+ ],
41
+ "*.{md,json}": [
42
+ "prettier --write"
43
+ ]
44
+ },
27
45
  "dependencies": {
28
46
  "axios": "^1.3.4",
29
47
  "uuid": "^9.0.0"
@@ -31,6 +49,8 @@
31
49
  "devDependencies": {
32
50
  "@babel/core": "^7.20.7",
33
51
  "@babel/preset-env": "^7.20.2",
52
+ "@commitlint/cli": "^17.3.0",
53
+ "@commitlint/config-conventional": "^17.3.0",
34
54
  "@testing-library/jest-dom": "^5.1.1",
35
55
  "@testing-library/react": "^9.5.0",
36
56
  "@types/jest": "^29.2.4",
@@ -52,7 +72,9 @@
52
72
  "ts-node": "^10.9.1",
53
73
  "typescript": "^4.9.5"
54
74
  },
55
- "engines": {},
75
+ "engines": {
76
+ "install-node": "18"
77
+ },
56
78
  "publishConfig": {
57
79
  "access": "public"
58
80
  }