@pisell/private-materials 6.6.21 → 6.6.23

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 (116) 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/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/authentication/admin/ChannelAuthSetting/SaaSManagermentAuth/index.js +0 -1
  12. package/es/components/booking/components/footer/amount.js +3 -0
  13. package/es/components/booking/components/footer/index.js +32 -33
  14. package/es/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
  15. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  16. package/es/components/booking/info/service2/utils.js +41 -39
  17. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  18. package/es/components/booking/info2/service/editService/index.js +0 -1
  19. package/es/components/booking/utils/confirmHolderModal.js +3 -4
  20. package/es/components/checkout/PaymentModal.js +4 -2
  21. package/es/components/checkout/components/PaymentOptionsModule/index.js +1 -1
  22. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  23. package/es/components/eftposPay/EFTPos.js +6 -6
  24. package/es/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +7 -0
  25. package/es/components/eftposPay/aggregatePayment/hooks/useMicropay.js +120 -0
  26. package/es/components/eftposPay/aggregatePayment/index.d.ts +3 -0
  27. package/es/components/eftposPay/aggregatePayment/index.js +3 -0
  28. package/es/components/eftposPay/aggregatePayment/service.d.ts +24 -0
  29. package/es/components/eftposPay/aggregatePayment/service.js +69 -0
  30. package/es/components/eftposPay/aggregatePayment/types.d.ts +106 -0
  31. package/es/components/eftposPay/aggregatePayment/types.js +65 -0
  32. package/es/components/eftposPay/aggregatePayment/utils/logs.d.ts +110 -0
  33. package/es/components/eftposPay/aggregatePayment/utils/logs.js +371 -0
  34. package/es/components/eftposPay/aggregatePayment/utils/payment.d.ts +139 -0
  35. package/es/components/eftposPay/aggregatePayment/utils/payment.js +1138 -0
  36. package/es/components/eftposPay/app.js +5 -0
  37. package/es/components/eftposPay/component/fail/failCustom.js +16 -12
  38. package/es/components/eftposPay/component/fail/index.js +12 -5
  39. package/es/components/eftposPay/const.d.ts +6 -1
  40. package/es/components/eftposPay/const.js +3 -0
  41. package/es/components/eftposPay/hooks.d.ts +3 -2
  42. package/es/components/eftposPay/hooks.js +12 -0
  43. package/es/components/eftposPay/huifu/Action.d.ts +8 -0
  44. package/es/components/eftposPay/huifu/Action.js +146 -0
  45. package/es/components/eftposPay/huifu/const.d.ts +5 -0
  46. package/es/components/eftposPay/huifu/const.js +70 -0
  47. package/es/components/eftposPay/huifu/hooks.d.ts +25 -0
  48. package/es/components/eftposPay/huifu/hooks.js +184 -0
  49. package/es/components/eftposPay/huifu/index.d.ts +5 -0
  50. package/es/components/eftposPay/huifu/index.js +196 -0
  51. package/es/components/eftposPay/huifu/index.less +180 -0
  52. package/es/components/eftposPay/huifu/types.d.ts +14 -0
  53. package/es/components/eftposPay/huifu/types.js +1 -0
  54. package/es/components/eftposPay/index.js +5 -1
  55. package/es/components/eftposPay/locales.d.ts +36 -0
  56. package/es/components/eftposPay/locales.js +42 -3
  57. package/es/components/eftposPay/manufacturer.d.ts +1 -0
  58. package/es/components/eftposPay/manufacturer.js +5 -0
  59. package/es/components/eftposPay/pay.js +6 -2
  60. package/es/components/eftposPay/store/index.d.ts +10 -3
  61. package/es/components/pay/toB/components/EFTPOS/index.js +8 -1
  62. package/es/components/pay/toB/types/index.d.ts +1 -0
  63. package/es/components/ticketBooking/components/addServiceVariant/addService.js +10 -11
  64. package/lib/components/authentication/admin/ChannelAuthSetting/SaaSManagermentAuth/index.js +0 -1
  65. package/lib/components/booking/components/footer/index.js +0 -1
  66. package/lib/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
  67. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  68. package/lib/components/booking/info/service2/utils.js +3 -1
  69. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  70. package/lib/components/booking/info2/service/editService/index.js +0 -1
  71. package/lib/components/booking/utils/confirmHolderModal.js +0 -1
  72. package/lib/components/checkout/PaymentModal.js +5 -2
  73. package/lib/components/checkout/components/PaymentOptionsModule/index.js +2 -1
  74. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  75. package/lib/components/eftposPay/EFTPos.js +7 -7
  76. package/lib/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +7 -0
  77. package/lib/components/eftposPay/aggregatePayment/hooks/useMicropay.js +133 -0
  78. package/lib/components/eftposPay/aggregatePayment/index.d.ts +3 -0
  79. package/lib/components/eftposPay/aggregatePayment/index.js +42 -0
  80. package/lib/components/eftposPay/aggregatePayment/service.d.ts +24 -0
  81. package/lib/components/eftposPay/aggregatePayment/service.js +81 -0
  82. package/lib/components/eftposPay/aggregatePayment/types.d.ts +106 -0
  83. package/lib/components/eftposPay/aggregatePayment/types.js +74 -0
  84. package/lib/components/eftposPay/aggregatePayment/utils/logs.d.ts +110 -0
  85. package/lib/components/eftposPay/aggregatePayment/utils/logs.js +294 -0
  86. package/lib/components/eftposPay/aggregatePayment/utils/payment.d.ts +139 -0
  87. package/lib/components/eftposPay/aggregatePayment/utils/payment.js +752 -0
  88. package/lib/components/eftposPay/app.js +5 -0
  89. package/lib/components/eftposPay/component/fail/failCustom.js +15 -9
  90. package/lib/components/eftposPay/component/fail/index.js +4 -1
  91. package/lib/components/eftposPay/const.d.ts +6 -1
  92. package/lib/components/eftposPay/const.js +3 -0
  93. package/lib/components/eftposPay/hooks.d.ts +3 -2
  94. package/lib/components/eftposPay/hooks.js +16 -0
  95. package/lib/components/eftposPay/huifu/Action.d.ts +8 -0
  96. package/lib/components/eftposPay/huifu/Action.js +174 -0
  97. package/lib/components/eftposPay/huifu/const.d.ts +5 -0
  98. package/lib/components/eftposPay/huifu/const.js +86 -0
  99. package/lib/components/eftposPay/huifu/hooks.d.ts +25 -0
  100. package/lib/components/eftposPay/huifu/hooks.js +186 -0
  101. package/lib/components/eftposPay/huifu/index.d.ts +5 -0
  102. package/lib/components/eftposPay/huifu/index.js +200 -0
  103. package/lib/components/eftposPay/huifu/index.less +180 -0
  104. package/lib/components/eftposPay/huifu/types.d.ts +14 -0
  105. package/lib/components/eftposPay/huifu/types.js +17 -0
  106. package/lib/components/eftposPay/index.js +5 -1
  107. package/lib/components/eftposPay/locales.d.ts +36 -0
  108. package/lib/components/eftposPay/locales.js +42 -3
  109. package/lib/components/eftposPay/manufacturer.d.ts +1 -0
  110. package/lib/components/eftposPay/manufacturer.js +7 -0
  111. package/lib/components/eftposPay/pay.js +3 -2
  112. package/lib/components/eftposPay/store/index.d.ts +10 -3
  113. package/lib/components/pay/toB/components/EFTPOS/index.js +8 -1
  114. package/lib/components/pay/toB/types/index.d.ts +1 -0
  115. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +0 -1
  116. package/package.json +4 -4
