@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.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +9 -9
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +9 -9
- package/es/components/authentication/admin/ChannelAuthSetting/SaaSManagermentAuth/index.js +0 -1
- package/es/components/booking/components/footer/amount.js +3 -0
- package/es/components/booking/components/footer/index.js +32 -33
- package/es/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info/service2/utils.js +41 -39
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/service/editService/index.js +0 -1
- package/es/components/booking/utils/confirmHolderModal.js +3 -4
- package/es/components/checkout/PaymentModal.js +4 -2
- package/es/components/checkout/components/PaymentOptionsModule/index.js +1 -1
- package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/es/components/eftposPay/EFTPos.js +6 -6
- package/es/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +7 -0
- package/es/components/eftposPay/aggregatePayment/hooks/useMicropay.js +120 -0
- package/es/components/eftposPay/aggregatePayment/index.d.ts +3 -0
- package/es/components/eftposPay/aggregatePayment/index.js +3 -0
- package/es/components/eftposPay/aggregatePayment/service.d.ts +24 -0
- package/es/components/eftposPay/aggregatePayment/service.js +69 -0
- package/es/components/eftposPay/aggregatePayment/types.d.ts +106 -0
- package/es/components/eftposPay/aggregatePayment/types.js +65 -0
- package/es/components/eftposPay/aggregatePayment/utils/logs.d.ts +110 -0
- package/es/components/eftposPay/aggregatePayment/utils/logs.js +371 -0
- package/es/components/eftposPay/aggregatePayment/utils/payment.d.ts +139 -0
- package/es/components/eftposPay/aggregatePayment/utils/payment.js +1138 -0
- package/es/components/eftposPay/app.js +5 -0
- package/es/components/eftposPay/component/fail/failCustom.js +16 -12
- package/es/components/eftposPay/component/fail/index.js +12 -5
- package/es/components/eftposPay/const.d.ts +6 -1
- package/es/components/eftposPay/const.js +3 -0
- package/es/components/eftposPay/hooks.d.ts +3 -2
- package/es/components/eftposPay/hooks.js +12 -0
- package/es/components/eftposPay/huifu/Action.d.ts +8 -0
- package/es/components/eftposPay/huifu/Action.js +146 -0
- package/es/components/eftposPay/huifu/const.d.ts +5 -0
- package/es/components/eftposPay/huifu/const.js +70 -0
- package/es/components/eftposPay/huifu/hooks.d.ts +25 -0
- package/es/components/eftposPay/huifu/hooks.js +184 -0
- package/es/components/eftposPay/huifu/index.d.ts +5 -0
- package/es/components/eftposPay/huifu/index.js +196 -0
- package/es/components/eftposPay/huifu/index.less +180 -0
- package/es/components/eftposPay/huifu/types.d.ts +14 -0
- package/es/components/eftposPay/huifu/types.js +1 -0
- package/es/components/eftposPay/index.js +5 -1
- package/es/components/eftposPay/locales.d.ts +36 -0
- package/es/components/eftposPay/locales.js +42 -3
- package/es/components/eftposPay/manufacturer.d.ts +1 -0
- package/es/components/eftposPay/manufacturer.js +5 -0
- package/es/components/eftposPay/pay.js +6 -2
- package/es/components/eftposPay/store/index.d.ts +10 -3
- package/es/components/pay/toB/components/EFTPOS/index.js +8 -1
- package/es/components/pay/toB/types/index.d.ts +1 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +10 -11
- package/lib/components/authentication/admin/ChannelAuthSetting/SaaSManagermentAuth/index.js +0 -1
- package/lib/components/booking/components/footer/index.js +0 -1
- package/lib/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info/service2/utils.js +3 -1
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/service/editService/index.js +0 -1
- package/lib/components/booking/utils/confirmHolderModal.js +0 -1
- package/lib/components/checkout/PaymentModal.js +5 -2
- package/lib/components/checkout/components/PaymentOptionsModule/index.js +2 -1
- package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/lib/components/eftposPay/EFTPos.js +7 -7
- package/lib/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +7 -0
- package/lib/components/eftposPay/aggregatePayment/hooks/useMicropay.js +133 -0
- package/lib/components/eftposPay/aggregatePayment/index.d.ts +3 -0
- package/lib/components/eftposPay/aggregatePayment/index.js +42 -0
- package/lib/components/eftposPay/aggregatePayment/service.d.ts +24 -0
- package/lib/components/eftposPay/aggregatePayment/service.js +81 -0
- package/lib/components/eftposPay/aggregatePayment/types.d.ts +106 -0
- package/lib/components/eftposPay/aggregatePayment/types.js +74 -0
- package/lib/components/eftposPay/aggregatePayment/utils/logs.d.ts +110 -0
- package/lib/components/eftposPay/aggregatePayment/utils/logs.js +294 -0
- package/lib/components/eftposPay/aggregatePayment/utils/payment.d.ts +139 -0
- package/lib/components/eftposPay/aggregatePayment/utils/payment.js +752 -0
- package/lib/components/eftposPay/app.js +5 -0
- package/lib/components/eftposPay/component/fail/failCustom.js +15 -9
- package/lib/components/eftposPay/component/fail/index.js +4 -1
- package/lib/components/eftposPay/const.d.ts +6 -1
- package/lib/components/eftposPay/const.js +3 -0
- package/lib/components/eftposPay/hooks.d.ts +3 -2
- package/lib/components/eftposPay/hooks.js +16 -0
- package/lib/components/eftposPay/huifu/Action.d.ts +8 -0
- package/lib/components/eftposPay/huifu/Action.js +174 -0
- package/lib/components/eftposPay/huifu/const.d.ts +5 -0
- package/lib/components/eftposPay/huifu/const.js +86 -0
- package/lib/components/eftposPay/huifu/hooks.d.ts +25 -0
- package/lib/components/eftposPay/huifu/hooks.js +186 -0
- package/lib/components/eftposPay/huifu/index.d.ts +5 -0
- package/lib/components/eftposPay/huifu/index.js +200 -0
- package/lib/components/eftposPay/huifu/index.less +180 -0
- package/lib/components/eftposPay/huifu/types.d.ts +14 -0
- package/lib/components/eftposPay/huifu/types.js +17 -0
- package/lib/components/eftposPay/index.js +5 -1
- package/lib/components/eftposPay/locales.d.ts +36 -0
- package/lib/components/eftposPay/locales.js +42 -3
- package/lib/components/eftposPay/manufacturer.d.ts +1 -0
- package/lib/components/eftposPay/manufacturer.js +7 -0
- package/lib/components/eftposPay/pay.js +3 -2
- package/lib/components/eftposPay/store/index.d.ts +10 -3
- package/lib/components/pay/toB/components/EFTPOS/index.js +8 -1
- package/lib/components/pay/toB/types/index.d.ts +1 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.js +0 -1
- 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
|
-
|
|
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" | "
|
|
301
|
-
action?: "
|
|
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
|
};
|