@pisell/private-materials 6.3.79 → 6.3.80

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 (151) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/meta.js +1 -1
  5. package/build/lowcode/render/default/view.css +1 -1
  6. package/build/lowcode/render/default/view.js +9 -9
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +9 -9
  9. package/es/components/appointmentBooking/components/Cart/Item/Total.d.ts +0 -1
  10. package/es/components/appointmentBooking/components/Cart/index.d.ts +0 -1
  11. package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  12. package/es/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -1
  13. package/es/components/booking/forms/footer.d.ts +0 -1
  14. package/es/components/booking/forms/sendModal/useSendModal.d.ts +0 -1
  15. package/es/components/booking/hooks/useClearCart.d.ts +0 -1
  16. package/es/components/booking/info/date/index.d.ts +1 -0
  17. package/es/components/booking/info/dateRange/index.d.ts +0 -1
  18. package/es/components/eftpos/const.d.ts +3 -1
  19. package/es/components/eftpos/const.js +2 -0
  20. package/es/components/eftpos/device.d.ts +3 -1
  21. package/es/components/eftpos/device.js +5 -3
  22. package/es/components/eftpos/index.d.ts +0 -1
  23. package/es/components/eftpos/index.js +34 -11
  24. package/es/components/eftpos/index.less +26 -1
  25. package/es/components/eftpos/locales.d.ts +3 -0
  26. package/es/components/eftpos/locales.js +3 -0
  27. package/es/components/eftposPay/aggregatePayment/hooks/usePayment.d.ts +6 -0
  28. package/es/components/eftposPay/aggregatePayment/hooks/usePayment.js +125 -0
  29. package/es/components/eftposPay/aggregatePayment/index.d.ts +3 -0
  30. package/es/components/eftposPay/aggregatePayment/index.js +3 -0
  31. package/es/components/eftposPay/aggregatePayment/mock.d.ts +495 -0
  32. package/es/components/eftposPay/aggregatePayment/mock.js +567 -0
  33. package/es/components/eftposPay/aggregatePayment/service.d.ts +24 -0
  34. package/es/components/eftposPay/aggregatePayment/service.js +70 -0
  35. package/es/components/eftposPay/aggregatePayment/types.d.ts +96 -0
  36. package/es/components/eftposPay/aggregatePayment/types.js +61 -0
  37. package/es/components/eftposPay/aggregatePayment/utils/logs.d.ts +110 -0
  38. package/es/components/eftposPay/aggregatePayment/utils/logs.js +385 -0
  39. package/es/components/eftposPay/aggregatePayment/utils/payment.d.ts +132 -0
  40. package/es/components/eftposPay/aggregatePayment/utils/payment.js +1127 -0
  41. package/es/components/eftposPay/amount.d.ts +0 -1
  42. package/es/components/eftposPay/const.d.ts +6 -1
  43. package/es/components/eftposPay/const.js +2 -0
  44. package/es/components/eftposPay/hooks.d.ts +2 -1
  45. package/es/components/eftposPay/hooks.js +12 -0
  46. package/es/components/eftposPay/linkly/index.js +1 -0
  47. package/es/components/eftposPay/manufacturer.d.ts +1 -0
  48. package/es/components/eftposPay/manufacturer.js +4 -0
  49. package/es/components/eftposPay/mx51/Action.d.ts +6 -0
  50. package/es/components/eftposPay/mx51/Action.js +91 -0
  51. package/es/components/eftposPay/mx51/const.d.ts +5 -0
  52. package/es/components/eftposPay/mx51/const.js +69 -0
  53. package/es/components/eftposPay/mx51/index.d.ts +6 -0
  54. package/es/components/eftposPay/mx51/index.js +362 -0
  55. package/es/components/eftposPay/mx51/types.d.ts +136 -0
  56. package/es/components/eftposPay/mx51/types.js +29 -0
  57. package/es/components/eftposPay/mx51/utils.d.ts +10 -0
  58. package/es/components/eftposPay/mx51/utils.js +120 -0
  59. package/es/components/eftposPay/pay.js +7 -2
  60. package/es/components/eftposPay/store/index.d.ts +1 -1
  61. package/es/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
  62. package/es/components/eventBooking/components/Provider/EmptyHolderModal/index.d.ts +0 -1
  63. package/es/components/eventBooking/components/Provider/Header/index.d.ts +1 -0
  64. package/es/components/eventBooking/components/Provider/OrderProductModal/index.d.ts +0 -1
  65. package/es/components/eventBooking/components/Provider/RemoveOptionConfirmModal.d.ts +0 -1
  66. package/es/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
  67. package/es/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
  68. package/es/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +1 -0
  69. package/es/components/eventBooking/components/scheduleCalendar/components/ScheduleTimeItem/index.d.ts +0 -1
  70. package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
  71. package/es/components/pisellSelectCustomerModal/RightPanel/List/index.d.ts +0 -1
  72. package/es/components/shoppingCart/hooks/useAddService.d.ts +0 -1
  73. package/es/components/shoppingCart/hooks/useClearCart.d.ts +0 -1
  74. package/es/plus/saasRegister/components/VertifyEmail.d.ts +0 -1
  75. package/es/plus/skuOptionsSelection/components/OptionsCard/index.d.ts +0 -1
  76. package/es/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +0 -1
  77. package/es/plus/skuOptionsSelection/components/VariantCard/index.d.ts +0 -1
  78. package/es/plus/walletPassGallery/components/passList/index.d.ts +0 -1
  79. package/lib/components/appointmentBooking/components/Cart/Item/Total.d.ts +0 -1
  80. package/lib/components/appointmentBooking/components/Cart/index.d.ts +0 -1
  81. package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  82. package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -1
  83. package/lib/components/booking/forms/footer.d.ts +0 -1
  84. package/lib/components/booking/forms/sendModal/useSendModal.d.ts +0 -1
  85. package/lib/components/booking/hooks/useClearCart.d.ts +0 -1
  86. package/lib/components/booking/info/date/index.d.ts +1 -0
  87. package/lib/components/booking/info/dateRange/index.d.ts +0 -1
  88. package/lib/components/eftpos/const.d.ts +3 -1
  89. package/lib/components/eftpos/const.js +2 -0
  90. package/lib/components/eftpos/device.d.ts +3 -1
  91. package/lib/components/eftpos/device.js +3 -3
  92. package/lib/components/eftpos/index.d.ts +0 -1
  93. package/lib/components/eftpos/index.js +20 -5
  94. package/lib/components/eftpos/index.less +26 -1
  95. package/lib/components/eftpos/locales.d.ts +3 -0
  96. package/lib/components/eftpos/locales.js +3 -0
  97. package/lib/components/eftposPay/aggregatePayment/hooks/usePayment.d.ts +6 -0
  98. package/lib/components/eftposPay/aggregatePayment/hooks/usePayment.js +152 -0
  99. package/lib/components/eftposPay/aggregatePayment/index.d.ts +3 -0
  100. package/lib/components/eftposPay/aggregatePayment/index.js +32 -0
  101. package/lib/components/eftposPay/aggregatePayment/mock.d.ts +495 -0
  102. package/lib/components/eftposPay/aggregatePayment/mock.js +679 -0
  103. package/lib/components/eftposPay/aggregatePayment/service.d.ts +24 -0
  104. package/lib/components/eftposPay/aggregatePayment/service.js +81 -0
  105. package/lib/components/eftposPay/aggregatePayment/types.d.ts +96 -0
  106. package/lib/components/eftposPay/aggregatePayment/types.js +74 -0
  107. package/lib/components/eftposPay/aggregatePayment/utils/logs.d.ts +110 -0
  108. package/lib/components/eftposPay/aggregatePayment/utils/logs.js +302 -0
  109. package/lib/components/eftposPay/aggregatePayment/utils/payment.d.ts +132 -0
  110. package/lib/components/eftposPay/aggregatePayment/utils/payment.js +746 -0
  111. package/lib/components/eftposPay/amount.d.ts +0 -1
  112. package/lib/components/eftposPay/const.d.ts +6 -1
  113. package/lib/components/eftposPay/const.js +2 -0
  114. package/lib/components/eftposPay/hooks.d.ts +2 -1
  115. package/lib/components/eftposPay/hooks.js +16 -0
  116. package/lib/components/eftposPay/linkly/index.js +1 -0
  117. package/lib/components/eftposPay/manufacturer.d.ts +1 -0
  118. package/lib/components/eftposPay/manufacturer.js +6 -0
  119. package/lib/components/eftposPay/mx51/Action.d.ts +6 -0
  120. package/lib/components/eftposPay/mx51/Action.js +127 -0
  121. package/lib/components/eftposPay/mx51/const.d.ts +5 -0
  122. package/lib/components/eftposPay/mx51/const.js +85 -0
  123. package/lib/components/eftposPay/mx51/index.d.ts +6 -0
  124. package/lib/components/eftposPay/mx51/index.js +330 -0
  125. package/lib/components/eftposPay/mx51/types.d.ts +136 -0
  126. package/lib/components/eftposPay/mx51/types.js +39 -0
  127. package/lib/components/eftposPay/mx51/utils.d.ts +10 -0
  128. package/lib/components/eftposPay/mx51/utils.js +114 -0
  129. package/lib/components/eftposPay/pay.js +4 -2
  130. package/lib/components/eftposPay/store/index.d.ts +1 -1
  131. package/lib/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
  132. package/lib/components/eventBooking/components/Provider/EmptyHolderModal/index.d.ts +0 -1
  133. package/lib/components/eventBooking/components/Provider/Header/index.d.ts +1 -0
  134. package/lib/components/eventBooking/components/Provider/OrderProductModal/index.d.ts +0 -1
  135. package/lib/components/eventBooking/components/Provider/RemoveOptionConfirmModal.d.ts +0 -1
  136. package/lib/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
  137. package/lib/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
  138. package/lib/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +1 -0
  139. package/lib/components/eventBooking/components/scheduleCalendar/components/ScheduleTimeItem/index.d.ts +0 -1
  140. package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
  141. package/lib/components/pisellSelectCustomerModal/RightPanel/List/index.d.ts +0 -1
  142. package/lib/components/shoppingCart/hooks/useAddService.d.ts +0 -1
  143. package/lib/components/shoppingCart/hooks/useClearCart.d.ts +0 -1
  144. package/lib/plus/saasRegister/components/VertifyEmail.d.ts +0 -1
  145. package/lib/plus/skuOptionsSelection/components/OptionsCard/index.d.ts +0 -1
  146. package/lib/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +0 -1
  147. package/lib/plus/skuOptionsSelection/components/VariantCard/index.d.ts +0 -1
  148. package/lib/plus/walletPassGallery/components/passList/index.d.ts +0 -1
  149. package/lowcode/eco-cup-list/meta.ts +63 -0
  150. package/lowcode/eco-customer-list/meta.ts +63 -0
  151. package/package.json +1 -1