@@ -0,0 +1,200 @@
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/huifu/index.tsx
30
+ var huifu_exports = {};
31
+ __export(huifu_exports, {
32
+ default: () => huifu_default
33
+ });
34
+ module.exports = __toCommonJS(huifu_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_utils = require("@pisell/utils");
37
+ var import_index = require("./index.less");
38
+ var import_store = require("../store");
39
+ var import_Action = require("./Action");
40
+ var import_aggregatePayment = require("../aggregatePayment");
41
+ var import_types = require("../aggregatePayment/types");
42
+ var import_hooks = require("../hooks");
43
+ var import_store2 = require("../store");
44
+ var import_const = require("../const");
45
+ var import_helper = require("../helper");
46
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
47
+ var Huifu = ({ isNativeApp, onChange }) => {
48
+ var _a, _b;
49
+ const data = (0, import_store.useContextData)();
50
+ const context = (0, import_useEngineContext.default)();
51
+ const { interaction } = ((_a = context.appHelper) == null ? void 0 : _a.utils) || {};
52
+ const {
53
+ statusRef,
54
+ numRef,
55
+ netRef,
56
+ modeRef,
57
+ amountRef,
58
+ orderIdRef,
59
+ deviceRef,
60
+ payRef
61
+ } = (0, import_hooks.useStoreRef)();
62
+ const dispatch = (0, import_store2.useDispatch)();
63
+ const fail = (0, import_hooks.useFail)(0);
64
+ const failRef = (0, import_react.useRef)(fail);
65
+ const initRef = (0, import_react.useRef)(false);
66
+ const unloadRef = (0, import_react.useRef)(false);
67
+ const clearRef = (0, import_react.useRef)(null);
68
+ const payment = (0, import_aggregatePayment.useMicropay)({
69
+ paymentCode: ((_b = data == null ? void 0 : data.custom) == null ? void 0 : _b.custom_payment_code) || "EFTPOS_HUIFU",
70
+ paymentNum: numRef.current || "",
71
+ shouldContinue: () => !(unloadRef.current || !netRef.current),
72
+ callback: (_instance, response) => {
73
+ var _a2;
74
+ console.log("callback = ", response);
75
+ const { status, data: data2 } = response || {};
76
+ if (status === import_types.EPaymentStatus.Success) {
77
+ dispatch((0, import_store2.updateNextStep)());
78
+ dispatch((0, import_store2.updateCustom)({ card_reader_surcharge: 0, receipt: [] }));
79
+ dispatch(
80
+ (0, import_store.updateState)({
81
+ status: "success",
82
+ title: import_utils.locales.getText("page.eftpos-pay.text.successful")(
83
+ modeRef.current
84
+ )
85
+ })
86
+ );
87
+ clearRef.current = setTimeout(() => {
88
+ const params = (0, import_helper.getPayParams)(
89
+ {
90
+ mode: modeRef.current,
91
+ amount: amountRef.current,
92
+ order_id: orderIdRef.current,
93
+ number: numRef.current,
94
+ device: deviceRef.current,
95
+ pay: payRef.current,
96
+ custom: {
97
+ card_reader_surcharge: 0,
98
+ receipt: []
99
+ }
100
+ },
101
+ "success"
102
+ );
103
+ onChange("success", { ...params, receipt: [] });
104
+ }, 1e3);
105
+ } else if (status === import_types.EPaymentStatus.Failed) {
106
+ (_a2 = failRef.current) == null ? void 0 : _a2.call(failRef, data2, false);
107
+ }
108
+ }
109
+ });
110
+ (0, import_react.useEffect)(() => {
111
+ failRef.current = fail;
112
+ }, [fail]);
113
+ (0, import_react.useEffect)(() => {
114
+ var _a2;
115
+ if (statusRef.current === import_const.StatusEnum.Success || statusRef.current === import_const.StatusEnum.Fail) {
116
+ return;
117
+ }
118
+ if (initRef.current) {
119
+ return;
120
+ }
121
+ initRef.current = true;
122
+ if (numRef.current) {
123
+ console.log("payment.query");
124
+ payment.query();
125
+ return;
126
+ }
127
+ console.log("data?.custom =>>>> ", data == null ? void 0 : data.custom);
128
+ const isPay = modeRef.current === import_const.ModeEnum.Pay || modeRef.current === import_const.ModeEnum.FullPay;
129
+ if (!isPay) {
130
+ payment.run({ orderPaymentId: (_a2 = data == null ? void 0 : data.custom) == null ? void 0 : _a2.order_payment_id });
131
+ return;
132
+ }
133
+ }, []);
134
+ (0, import_react.useEffect)(() => {
135
+ var _a2, _b2;
136
+ if (isNativeApp && (data == null ? void 0 : data.status) === import_const.StatusEnum.Init) {
137
+ (_b2 = (_a2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _a2.postMessageToApp) == null ? void 0 : _b2.call(_a2, {
138
+ module: "pos",
139
+ key: "other",
140
+ data: {
141
+ key: "show_close_button"
142
+ }
143
+ });
144
+ }
145
+ }, [isNativeApp, data == null ? void 0 : data.status]);
146
+ (0, import_react.useEffect)(() => {
147
+ return () => {
148
+ unloadRef.current = true;
149
+ if (clearRef.current) {
150
+ clearTimeout(clearRef.current);
151
+ }
152
+ };
153
+ }, []);
154
+ const updateToLoading = () => {
155
+ var _a2, _b2;
156
+ if (isNativeApp) {
157
+ (_b2 = (_a2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _a2.postMessageToApp) == null ? void 0 : _b2.call(_a2, {
158
+ module: "pos",
159
+ key: "other",
160
+ data: {
161
+ key: "hide_close_button"
162
+ }
163
+ });
164
+ }
165
+ dispatch((0, import_store.updateStatus)(import_const.StatusEnum.Loading));
166
+ dispatch(
167
+ (0, import_store.updateState)({
168
+ title: import_utils.locales.getText("page.eftpos-pay.text.loading")(modeRef.current)
169
+ })
170
+ );
171
+ };
172
+ const onClose = () => {
173
+ onChange("fail", {
174
+ number: data.number,
175
+ uniquePaymentNumber: data.number,
176
+ device: data.device,
177
+ order_id: data.order_id
178
+ });
179
+ };
180
+ const onPayClick = (scanResult) => {
181
+ console.log("scanResult = ", scanResult);
182
+ updateToLoading();
183
+ payment.run({ authCode: scanResult });
184
+ };
185
+ const onScanCallback = (scanResult) => {
186
+ console.log("scanResult = ", scanResult);
187
+ updateToLoading();
188
+ payment.run({ authCode: scanResult });
189
+ };
190
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, (data == null ? void 0 : data.status) === import_const.StatusEnum.Init && /* @__PURE__ */ import_react.default.createElement(
191
+ import_Action.ScanAction,
192
+ {
193
+ onClose,
194
+ onScanCallback,
195
+ onPayClick,
196
+ isNativeApp
197
+ }
198
+ ), (data == null ? void 0 : data.status) === import_const.StatusEnum.Loading ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item pisell-lowcode__eft-pay-step-item-tip" }, import_utils.locales.getText("page.eftpos-pay.text.processing")) : null);
199
+ };
200
+ var huifu_default = Huifu;
@@ -0,0 +1,180 @@
1
+ .pisell-eftpos-pay-huifu {
2
+ &-scan {
3
+ height: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+
7
+ &-status {
8
+ position: relative;
9
+
10
+ &-wrapper {
11
+ position: absolute;
12
+ left: -4px;
13
+ bottom: 4px;
14
+ width: 14px;
15
+ height: 14px;
16
+ }
17
+ }
18
+
19
+ &-header {
20
+ position: relative;
21
+ padding-bottom: 20px;
22
+ display: flex;
23
+ align-items: center;
24
+
25
+ &-close {
26
+ position: absolute;
27
+ right: -10px;
28
+ padding: 10px;
29
+ cursor: pointer;
30
+ }
31
+
32
+ &-divider {
33
+ position: absolute;
34
+ bottom: 0;
35
+ left: -24px;
36
+ right: -24px;
37
+ height: 1px;
38
+ background: #eaecf0;
39
+ }
40
+
41
+ &-title {
42
+ color: #101828;
43
+ font-size: 18px;
44
+ font-weight: 600;
45
+ }
46
+ }
47
+
48
+ &-content {
49
+ padding-bottom: 24px;
50
+ flex: 1;
51
+ display: flex;
52
+ flex-direction: column;
53
+ gap: 20px;
54
+
55
+ &-title {
56
+ color: #344054;
57
+ font-size: 14px;
58
+ font-weight: 600;
59
+ }
60
+
61
+ &-scanner {
62
+ padding: 16px;
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 16px;
66
+ border-radius: 12px;
67
+
68
+ &-right {
69
+ flex: 1;
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: 4px;
73
+ }
74
+ }
75
+
76
+ &-scanner-active {
77
+ border: 1px solid #75e0a7;
78
+ background: #f6fef9;
79
+ box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
80
+
81
+ &-title {
82
+ color: #067647;
83
+ font-size: 14px;
84
+ font-weight: 600;
85
+ }
86
+
87
+ &-desc {
88
+ color: #067647;
89
+ font-size: 14px;
90
+ font-weight: 400;
91
+ }
92
+ }
93
+
94
+ &-scanner-unactive {
95
+ border: 1px solid #fda29b;
96
+ background: #fffbfa;
97
+ box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
98
+
99
+ &-title {
100
+ color: #b42318;
101
+ font-size: 14px;
102
+ font-weight: 600;
103
+ }
104
+
105
+ &-desc {
106
+ color: #b42318;
107
+ font-size: 14px;
108
+ font-weight: 400;
109
+ }
110
+ }
111
+
112
+ &-camera {
113
+ padding: 16px;
114
+ display: flex;
115
+ align-items: center;
116
+ gap: 8px;
117
+ border-radius: 12px;
118
+ background: #f2f4f7;
119
+ cursor: pointer;
120
+
121
+ &-right {
122
+ flex: 1;
123
+ display: flex;
124
+ flex-direction: column;
125
+ gap: 6px;
126
+ }
127
+
128
+ &-title {
129
+ color: #175cd3;
130
+ font-size: 14px;
131
+ font-weight: 500;
132
+ }
133
+
134
+ &-desc {
135
+ color: #000;
136
+ font-size: 14px;
137
+ font-weight: 400;
138
+ }
139
+ }
140
+
141
+ &-input-wrapper {
142
+ display: flex;
143
+ flex-direction: column;
144
+ gap: 8px;
145
+
146
+ &-title {
147
+ color: #344054;
148
+ font-size: 14px;
149
+ font-weight: 600;
150
+ }
151
+
152
+ &-tip {
153
+ color: #475467;
154
+ font-size: 14px;
155
+ font-weight: 400;
156
+ }
157
+ }
158
+ }
159
+
160
+ &-footer {
161
+ position: relative;
162
+ padding-top: 24px;
163
+ display: flex;
164
+ gap: 12px;
165
+
166
+ &-divider {
167
+ position: absolute;
168
+ top: 0;
169
+ left: -24px;
170
+ right: -24px;
171
+ height: 1px;
172
+ background: #eaecf0;
173
+ }
174
+
175
+ &-button {
176
+ height: 48px;
177
+ }
178
+ }
179
+ }
180
+ }
@@ -0,0 +1,14 @@
1
+ export declare type Peripherals = {
2
+ scanner: 'none' | 'connected' | 'disconnect';
3
+ nfc: 'none' | 'connected' | 'disconnect';
4
+ };
5
+ export interface HuifuProps {
6
+ isNativeApp?: boolean;
7
+ onChange: (status: any, params: any) => void;
8
+ }
9
+ export interface HuifuActionProps {
10
+ isNativeApp?: boolean;
11
+ onClose: () => void;
12
+ onPayClick: (scanResult: string) => void;
13
+ onScanCallback: (scanResult: string) => void;
14
+ }
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+
15
+ // src/components/eftposPay/huifu/types.ts
16
+ var types_exports = {};
17
+ module.exports = __toCommonJS(types_exports);
@@ -99,10 +99,14 @@ var eftposPay_default = (props) => {
99
99
  if (props.source === import_const.RestoreEumn.Restore) {
100
100
  return props.params;
101
101
  }
102
- return (0, import_manufacturer.getInitState)(
102
+ const initState = (0, import_manufacturer.getInitState)(
103
103
  props.type,
104
104
  props.params ? { mode, ...props.params, symbol: current } : { mode, symbol: current }
105
105
  );
106
+ return {
107
+ ...initState,
108
+ originalParams: props.params || void 0
109
+ };
106
110
  }, [mode, props.params, props.type, symbol]);
107
111
  const stateRef = (0, import_react.useRef)(state);
108
112
  (0, import_react.useEffect)(() => {
@@ -107,6 +107,18 @@ declare const _default: {
107
107
  'page.eftpos-pay.text.not.connected': string;
108
108
  'page.eftpos-pay.text.tyro-btn': (key: string) => string;
109
109
  'page.eftpos-pay.text.tyro': (key: string) => string;
110
+ 'page.eftpos-pay.text.huifu.scan.title': string;
111
+ 'page.eftpos-pay.text.huifu.scan.gun.connected': string;
112
+ 'page.eftpos-pay.text.huifu.scan.gun.connected-desc': string;
113
+ 'page.eftpos-pay.text.huifu.scan.gun.not-connected': string;
114
+ 'page.eftpos-pay.text.huifu.scan.gun.not-connected-desc': string;
115
+ 'page.eftpos-pay.text.huifu.scan.camera-title': string;
116
+ 'page.eftpos-pay.text.huifu.scan.camera-desc': string;
117
+ 'page.eftpos-pay.text.huifu.scan.input-title': string;
118
+ 'page.eftpos-pay.text.huifu.scan.input-placeholder': string;
119
+ 'page.eftpos-pay.text.huifu.scan.input-tip': string;
120
+ 'page.eftpos-pay.text.huifu.scan.cancel': string;
121
+ 'page.eftpos-pay.text.huifu.scan.confirm': string;
110
122
  };
111
123
  'zh-CN': {
112
124
  'page.eftpos-pay.text.loading': (mode: string) => string;
@@ -216,6 +228,18 @@ declare const _default: {
216
228
  'page.eftpos-pay.text.not.connected': string;
217
229
  'page.eftpos-pay.text.tyro-btn': (key: string) => string;
218
230
  'page.eftpos-pay.text.tyro': (key: string) => string | string[];
231
+ 'page.eftpos-pay.text.huifu.scan.title': string;
232
+ 'page.eftpos-pay.text.huifu.scan.gun.connected': string;
233
+ 'page.eftpos-pay.text.huifu.scan.gun.connected-desc': string;
234
+ 'page.eftpos-pay.text.huifu.scan.gun.not-connected': string;
235
+ 'page.eftpos-pay.text.huifu.scan.gun.not-connected-desc': string;
236
+ 'page.eftpos-pay.text.huifu.scan.camera-title': string;
237
+ 'page.eftpos-pay.text.huifu.scan.camera-desc': string;
238
+ 'page.eftpos-pay.text.huifu.scan.input-title': string;
239
+ 'page.eftpos-pay.text.huifu.scan.input-placeholder': string;
240
+ 'page.eftpos-pay.text.huifu.scan.input-tip': string;
241
+ 'page.eftpos-pay.text.huifu.scan.cancel': string;
242
+ 'page.eftpos-pay.text.huifu.scan.confirm': string;
219
243
  };
220
244
  'zh-HK': {
221
245
  'page.eftpos-pay.text.loading': (mode: string) => string;
@@ -325,6 +349,18 @@ declare const _default: {
325
349
  'page.eftpos-pay.text.not.connected': string;
326
350
  'page.eftpos-pay.text.tyro-btn': (key: string) => string;
327
351
  'page.eftpos-pay.text.tyro': (key: string) => string | string[];
352
+ 'page.eftpos-pay.text.huifu.scan.title': string;
353
+ 'page.eftpos-pay.text.huifu.scan.gun.connected': string;
354
+ 'page.eftpos-pay.text.huifu.scan.gun.connected-desc': string;
355
+ 'page.eftpos-pay.text.huifu.scan.gun.not-connected': string;
356
+ 'page.eftpos-pay.text.huifu.scan.gun.not-connected-desc': string;
357
+ 'page.eftpos-pay.text.huifu.scan.camera-title': string;
358
+ 'page.eftpos-pay.text.huifu.scan.camera-desc': string;
359
+ 'page.eftpos-pay.text.huifu.scan.input-title': string;
360
+ 'page.eftpos-pay.text.huifu.scan.input-placeholder': string;
361
+ 'page.eftpos-pay.text.huifu.scan.input-tip': string;
362
+ 'page.eftpos-pay.text.huifu.scan.cancel': string;
363
+ 'page.eftpos-pay.text.huifu.scan.confirm': string;
328
364
  };
329
365
  };
330
366
  export default _default;
@@ -135,7 +135,20 @@ var locales_default = {
135
135
  },
136
136
  "page.eftpos-pay.text.tyro": (key) => {
137
137
  return key;
138
- }
138
+ },
139
+ // 汇付天下定制文案
140
+ "page.eftpos-pay.text.huifu.scan.title": "Scan to Pay (Alipay · WeChat Pay · UnionPay)",
141
+ "page.eftpos-pay.text.huifu.scan.gun.connected": "Scanner Connected",
142
+ "page.eftpos-pay.text.huifu.scan.gun.connected-desc": "Scan the customer’s payment code to collect payment",
143
+ "page.eftpos-pay.text.huifu.scan.gun.not-connected": "Scanner Not Connected",
144
+ "page.eftpos-pay.text.huifu.scan.gun.not-connected-desc": "Connect the scanner to scan the customer’s payment code",
145
+ "page.eftpos-pay.text.huifu.scan.camera-title": "Click to use the camera",
146
+ "page.eftpos-pay.text.huifu.scan.camera-desc": "Align the customer’s payment code within the frame",
147
+ "page.eftpos-pay.text.huifu.scan.input-title": "Or enter the payment code manually",
148
+ "page.eftpos-pay.text.huifu.scan.input-placeholder": "Enter payment code",
149
+ "page.eftpos-pay.text.huifu.scan.input-tip": "Tip: The payment code is 18 digits",
150
+ "page.eftpos-pay.text.huifu.scan.cancel": "Cancel",
151
+ "page.eftpos-pay.text.huifu.scan.confirm": "Confirm Payment"
139
152
  },
140
153
  "zh-CN": {
141
154
  "page.eftpos-pay.text.loading": (mode) => `${mode === "pay" || mode === "fullPay" ? "支付" : "退款"}进行中...`,
@@ -402,7 +415,20 @@ var locales_default = {
402
415
  return "请使用以下选项之一回答此问题";
403
416
  }
404
417
  return key;
405
- }
418
+ },
419
+ // 汇付天下定制文案
420
+ "page.eftpos-pay.text.huifu.scan.title": "扫码支付(支付宝 · 微信支付 · 银联)",
421
+ "page.eftpos-pay.text.huifu.scan.gun.connected": "扫码枪已连接",
422
+ "page.eftpos-pay.text.huifu.scan.gun.connected-desc": "直接扫描消费者付款码即可",
423
+ "page.eftpos-pay.text.huifu.scan.gun.not-connected": "未连接扫码枪",
424
+ "page.eftpos-pay.text.huifu.scan.gun.not-connected-desc": "连接扫码枪后可直接扫码消费者付款码",
425
+ "page.eftpos-pay.text.huifu.scan.camera-title": "点击可使用设备摄像头",
426
+ "page.eftpos-pay.text.huifu.scan.camera-desc": "将消费者付款码对准扫描框",
427
+ "page.eftpos-pay.text.huifu.scan.input-title": "或手动输入付款码",
428
+ "page.eftpos-pay.text.huifu.scan.input-placeholder": "请输入",
429
+ "page.eftpos-pay.text.huifu.scan.input-tip": "提示:付款码为18位数字",
430
+ "page.eftpos-pay.text.huifu.scan.cancel": "取消",
431
+ "page.eftpos-pay.text.huifu.scan.confirm": "确认支付"
406
432
  },
407
433
  "zh-HK": {
408
434
  "page.eftpos-pay.text.loading": (mode) => `${mode === "pay" || mode === "fullPay" ? "支付" : "退款"}進行中...`,
@@ -669,6 +695,19 @@ var locales_default = {
669
695
  return "請使用以下選項之一回答此問題";
670
696
  }
671
697
  return key;
672
- }
698
+ },
699
+ // 汇付天下定制文案
700
+ "page.eftpos-pay.text.huifu.scan.title": "掃碼支付(支付寶 · 微信支付 · 銀聯)",
701
+ "page.eftpos-pay.text.huifu.scan.gun.connected": "掃碼槍已連接",
702
+ "page.eftpos-pay.text.huifu.scan.gun.connected-desc": "直接掃描消費者付款碼即可",
703
+ "page.eftpos-pay.text.huifu.scan.gun.not-connected": "未連接掃碼槍",
704
+ "page.eftpos-pay.text.huifu.scan.gun.not-connected-desc": "連接掃碼槍後可直接掃碼消費者付款碼",
705
+ "page.eftpos-pay.text.huifu.scan.camera-title": "點擊可使用設備攝像頭",
706
+ "page.eftpos-pay.text.huifu.scan.camera-desc": "將消費者付款碼對準掃描框",
707
+ "page.eftpos-pay.text.huifu.scan.input-title": "或手動輸入付款碼",
708
+ "page.eftpos-pay.text.huifu.scan.input-placeholder": "請輸入",
709
+ "page.eftpos-pay.text.huifu.scan.input-tip": "提示:付款碼為18位數字",
710
+ "page.eftpos-pay.text.huifu.scan.cancel": "取消",
711
+ "page.eftpos-pay.text.huifu.scan.confirm": "確認支付"
673
712
  }
