fix: update H5 withdraw minimum

This commit is contained in:
ZuoZuo 2026-05-01 14:34:21 +08:00
parent 56a36f5fc2
commit 3015697c41
5 changed files with 21 additions and 18 deletions

View File

@ -1,6 +1,7 @@
import { applyLang, bindHeader, connectToApp, createMask, get, money, navigateTo, post, safeJsonArray, t, toast } from "../bd-static/shared.js";
const query = new URLSearchParams(window.location.search);
const CASH_OUT_MIN_AMOUNT = 100;
const state = {
identity: readIdentity(),
activeAction: query.get("activeAction") || "Exchange",
@ -353,8 +354,8 @@ function openCashSheet() {
}
async function submitCash(mask) {
if (!(state.kyc?.status === "PASS" && state.bankCard?.id && state.cashAmount >= 50)) {
if (!state.bankCard?.id && state.cashAmount >= 50) {
if (!(state.kyc?.status === "PASS" && state.bankCard?.id && state.cashAmount >= CASH_OUT_MIN_AMOUNT)) {
if (!state.bankCard?.id && state.cashAmount >= CASH_OUT_MIN_AMOUNT) {
mask.remove();
openImproveDialog();
}

View File

@ -24,7 +24,7 @@ const text = {
amount: "Amount",
coins: "Coins",
dollar: "Dollar",
minimum_cash_out: "Minimum cash out is $50",
minimum_cash_out: "Minimum cash out is $100",
bd_policy_link: "BD policy",
bd_leader_policy: "BD leader policy",
bd_policy: "BD policy",
@ -138,7 +138,7 @@ const text = {
to_improve: "To improve",
cash_withdrawal_tips: "Cash withdrawal submitted",
enter_cash_out_amount: "Enter cash out amount",
cash_out_minimum: "Cash out minimum: $50",
cash_out_minimum: "Cash out minimum: $100",
change_withdrawal_method: "Change withdrawal method",
please_select_bank_card: "Please select bank card",
prompt: "Prompt",

View File

@ -59,7 +59,7 @@
</div>
</label>
<div class="hint-row">
<span data-i18n="minimum">Minimum 50 USD</span>
<span data-i18n="minimum">Minimum 100 USD</span>
<button class="text-action" type="button" data-i18n="all">All</button>
</div>
</div>
@ -144,6 +144,6 @@
<div class="toast" hidden></div>
<div class="home-indicator" aria-hidden="true"></div>
</div>
<script src="./script.js?v=20260428-2215" defer></script>
<script src="./script.js?v=20260501-1000" defer></script>
</body>
</html>

View File

@ -1,6 +1,7 @@
(function () {
const API_BASE_URL = "https://jvapi.haiyihy.com";
const EXCHANGE_RATE = 80000;
const WITHDRAW_MIN_AMOUNT = 100;
const supportedLanguages = ["en", "ar", "tr", "id"];
const languageLabels = {
en: "EN",
@ -27,7 +28,7 @@
transfer_to: "Transfer to",
search: "Search",
searching: "Searching...",
minimum: "Minimum 50 USD",
minimum: "Minimum 100 USD",
all: "All",
exchange_rate: "Exchange rate",
payment_method: "USDT TRC20 address",
@ -50,7 +51,7 @@
missing_payment_info: "Please add a TRC20 USDT address",
invalid_address: "Please enter a valid TRC20 USDT address",
invalid_amount: "Please enter a valid amount",
amount_too_low: "Minimum withdrawal amount is 50 USD",
amount_too_low: "Minimum withdrawal amount is 100 USD",
amount_exceeds_balance: "Amount exceeds salary",
payee_not_found: "User not found",
missing_payee: "Please search and select a user",
@ -79,7 +80,7 @@
transfer_to: "تحويل إلى",
search: "بحث",
searching: "جار البحث...",
minimum: "الحد الأدنى 50 USD",
minimum: "الحد الأدنى 100 USD",
all: "الكل",
exchange_rate: "سعر التبديل",
payment_method: "عنوان USDT TRC20",
@ -102,7 +103,7 @@
missing_payment_info: "يرجى إضافة عنوان USDT TRC20",
invalid_address: "يرجى إدخال عنوان USDT TRC20 صالح",
invalid_amount: "يرجى إدخال مبلغ صالح",
amount_too_low: "الحد الأدنى للسحب هو 50 USD",
amount_too_low: "الحد الأدنى للسحب هو 100 USD",
amount_exceeds_balance: "المبلغ يتجاوز الراتب",
payee_not_found: "لم يتم العثور على المستخدم",
missing_payee: "يرجى البحث واختيار مستخدم",
@ -131,7 +132,7 @@
transfer_to: "Transfer to",
search: "Search",
searching: "Searching...",
minimum: "Minimum 50 USD",
minimum: "Minimum 100 USD",
all: "All",
exchange_rate: "Exchange rate",
payment_method: "USDT TRC20 address",
@ -154,7 +155,7 @@
missing_payment_info: "Please add a TRC20 USDT address",
invalid_address: "Please enter a valid TRC20 USDT address",
invalid_amount: "Please enter a valid amount",
amount_too_low: "Minimum withdrawal amount is 50 USD",
amount_too_low: "Minimum withdrawal amount is 100 USD",
amount_exceeds_balance: "Amount exceeds salary",
payee_not_found: "User not found",
missing_payee: "Please search and select a user",
@ -183,7 +184,7 @@
transfer_to: "Transfer ke",
search: "Cari",
searching: "Mencari...",
minimum: "Minimum 50 USD",
minimum: "Minimum 100 USD",
all: "Semua",
exchange_rate: "Kurs penukaran",
payment_method: "Alamat USDT TRC20",
@ -206,7 +207,7 @@
missing_payment_info: "Tambahkan alamat USDT TRC20",
invalid_address: "Masukkan alamat USDT TRC20 yang valid",
invalid_amount: "Masukkan jumlah yang valid",
amount_too_low: "Minimum penarikan adalah 50 USD",
amount_too_low: "Minimum penarikan adalah 100 USD",
amount_exceeds_balance: "Jumlah melebihi gaji",
payee_not_found: "Pengguna tidak ditemukan",
missing_payee: "Cari dan pilih pengguna",
@ -510,7 +511,7 @@
exceedsBalance ||
missingWithdrawInfo ||
missingPayee ||
(currentMode === "withdraw" && amount < 50);
(currentMode === "withdraw" && amount < WITHDRAW_MIN_AMOUNT);
}
function showToast(keyOrText, fallback) {
@ -668,7 +669,7 @@
function validateAmount(requireMinimum) {
const amount = activeAmount();
if (!amount || amount <= 0) return "invalid_amount";
if (requireMinimum && amount < 50) return "amount_too_low";
if (requireMinimum && amount < WITHDRAW_MIN_AMOUNT) return "amount_too_low";
if (amount > availableBalance) return "amount_exceeds_balance";
return "";
}

View File

@ -1,4 +1,5 @@
const API_BASE_URL = "https://jvapi.haiyihy.com";
const CASH_OUT_MIN_AMOUNT = 100;
let headers = {
authorization: "Bearer undefined",
@ -547,12 +548,12 @@ async function renderCashOutPanel(panel) {
const [cards, kyc] = await Promise.allSettled([get("/wallet/bank-card/list"), get("/wallet/withdraw-info/list")]);
const card = (cards.value?.body || []).find((item) => item.use);
const info = kyc.value?.body?.[0];
panel.innerHTML = `<div class="form-row"><input id="amount" placeholder="50" inputmode="decimal"></div><div id="card"></div><div id="kyc"></div><button class="primary" id="submit">Cash out</button>`;
panel.innerHTML = `<div class="form-row"><input id="amount" placeholder="${CASH_OUT_MIN_AMOUNT}" inputmode="decimal"></div><div id="card"></div><div id="kyc"></div><button class="primary" id="submit">Cash out</button>`;
$("#card").appendChild(card ? row({ title: card.cardType, sub: `Card: ${card.cardNo}`, side: card.payee }) : row({ title: "No bank cards in use", sub: "Add bank card", tag: "Add", onClick: () => navigate("/bank-card") }));
$("#kyc").appendChild(info ? row({ title: `KYC: ${info.status}`, sub: `Contact: ${info.contactNumber || "-"}`, tag: "KYC" }) : row({ title: "Complete KYC", sub: "No KYC information", tag: "KYC", onClick: () => navigate("/KYC") }));
$("#submit").addEventListener("click", async () => {
const amount = Number($("#amount").value);
if (!card?.id || !amount || amount < 50) return toast("Please complete information and enter at least 50");
if (!card?.id || !amount || amount < CASH_OUT_MIN_AMOUNT) return toast(`Please complete information and enter at least ${CASH_OUT_MIN_AMOUNT}`);
try {
await post("/wallet/bank/withdraw", { amount, acceptBankCardId: card.id, salaryType: cfg.salaryType || (getIdentity() === "HOST" ? "HOST_SALARY" : "BD_SALARY") });
toast("Cash withdrawal submitted");