@@ -0,0 +1,330 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/eftposPay/mx51/index.tsx
30
+ var mx51_exports = {};
31
+ __export(mx51_exports, {
32
+ default: () => mx51_default
33
+ });
34
+ module.exports = __toCommonJS(mx51_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_utils = require("@pisell/utils");
37
+ var import_materials = require("@pisell/materials");
38
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
39
+ var import_utils2 = require("../../../utils");
40
+ var import_store = require("../store");
41
+ var import_const = require("../const");
42
+ var import_hooks = require("../hooks");
43
+ var import_aggregatePayment = require("../aggregatePayment");
44
+ var import_types = require("../aggregatePayment/types");
45
+ var import_utils3 = require("./utils");
46
+ var import_types2 = require("./types");
47
+ var import_Action = __toESM(require("./Action"));
48
+ var import_store2 = require("../store");
49
+ var import_hooks2 = require("../hooks");
50
+ var import_manufacturer = require("../manufacturer");
51
+ var import_helper = require("../helper");
52
+ var AggregatePayment = ({ onChange }) => {
53
+ const context = (0, import_useEngineContext.default)();
54
+ const utils = context.appHelper.utils || {};
55
+ import_utils2.request.setRequest(utils == null ? void 0 : utils.request);
56
+ const {
57
+ title,
58
+ custom,
59
+ status,
60
+ eftpos,
61
+ mode,
62
+ name,
63
+ symbol,
64
+ amount,
65
+ order_id
66
+ } = (0, import_store.useContextData)();
67
+ const {
68
+ statusRef,
69
+ numRef,
70
+ netRef,
71
+ modeRef,
72
+ deviceRef,
73
+ orderIdRef,
74
+ amountRef,
75
+ payRef
76
+ } = (0, import_hooks.useStoreRef)();
77
+ const dispatch = (0, import_store2.useDispatch)();
78
+ const fail = (0, import_hooks2.useFail)(0);
79
+ const failRef = (0, import_react.useRef)(fail);
80
+ const [receiptModalShow, setReceiptModalShow] = (0, import_react.useState)(false);
81
+ const [receiptModalData, setReceiptModalData] = (0, import_react.useState)(null);
82
+ (0, import_react.useEffect)(() => {
83
+ failRef.current = fail;
84
+ }, [fail]);
85
+ const initRef = (0, import_react.useRef)(false);
86
+ const unloadRef = (0, import_react.useRef)(false);
87
+ const updateToLoading = () => {
88
+ dispatch((0, import_store2.updateStatus)(import_const.StatusEnum.Loading));
89
+ dispatch(
90
+ (0, import_store2.updateState)({
91
+ title: import_utils.locales.getText("page.eftpos-pay.text.loading")(modeRef.current)
92
+ })
93
+ );
94
+ };
95
+ const payment = (0, import_aggregatePayment.usePayment)({
96
+ paymentCode: "EFTPOS_MX51",
97
+ paymentNum: numRef.current || "",
98
+ shouldContinue: () => !(unloadRef.current || !netRef.current),
99
+ config: {
100
+ hasQueryInterval: false
101
+ // 不开启轮询间隔
102
+ },
103
+ callback: (_instance, response) => {
104
+ var _a, _b, _c;
105
+ console.log("callback =>>>>>> ", response);
106
+ const { status: status2, data } = response || {};
107
+ const { transaction, action } = ((_a = data == null ? void 0 : data.data) == null ? void 0 : _a.external_unified_response) || {};
108
+ const transformedData = (0, import_utils3.parseMX51Params)(transaction, status2, data);
109
+ console.log("event_transformedData =>>>>>> ", transformedData);
110
+ dispatch((0, import_store2.updateCustom)({ customAction: transformedData }));
111
+ if (status2 === import_types.EPaymentStatus.Processing) {
112
+ if (action === "signature") {
113
+ dispatch((0, import_store2.updateStatus)(import_const.StatusEnum.Question));
114
+ dispatch((0, import_store2.updateState)({ title: (transformedData == null ? void 0 : transformedData.message) || "" }));
115
+ _instance.stop();
116
+ if ((_b = transformedData == null ? void 0 : transformedData.autoAction) == null ? void 0 : _b.includes("PRINT_MERCHANT_RECEIPT")) {
117
+ const merchantReceipt = (transformedData == null ? void 0 : transformedData.merchantReceipt) || "";
118
+ onChange("print", merchantReceipt ? [merchantReceipt] : []);
119
+ }
120
+ } else {
121
+ updateToLoading();
122
+ }
123
+ } else if (status2 === import_types.EPaymentStatus.Success) {
124
+ dispatch((0, import_store2.updateStatus)("success"));
125
+ dispatch((0, import_store2.updateState)({ title: (transformedData == null ? void 0 : transformedData.message) || "" }));
126
+ } else if (status2 === import_types.EPaymentStatus.Failed) {
127
+ if (transformedData) {
128
+ dispatch((0, import_store2.updateStatus)("fail"));
129
+ dispatch((0, import_store2.updateState)({ title: (transformedData == null ? void 0 : transformedData.message) || "" }));
130
+ } else {
131
+ (_c = failRef.current) == null ? void 0 : _c.call(failRef, data, false);
132
+ }
133
+ }
134
+ }
135
+ });
136
+ (0, import_react.useEffect)(() => {
137
+ console.log("mx51页面初始化", statusRef.current);
138
+ if (statusRef.current === import_const.StatusEnum.Success || statusRef.current === import_const.StatusEnum.Fail || statusRef.current === import_const.StatusEnum.Question) {
139
+ return;
140
+ }
141
+ if (initRef.current) {
142
+ return;
143
+ }
144
+ initRef.current = true;
145
+ if (numRef.current) {
146
+ console.log("payment.query");
147
+ payment.query();
148
+ return;
149
+ }
150
+ payment.run();
151
+ }, []);
152
+ (0, import_react.useEffect)(() => {
153
+ return () => {
154
+ console.log("页面卸载");
155
+ unloadRef.current = true;
156
+ };
157
+ }, []);
158
+ const onCancel = (element) => {
159
+ console.log("onCancel", element);
160
+ payment.action({ submit_url: element == null ? void 0 : element.submitUrl });
161
+ };
162
+ const onDecline = (element) => {
163
+ console.log("onDecline", element);
164
+ updateToLoading();
165
+ payment.action({ submit_url: element == null ? void 0 : element.submitUrl });
166
+ };
167
+ const onAccept = (element) => {
168
+ console.log("onAccept", element);
169
+ updateToLoading();
170
+ payment.action({ submit_url: element == null ? void 0 : element.submitUrl });
171
+ };
172
+ const onPrintMerchantReceipt = (element) => {
173
+ console.log("onPrintMerchantReceipt", element);
174
+ onChange("print", (element == null ? void 0 : element.receipt) ? [element == null ? void 0 : element.receipt] : []);
175
+ setReceiptModalShow(true);
176
+ setReceiptModalData(element == null ? void 0 : element.receipt);
177
+ };
178
+ const onPrintCustomerReceipt = (element) => {
179
+ console.log("onPrintCustomerReceipt", element);
180
+ onChange("print", (element == null ? void 0 : element.receipt) ? [element == null ? void 0 : element.receipt] : []);
181
+ setReceiptModalShow(true);
182
+ setReceiptModalData(element == null ? void 0 : element.receipt);
183
+ };
184
+ const onRetry = (element) => {
185
+ console.log("onRetry", element);
186
+ onChange("page", "pay");
187
+ const _params = {
188
+ ...custom || {},
189
+ // 自定义参数需要重新传递
190
+ mode,
191
+ name,
192
+ symbol,
193
+ amount,
194
+ order_id,
195
+ number: ""
196
+ };
197
+ dispatch((0, import_store2.updateState)((0, import_manufacturer.getInitState)(eftpos, _params)));
198
+ };
199
+ const onTransactionComplete = (element) => {
200
+ var _a, _b, _c;
201
+ console.log("onTransactionComplete", element);
202
+ const { paymentStatus, response, merchantReceipt, customerReceipt } = element._extra || {};
203
+ if (paymentStatus === import_types.EPaymentStatus.Success) {
204
+ const receipt = [];
205
+ const card_reader_surcharge = ((_b = (_a = response == null ? void 0 : response.data) == null ? void 0 : _a.external_unified_response) == null ? void 0 : _b.external_service_fee) || 0;
206
+ const deviceSetting = (_c = deviceRef.current) == null ? void 0 : _c.setting;
207
+ const isEftposPrintMerchantReceipt = deviceSetting == null ? void 0 : deviceSetting.print_merchant_receipt;
208
+ const isEftposPrintCustomerReceipt = deviceSetting == null ? void 0 : deviceSetting.prompt_customer_receipt;
209
+ if (!isEftposPrintMerchantReceipt && merchantReceipt) {
210
+ receipt.push(merchantReceipt);
211
+ }
212
+ if (!isEftposPrintCustomerReceipt && customerReceipt) {
213
+ receipt.push(customerReceipt);
214
+ }
215
+ const params = (0, import_helper.getPayParams)(
216
+ {
217
+ mode: modeRef.current,
218
+ amount: amountRef.current,
219
+ order_id: orderIdRef.current,
220
+ number: numRef.current,
221
+ device: deviceRef.current,
222
+ pay: payRef.current,
223
+ custom: {
224
+ card_reader_surcharge,
225
+ receipt
226
+ }
227
+ },
228
+ "success"
229
+ );
230
+ onChange("success", { ...params, receipt });
231
+ } else {
232
+ onChange("fail", {
233
+ order_id: orderIdRef.current,
234
+ number: numRef.current,
235
+ uniquePaymentNumber: numRef.current,
236
+ device: deviceRef.current
237
+ });
238
+ }
239
+ };
240
+ const onNormalClick = (element) => {
241
+ if (element == null ? void 0 : element.submitUrl) {
242
+ console.log("onNormalClick_submit_url", element == null ? void 0 : element.submitUrl);
243
+ updateToLoading();
244
+ payment.action({ submit_url: element == null ? void 0 : element.submitUrl });
245
+ } else {
246
+ console.log("onNormalClick_no_submit_url", element);
247
+ }
248
+ };
249
+ const onElementClick = (element) => {
250
+ console.log("onElementClick", element);
251
+ switch (element.key) {
252
+ case import_types2.EButtonKeyType.CancelTransaction:
253
+ onCancel(element);
254
+ break;
255
+ case import_types2.EButtonKeyType.DeclineSignature:
256
+ onDecline(element);
257
+ break;
258
+ case import_types2.EButtonKeyType.ApproveSignature:
259
+ onAccept(element);
260
+ break;
261
+ case import_types2.EButtonKeyType.PrintMerchantReceipt:
262
+ onPrintMerchantReceipt(element);
263
+ break;
264
+ case import_types2.EButtonKeyType.PrintCustomerReceipt:
265
+ onPrintCustomerReceipt(element);
266
+ break;
267
+ case import_types2.EButtonKeyType.RetryTransaction:
268
+ onRetry(element);
269
+ break;
270
+ case import_types2.EButtonKeyType.TransactionComplete:
271
+ onTransactionComplete(element);
272
+ break;
273
+ default:
274
+ onNormalClick(element);
275
+ break;
276
+ }
277
+ };
278
+ console.log("custom>>>>", custom);
279
+ const onCloseReceiptModal = () => {
280
+ setReceiptModalShow(false);
281
+ setReceiptModalData(null);
282
+ };
283
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-body" }, status === import_const.StatusEnum.Question ? /* @__PURE__ */ import_react.default.createElement(
284
+ "div",
285
+ {
286
+ className: "pisell-lowcode__eft-pay-title",
287
+ style: { textAlign: "center" }
288
+ },
289
+ title
290
+ ) : null, /* @__PURE__ */ import_react.default.createElement(
291
+ import_Action.default,
292
+ {
293
+ data: custom == null ? void 0 : custom.customAction,
294
+ showMessage: status === import_const.StatusEnum.Loading,
295
+ onClick: onElementClick
296
+ }
297
+ )), receiptModalShow ? /* @__PURE__ */ import_react.default.createElement(
298
+ import_materials.PisellModal,
299
+ {
300
+ open: receiptModalShow,
301
+ onCancel: onCloseReceiptModal,
302
+ maskClosable: true,
303
+ footer: null
304
+ },
305
+ /* @__PURE__ */ import_react.default.createElement(
306
+ "div",
307
+ {
308
+ style: {
309
+ padding: "16px",
310
+ display: "flex",
311
+ alignItems: "center",
312
+ justifyContent: "center"
313
+ }
314
+ },
315
+ /* @__PURE__ */ import_react.default.createElement(
316
+ "span",
317
+ {
318
+ style: {
319
+ display: "inline-block",
320
+ whiteSpace: "pre-wrap",
321
+ fontFamily: "monospace",
322
+ backgroundColor: "#fff"
323
+ }
324
+ },
325
+ receiptModalData
326
+ )
327
+ )
328
+ ) : null);
329
+ };
330
+ var mx51_default = AggregatePayment;
@@ -0,0 +1,136 @@
1
+ import { EPaymentStatus } from '../aggregatePayment/types';
2
+ /** 元素类型定义 */
3
+ export interface ElementType {
4
+ label: string;
5
+ key: string;
6
+ }
7
+ /** 布局类型定义 */
8
+ export interface LayoutType {
9
+ type: string;
10
+ elements: ElementType[];
11
+ }
12
+ /** 元素属性定义 */
13
+ export interface ElementProperty {
14
+ type: 'button' | 'text' | 'image' | 'input';
15
+ submit_url: string;
16
+ action: string | null;
17
+ text?: string | null;
18
+ name?: string | null;
19
+ data?: string | null;
20
+ encoding?: string | null;
21
+ }
22
+ /** Action Form 定义 */
23
+ export interface ActionFormType {
24
+ layout: LayoutType[];
25
+ properties: {
26
+ [key: string]: ElementProperty;
27
+ };
28
+ details: {
29
+ [key: string]: string;
30
+ };
31
+ }
32
+ /** POS 指令定义 */
33
+ export interface PosInstructions {
34
+ auto_actions: any;
35
+ action_form: ActionFormType | null;
36
+ }
37
+ /** MX51 参数定义 */
38
+ export interface MX51Params {
39
+ id: string;
40
+ version: number;
41
+ status: string;
42
+ message: string;
43
+ merchant_receipt: string | null;
44
+ customer_receipt: string | null;
45
+ result_amounts: any;
46
+ result_financial_status: string | null;
47
+ pos_instructions: PosInstructions | null;
48
+ }
49
+ /** 解析后的按钮配置 */
50
+ export interface ParsedElement {
51
+ /** 元素键 */
52
+ key: string;
53
+ /** 元素标签 */
54
+ label: string;
55
+ /** 提交URL */
56
+ submitUrl: string;
57
+ /** 按钮动作 */
58
+ action: string | null;
59
+ /** 元素类型 */
60
+ type: 'button' | 'text';
61
+ /** 文本信息 */
62
+ text?: string | null;
63
+ /** 小票信息 */
64
+ receipt?: string | null;
65
+ /** 额外信息 */
66
+ _extra?: {
67
+ /** 商户收据 */
68
+ merchantReceipt?: string | null;
69
+ /** 客户收据 */
70
+ customerReceipt?: string | null;
71
+ /** 支付状态 */
72
+ paymentStatus: EPaymentStatus;
73
+ /** 接口返回的原始数据 */
74
+ response: any;
75
+ };
76
+ /** 图片信息 */
77
+ image?: {
78
+ name?: string | null;
79
+ data?: string | null;
80
+ encoding?: string | null;
81
+ };
82
+ }
83
+ /** 解析后的布局配置 */
84
+ export interface ParsedLayout {
85
+ /** 布局类型,如 horizontal_layout */
86
+ layoutType: string;
87
+ /** 该布局中的按钮列表 */
88
+ elements: ParsedElement[];
89
+ }
90
+ /** 解析后的结果 */
91
+ export interface ParsedMX51Result {
92
+ /** 交易ID */
93
+ transactionId: string;
94
+ /** 版本号 */
95
+ version: number;
96
+ /** 状态 */
97
+ status: string;
98
+ /** 提示信息 */
99
+ message: string;
100
+ /** 商户收据 */
101
+ merchantReceipt: string | null;
102
+ /** 客户收据 */
103
+ customerReceipt: string | null;
104
+ /** 结果金额 */
105
+ resultAmounts: any;
106
+ /** 结果财务状态 */
107
+ resultFinancialStatus: string | null;
108
+ /** 布局列表,每个布局包含其类型和按钮 */
109
+ layouts: ParsedLayout[];
110
+ /** 详情信息 */
111
+ details: {
112
+ [key: string]: string;
113
+ };
114
+ /** 详情信息 text */
115
+ detailsText: string;
116
+ /** 自动操作 */
117
+ autoAction: Array<string> | null;
118
+ }
119
+ export declare enum EButtonKeyType {
120
+ /** 取消交易 */
121
+ CancelTransaction = "cancel_transaction",
122
+ /** 交易完成 */
123
+ TransactionComplete = "transaction_complete",
124
+ /** 重试交易 */
125
+ RetryTransaction = "retry_transaction",
126
+ /** 打印商户收据 */
127
+ PrintMerchantReceipt = "print_merchant_receipt",
128
+ /** 打印客户收据 */
129
+ PrintCustomerReceipt = "print_customer_receipt",
130
+ /** 批准签名 */
131
+ ApproveSignature = "approve_signature",
132
+ /** 拒绝签名 */
133
+ DeclineSignature = "decline_signature",
134
+ /** 提交到API */
135
+ SubmitToAPI = "submit_to_api"
136
+ }
@@ -0,0 +1,39 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/eftposPay/mx51/types.ts
20
+ var types_exports = {};
21
+ __export(types_exports, {
22
+ EButtonKeyType: () => EButtonKeyType
23
+ });
24
+ module.exports = __toCommonJS(types_exports);
25
+ var EButtonKeyType = /* @__PURE__ */ ((EButtonKeyType2) => {
26
+ EButtonKeyType2["CancelTransaction"] = "cancel_transaction";
27
+ EButtonKeyType2["TransactionComplete"] = "transaction_complete";
28
+ EButtonKeyType2["RetryTransaction"] = "retry_transaction";
29
+ EButtonKeyType2["PrintMerchantReceipt"] = "print_merchant_receipt";
30
+ EButtonKeyType2["PrintCustomerReceipt"] = "print_customer_receipt";
31
+ EButtonKeyType2["ApproveSignature"] = "approve_signature";
32
+ EButtonKeyType2["DeclineSignature"] = "decline_signature";
33
+ EButtonKeyType2["SubmitToAPI"] = "submit_to_api";
34
+ return EButtonKeyType2;
35
+ })(EButtonKeyType || {});
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ EButtonKeyType
39
+ });
@@ -0,0 +1,10 @@
1
+ import { EPaymentStatus } from '../aggregatePayment/types';
2
+ import { type MX51Params, type ParsedMX51Result } from './types';
3
+ /**
4
+ * 解析MX51参数
5
+ * @param params 接口返回的原始参数
6
+ * @param status 支付状态
7
+ * @param data 接口返回的数据
8
+ * @returns 解析后的结果对象
9
+ */
10
+ export declare const parseMX51Params: (params: MX51Params, paymentStatus: EPaymentStatus, data: any) => ParsedMX51Result | null;
@@ -0,0 +1,114 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/eftposPay/mx51/utils.ts
20
+ var utils_exports = {};
21
+ __export(utils_exports, {
22
+ parseMX51Params: () => parseMX51Params
23
+ });
24
+ module.exports = __toCommonJS(utils_exports);
25
+ var import_types = require("./types");
26
+ var parseMX51Params = (params, paymentStatus, data) => {
27
+ if (!params) {
28
+ return null;
29
+ }
30
+ const result = {
31
+ transactionId: (params == null ? void 0 : params.id) || "",
32
+ status: (params == null ? void 0 : params.status) || "",
33
+ version: (params == null ? void 0 : params.version) || 0,
34
+ message: (params == null ? void 0 : params.message) || "",
35
+ merchantReceipt: params == null ? void 0 : params.merchant_receipt,
36
+ customerReceipt: params == null ? void 0 : params.customer_receipt,
37
+ resultAmounts: params == null ? void 0 : params.result_amounts,
38
+ resultFinancialStatus: params == null ? void 0 : params.result_financial_status,
39
+ layouts: [],
40
+ details: {},
41
+ detailsText: "",
42
+ autoAction: []
43
+ };
44
+ if (!(params == null ? void 0 : params.pos_instructions)) {
45
+ return result;
46
+ }
47
+ const posInstructions = (params == null ? void 0 : params.pos_instructions) || {};
48
+ result.autoAction = (posInstructions == null ? void 0 : posInstructions.auto_actions) || [];
49
+ if (!(posInstructions == null ? void 0 : posInstructions.action_form)) {
50
+ return result;
51
+ }
52
+ const actionForm = (posInstructions == null ? void 0 : posInstructions.action_form) || {};
53
+ if (actionForm == null ? void 0 : actionForm.details) {
54
+ result.details = { ...(actionForm == null ? void 0 : actionForm.details) || {} };
55
+ const detailsTextArr = [];
56
+ Object.keys((actionForm == null ? void 0 : actionForm.details) || {}).forEach((key) => {
57
+ var _a;
58
+ detailsTextArr.push(`${key}: ${((_a = actionForm == null ? void 0 : actionForm.details) == null ? void 0 : _a[key]) || ""}`);
59
+ });
60
+ result.detailsText = (detailsTextArr == null ? void 0 : detailsTextArr.join(", ")) || "";
61
+ }
62
+ if ((actionForm == null ? void 0 : actionForm.layout) && Array.isArray(actionForm == null ? void 0 : actionForm.layout)) {
63
+ const layouts = [];
64
+ actionForm.layout.forEach((layout) => {
65
+ const elements = [];
66
+ if ((layout == null ? void 0 : layout.elements) && Array.isArray(layout == null ? void 0 : layout.elements)) {
67
+ layout.elements.forEach((element) => {
68
+ var _a;
69
+ const elementKey = (element == null ? void 0 : element.key) || "";
70
+ const elementLabel = (element == null ? void 0 : element.label) || "";
71
+ const property = ((_a = actionForm == null ? void 0 : actionForm.properties) == null ? void 0 : _a[elementKey]) || {};
72
+ if (property) {
73
+ const element2 = {
74
+ _extra: {
75
+ merchantReceipt: params == null ? void 0 : params.merchant_receipt,
76
+ customerReceipt: params == null ? void 0 : params.customer_receipt,
77
+ paymentStatus,
78
+ response: data
79
+ },
80
+ key: elementKey,
81
+ label: elementLabel,
82
+ submitUrl: (property == null ? void 0 : property.submit_url) || "",
83
+ action: property == null ? void 0 : property.action,
84
+ type: (property == null ? void 0 : property.type) || "button",
85
+ text: property == null ? void 0 : property.text,
86
+ // 如果是打印收据按钮,需要关联对应的小票信息
87
+ receipt: elementKey === import_types.EButtonKeyType.PrintMerchantReceipt ? result == null ? void 0 : result.merchantReceipt : elementKey === import_types.EButtonKeyType.PrintCustomerReceipt ? result == null ? void 0 : result.customerReceipt : null
88
+ };
89
+ if ((property == null ? void 0 : property.type) === "image") {
90
+ element2.image = {
91
+ name: (property == null ? void 0 : property.name) || "",
92
+ data: (property == null ? void 0 : property.data) || "",
93
+ encoding: (property == null ? void 0 : property.encoding) || ""
94
+ };
95
+ }
96
+ elements.push(element2);
97
+ }
98
+ });
99
+ }
100
+ if (elements.length > 0) {
101
+ layouts.push({
102
+ layoutType: layout.type || "unknown",
103
+ elements
104
+ });
105
+ }
106
+ });
107
+ result.layouts = layouts;
108
+ }
109
+ return result;
110
+ };
111
+ // Annotate the CommonJS export names for ESM import in node:
112
+ 0 && (module.exports = {
113
+ parseMX51Params
114
+ });
@@ -146,13 +146,14 @@ var Pay = ({
146
146
  };
147
147
  }, []);
