best-unit 1.4.8 → 1.4.9
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/dist/best-unit.cjs +13 -13
- package/dist/best-unit.js +901 -861
- package/package.json +1 -1
- package/src/api/index.ts +18 -1
- package/src/components/business/recharge-sdk/components/offline-transfer-form/index.tsx +31 -6
- package/src/components/business/recharge-sdk/components/offline-transfer-form/theme.tsx +26 -0
package/package.json
CHANGED
package/src/api/index.ts
CHANGED
|
@@ -133,7 +133,24 @@ export const calcPaymentAmount = async (data: CalcPaymentAmountParams) => {
|
|
|
133
133
|
paymentAmount: data.payment_amount,
|
|
134
134
|
fee: data.fee,
|
|
135
135
|
currency: data.currency,
|
|
136
|
-
}
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// /sdk/channel/info
|
|
141
|
+
export const getChannelInfo = async (data: {
|
|
142
|
+
code: string;
|
|
143
|
+
bizType: string;
|
|
144
|
+
}) => {
|
|
145
|
+
return http()
|
|
146
|
+
.get("/channel/info", {
|
|
147
|
+
params: {
|
|
148
|
+
code: data.code,
|
|
149
|
+
biz_type: data.bizType,
|
|
150
|
+
},
|
|
151
|
+
})
|
|
152
|
+
.then((res) => {
|
|
153
|
+
return res.data?.detail || [];
|
|
137
154
|
});
|
|
138
155
|
};
|
|
139
156
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { FunctionalComponent } from "preact";
|
|
2
|
+
import { useState } from "preact/hooks";
|
|
2
3
|
import { Upload } from "@/components/common/upload";
|
|
3
|
-
import { createOfflineRecharge } from "@/api";
|
|
4
|
+
import { createOfflineRecharge, getChannelInfo } from "@/api";
|
|
4
5
|
import { message } from "@/components/common/message";
|
|
5
6
|
import { t } from "@/local";
|
|
6
7
|
import { Select } from "@/components/common/select";
|
|
@@ -29,6 +30,9 @@ export const OfflineTransferForm: FunctionalComponent<
|
|
|
29
30
|
const channelDict = allDicts?.channel || [];
|
|
30
31
|
const theme = getOfflineTransferFormTheme();
|
|
31
32
|
|
|
33
|
+
// 渠道信息展示
|
|
34
|
+
const [channelInfo, setChannelInfo] = useState<string[]>([]);
|
|
35
|
+
|
|
32
36
|
const handleSubmit = async (e: any) => {
|
|
33
37
|
e.preventDefault();
|
|
34
38
|
let valid = true;
|
|
@@ -69,6 +73,22 @@ export const OfflineTransferForm: FunctionalComponent<
|
|
|
69
73
|
message.success(t("提交成功"));
|
|
70
74
|
};
|
|
71
75
|
|
|
76
|
+
function handlePlatformChange(value: string) {
|
|
77
|
+
setFormState((state: any) => ({
|
|
78
|
+
...state,
|
|
79
|
+
platform: value,
|
|
80
|
+
platformError: value ? "" : state.platformError,
|
|
81
|
+
}));
|
|
82
|
+
console.log(value, "value");
|
|
83
|
+
getChannelInfo({
|
|
84
|
+
code: value,
|
|
85
|
+
bizType: "fulfill",
|
|
86
|
+
}).then((res) => {
|
|
87
|
+
console.log(res, "res");
|
|
88
|
+
// 兼容空值与非数组返回
|
|
89
|
+
setChannelInfo(Array.isArray(res) ? res : res ? [String(res)] : []);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
72
92
|
return (
|
|
73
93
|
<form onSubmit={handleSubmit}>
|
|
74
94
|
<div style={{ marginBottom: 18 }}>
|
|
@@ -78,11 +98,7 @@ export const OfflineTransferForm: FunctionalComponent<
|
|
|
78
98
|
<Select
|
|
79
99
|
value={formState.platform}
|
|
80
100
|
onChange={(value) => {
|
|
81
|
-
|
|
82
|
-
...state,
|
|
83
|
-
platform: value,
|
|
84
|
-
platformError: value ? "" : state.platformError,
|
|
85
|
-
}));
|
|
101
|
+
handlePlatformChange(value);
|
|
86
102
|
}}
|
|
87
103
|
options={[
|
|
88
104
|
...channelDict?.map((item: any) => ({
|
|
@@ -95,6 +111,15 @@ export const OfflineTransferForm: FunctionalComponent<
|
|
|
95
111
|
{formState.platformError && (
|
|
96
112
|
<div style={theme.error}>{formState.platformError}</div>
|
|
97
113
|
)}
|
|
114
|
+
{channelInfo.length > 0 && (
|
|
115
|
+
<div style={theme.channelInfoBox}>
|
|
116
|
+
{channelInfo.map((line, idx) => (
|
|
117
|
+
<div key={idx} style={theme.channelInfoItem}>
|
|
118
|
+
{line}
|
|
119
|
+
</div>
|
|
120
|
+
))}
|
|
121
|
+
</div>
|
|
122
|
+
)}
|
|
98
123
|
</div>
|
|
99
124
|
<div style={{ marginBottom: 18 }}>
|
|
100
125
|
<div style={theme.label}>
|
|
@@ -104,6 +104,19 @@ function createOfflineTransferFormThemes() {
|
|
|
104
104
|
marginTop: size === Size.SMALL ? 2 : 4,
|
|
105
105
|
textAlign: "left",
|
|
106
106
|
},
|
|
107
|
+
channelInfoBox: {
|
|
108
|
+
marginTop: size === Size.SMALL ? 8 : 10,
|
|
109
|
+
padding: size === Size.SMALL ? "8px 10px" : "10px 12px",
|
|
110
|
+
borderRadius: 6,
|
|
111
|
+
background: "#F7F8FA",
|
|
112
|
+
border: "1px solid #E5E6EB",
|
|
113
|
+
},
|
|
114
|
+
channelInfoItem: {
|
|
115
|
+
color: "#222",
|
|
116
|
+
fontSize: size === Size.SMALL ? 12 : 13,
|
|
117
|
+
lineHeight: 1.6,
|
|
118
|
+
wordBreak: "break-all",
|
|
119
|
+
},
|
|
107
120
|
},
|
|
108
121
|
dark: {
|
|
109
122
|
label: {
|
|
@@ -205,6 +218,19 @@ function createOfflineTransferFormThemes() {
|
|
|
205
218
|
marginTop: size === Size.SMALL ? 2 : 4,
|
|
206
219
|
textAlign: "left",
|
|
207
220
|
},
|
|
221
|
+
channelInfoBox: {
|
|
222
|
+
marginTop: size === Size.SMALL ? 8 : 10,
|
|
223
|
+
padding: size === Size.SMALL ? "8px 10px" : "10px 12px",
|
|
224
|
+
borderRadius: 6,
|
|
225
|
+
background: "#23262F",
|
|
226
|
+
border: "1px solid #374151",
|
|
227
|
+
},
|
|
228
|
+
channelInfoItem: {
|
|
229
|
+
color: "#fff",
|
|
230
|
+
fontSize: size === Size.SMALL ? 12 : 13,
|
|
231
|
+
lineHeight: 1.6,
|
|
232
|
+
wordBreak: "break-all",
|
|
233
|
+
},
|
|
208
234
|
},
|
|
209
235
|
};
|
|
210
236
|
}
|