674
713
  };
@@ -4,4 +4,5 @@ export { default as Payo } from './payo';
4
4
  export { default as Windcave } from './windcave/windcave';
5
5
  export { default as Tyro } from './tyro';
6
6
  export { default as Linkly } from './linkly';
7
+ export { default as Huifu } from './huifu';
7
8
  export declare const getInitState: (type: string, params?: any) => State;
@@ -29,6 +29,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  // src/components/eftposPay/manufacturer.tsx
30
30
  var manufacturer_exports = {};
31
31
  __export(manufacturer_exports, {
32
+ Huifu: () => import_huifu.default,
32
33
  Linkly: () => import_linkly.default,
33
34
  Payo: () => import_payo.default,
34
35
  Tyro: () => import_tyro.default,
@@ -42,12 +43,15 @@ var import_const2 = __toESM(require("./payo/const"));
42
43
  var import_const3 = __toESM(require("./tyro/const"));
43
44
  var import_const4 = __toESM(require("./windcave/const"));
44
45
  var import_const5 = __toESM(require("./linkly/const"));
46
+ var import_const6 = __toESM(require("./huifu/const"));
45
47
  var import_helper = require("./helper");
46
48
  var import_payo = __toESM(require("./payo"));
47
49
  var import_windcave = __toESM(require("./windcave/windcave"));
48
50
  var import_tyro = __toESM(require("./tyro"));
49
51
  var import_linkly = __toESM(require("./linkly"));
52
+ var import_huifu = __toESM(require("./huifu"));
50
53
  var getInitState = (type, params) => {
54
+ console.log("type = ", type);
51
55
  switch (type) {
52
56
  case import_const.EftposEnum.Payo:
53
57
  return (0, import_const2.default)(params);
@@ -57,12 +61,15 @@ var getInitState = (type, params) => {
57
61
  return (0, import_const3.default)(params);
58
62
  case import_const.EftposEnum.Linkly:
59
63
  return (0, import_const5.default)(params);
64
+ case import_const.EftposEnum.Huifu:
65
+ return (0, import_const6.default)(params);
60
66
  default:
61
67
  throw new Error("未知的厂商类型");
62
68
  }
63
69
  };
64
70
  // Annotate the CommonJS export names for ESM import in node:
65
71
  0 && (module.exports = {
72
+ Huifu,
66
73
  Linkly,
67
74
  Payo,
68
75
  Tyro,
@@ -152,7 +152,7 @@ var Pay = ({
152
152
  className: `pisell-lowcode__eft-pay-box ${className}`,
153
153
  style: data.type === "step" ? {} : { display: "none" }
154
154
  },
155
- /* @__PURE__ */ import_react.default.createElement(
155
+ data.status !== import_const.StatusEnum.Init && /* @__PURE__ */ import_react.default.createElement(
156
156
  import_header.default,
157
157
  {
158
158
  status: data.status,
@@ -180,7 +180,8 @@ var Pay = ({
180
180
  formatAmount
181
181
  }
182
182
  ) : null,
183
- data.eftpos === "linkly" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Linkly, { key: data.key, api, onChange }) : null
183
+ data.eftpos === "linkly" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Linkly, { key: data.key, api, onChange }) : null,
184
+ data.eftpos === "huifu" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Huifu, { key: data.key, onChange, isNativeApp: isMobile }) : null
184
185
  ) : null, data.type === import_const.PayRouteEnum.Unset && Comm ? /* @__PURE__ */ import_react.default.createElement(
185
186
  Comm,
186
187
  {
@@ -91,6 +91,10 @@ export declare type State = {
91
91
  };
92
92
  backup?: Omit<State, 'backup'>;
93
93
  client: ClientEnum;
94
+ /** 原始参数 - 用于 retry 时完整恢复 */
95
+ originalParams?: {
96
+ [key: string]: unknown;
97
+ };
94
98
  };
95
99
  export declare type Action = {
96
100
  type: EActionTypes;
@@ -297,8 +301,8 @@ export declare const backUpFree: (payload: Partial<State>) => {
297
301
  amount?: string | number | undefined;
298
302
  mode?: "pay" | "refund" | "fullPay" | "query" | undefined;
299
303
  order_id?: string | number | undefined;
300
- eftpos?: "stripe" | "tyro" | "windcave" | "payo" | "linkly" | undefined;
301
- action?: "amount" | "pay" | "deviceList" | undefined;
304
+ eftpos?: "stripe" | "payo" | "tyro" | "windcave" | "linkly" | "huifu" | undefined;
305
+ action?: "pay" | "amount" | "deviceList" | undefined;
302
306
  key?: number | undefined;
303
307
  step?: number | undefined;
304
308
  title?: string | undefined;
@@ -308,7 +312,7 @@ export declare const backUpFree: (payload: Partial<State>) => {
308
312
  net?: boolean | undefined;
309
313
  component?: string | undefined;
310
314
  form?: string | undefined;
311
- status?: "loading" | "success" | "warn" | "fail" | "pedding" | "resove" | "reject" | "question" | undefined;
315
+ status?: "loading" | "success" | "warn" | "init" | "fail" | "pedding" | "resove" | "reject" | "question" | undefined;
312
316
  warn?: string | undefined;
313
317
  steps?: {
314
318
  /** 用于重置当前步骤 */
@@ -344,6 +348,9 @@ export declare const backUpFree: (payload: Partial<State>) => {
344
348
  } | undefined;
345
349
  backup?: Omit<State, "backup"> | undefined;
346
350
  client?: ClientEnum | undefined;
351
+ originalParams?: {
352
+ [key: string]: unknown;
353
+ } | undefined;
347
354
  };
348
355
  };
349
356
  export declare function reducers(state: State, action: Action): State;
@@ -97,7 +97,14 @@ var EFTPOS = (props, ref) => {
97
97
  name: payMethod.name,
98
98
  symbol: params.symbol,
99
99
  amount: params.amount,
100
- device_number
100
+ device_number,
101
+ custom_payment_id: payMethod == null ? void 0 : payMethod.id,
102
+ custom_payment_code: payMethod == null ? void 0 : payMethod.code,
103
+ custom_payment_name: payMethod == null ? void 0 : payMethod.name,
104
+ custom_payment_type: payMethod == null ? void 0 : payMethod.type,
105
+ operator_type: params == null ? void 0 : params.operator_type,
106
+ operator_id: params == null ? void 0 : params.operator_id,
107
+ platform: params == null ? void 0 : params.platform
101
108
  },
102
109
  mode
103
110
  };