148
148
  console.log("data =>>>>>> ", data);
149
+ const isHideHeader = data.eftpos === "mx51" && data.status === import_const.StatusEnum.Question;
149
150
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, data.render ? /* @__PURE__ */ import_react.default.createElement(
150
151
  "div",
151
152
  {
152
153
  className: `pisell-lowcode__eft-pay-box ${className}`,
153
154
  style: data.type === "step" ? {} : { display: "none" }
154
155
  },
155
- /* @__PURE__ */ import_react.default.createElement(
156
+ isHideHeader ? null : /* @__PURE__ */ import_react.default.createElement(
156
157
  import_header.default,
157
158
  {
158
159
  status: data.status,
@@ -180,7 +181,8 @@ var Pay = ({
180
181
  formatAmount
181
182
  }
182
183
  ) : null,
183
- data.eftpos === "linkly" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Linkly, { key: data.key, api, onChange }) : null
184
+ data.eftpos === "linkly" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Linkly, { key: data.key, api, onChange }) : null,
185
+ data.eftpos === "mx51" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Mx51, { key: data.key, onChange }) : null
184
186
  ) : null, data.type === import_const.PayRouteEnum.Unset && Comm ? /* @__PURE__ */ import_react.default.createElement(
185
187
  Comm,
186
188
  {
@@ -297,7 +297,7 @@ export declare const backUpFree: (payload: Partial<State>) => {
297
297
  amount?: string | number | undefined;
298
298
  mode?: "refund" | "pay" | "fullPay" | "query" | undefined;
299
299
  order_id?: string | number | undefined;
300
- eftpos?: "stripe" | "payo" | "tyro" | "windcave" | "linkly" | undefined;
300
+ eftpos?: "stripe" | "payo" | "tyro" | "windcave" | "linkly" | "mx51" | undefined;
301
301
  action?: "amount" | "pay" | "deviceList" | undefined;
302
302
  key?: number | undefined;
303
303
  step?: number | undefined;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const Layout: () => JSX.Element;
3
4
  export default Layout;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const EmptyHolderModal: (props: any) => JSX.Element;
4
3
  export default EmptyHolderModal;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const Header: () => JSX.Element;
3
4
  export default Header;