38350-vm/deposit.php
2026-02-14 02:30:12 +00:00

232 lines
16 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
include 'header.php';
if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit; }
require_once 'db/config.php';
require_once 'includes/currency_helper.php';
$db = db();
// 检查是否有正在进行的订单,如果有则跳转到聊天
$stmt = $db->prepare("SELECT id FROM fiat_orders WHERE user_id = ? AND status IN ('matching', 'matched', 'paid') ORDER BY id DESC LIMIT 1");
$stmt->execute([$_SESSION['user_id']]);
if ($stmt->fetch()) { header("Location: chat.php"); exit; }
$fiat_rates = get_fiat_rates();
$fiat_currencies_info = [
'USD' => ['name' => '美元', 'flag' => '🇺🇸'],
'EUR' => ['name' => '欧元', 'flag' => '🇪🇺'],
'GBP' => ['name' => '英镑', 'flag' => '🇬🇧'],
'CNY' => ['name' => '人民币', 'flag' => '🇨🇳'],
'HKD' => ['name' => '港币', 'flag' => '🇭🇰'],
'JPY' => ['name' => '日元', 'flag' => '🇯🇵'],
'KRW' => ['name' => '韩元', 'flag' => '🇰🇷'],
'SGD' => ['name' => '新加坡元', 'flag' => '🇸🇬'],
'TWD' => ['name' => '台币', 'flag' => '🇹🇼'],
'THB' => ['name' => '泰铢', 'flag' => '🇹🇭'],
'VND' => ['name' => '越南盾', 'flag' => '🇻🇳'],
'IDR' => ['name' => '印尼盾', 'flag' => '🇮🇩'],
'MYR' => ['name' => '马来西亚林吉特', 'flag' => '🇲🇾'],
];
?>
<style>
.deposit-container { padding: 40px 0; background: #0b0e11; min-height: 100vh; }
.deposit-card { background: var(--card-bg); border-radius: 24px; border: 1px solid var(--border-color); overflow: hidden; }
.method-card { padding: 30px; border-radius: 20px; border: 2px solid transparent; cursor: pointer; transition: 0.3s; background: rgba(255,255,255,0.02); }
.method-card:hover { background: rgba(255,255,255,0.05); }
.method-card.active { border-color: var(--primary-color); background: rgba(240, 185, 11, 0.05); }
.method-card .icon-box { width: 50px; height: 50px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 15px; }
.instruction-item { display: flex; gap: 15px; margin-bottom: 20px; }
.instruction-number { width: 24px; height: 24px; background: var(--primary-color); color: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; flex-shrink: 0; }
.input-group-custom { background: #161a1e; border: 1px solid var(--border-color); border-radius: 16px; padding: 15px 20px; display: flex; align-items: center; gap: 15px; transition: 0.3s; }
.input-group-custom:focus-within { border-color: var(--primary-color); }
.input-group-custom input { background: none; border: none; color: white; font-size: 1.2rem; font-weight: 700; width: 100%; outline: none; }
.safe-banner { background: rgba(14, 203, 129, 0.1); border: 1px solid rgba(14, 203, 129, 0.2); padding: 20px; border-radius: 16px; color: var(--success-color); display: flex; gap: 15px; align-items: center; margin-bottom: 30px; }
</style>
<div class="deposit-container">
<div class="container" style="max-width: 1100px;">
<div style="margin-bottom: 30px;">
<a href="profile.php" class="back-btn"><i class="fas fa-arrow-left"></i> 个人中心</a>
<h1 style="font-size: 2.2rem; font-weight: 800; margin-top: 10px;">充值</h1>
<p style="color: var(--text-muted);">通过多种通道安全地为您的账户充值</p>
</div>
<div class="safe-banner">
<i class="fas fa-shield-check" style="font-size: 24px;"></i>
<div>
<div style="font-weight: 800;">安全保障</div>
<div style="font-size: 13px; opacity: 0.8;">所有交易均经过加密处理24/7 全天候监控。您的资金受到我们的安全资产基金保护。</div>
</div>
</div>
<div style="display: grid; grid-template-columns: 1fr 380px; gap: 30px;">
<div>
<div class="deposit-card" style="padding: 40px;">
<h3 style="margin-bottom: 25px; font-weight: 800;">1. 选择充值方式</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 40px;">
<div id="method-fiat" class="method-card active" onclick="switchDepositMethod('fiat')">
<div class="icon-box" style="background: rgba(79,172,254,0.1); color: #4facfe;"><i class="fas fa-university"></i></div>
<div style="font-weight: 800; font-size: 1.1rem;">法币充值</div>
<div style="color: var(--text-muted); font-size: 12px; margin-top: 4px;">银行转账 / 全球 OTC</div>
</div>
<div id="method-usdt" class="method-card" onclick="switchDepositMethod('usdt')">
<div class="icon-box" style="background: rgba(14,203,129,0.1); color: var(--success-color);"><i class="fas fa-coins"></i></div>
<div style="font-weight: 800; font-size: 1.1rem;">USDT 充值</div>
<div style="color: var(--text-muted); font-size: 12px; margin-top: 4px;">USDT (TRC20, ERC20, BEP20)</div>
</div>
</div>
<div id="fiat-form-section">
<h3 style="margin-bottom: 25px; font-weight: 800;">2. 订单详情</h3>
<form action="matching.php" method="POST">
<input type="hidden" name="order_type" value="deposit">
<input type="hidden" name="type" value="fiat">
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px;">
<div>
<label style="display: block; color: var(--text-muted); font-size: 13px; margin-bottom: 8px;">充值币种</label>
<select name="currency" id="fiat-select" onchange="updateExchangeRate()" style="width: 100%; padding: 16px; background: #161a1e; border: 1px solid var(--border-color); color: white; border-radius: 16px; outline: none; font-weight: 600;">
<?php foreach ($fiat_rates as $code => $rate): ?>
<option value="<?php echo $code; ?>" data-rate="<?php echo $rate; ?>">
<?php echo ($fiat_currencies_info[$code]['flag'] ?? '') . ' ' . $code . ' - ' . ($fiat_currencies_info[$code]['name'] ?? $code); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div>
<label style="display: block; color: var(--text-muted); font-size: 13px; margin-bottom: 8px;">充值金额</label>
<div class="input-group-custom">
<input type="number" name="amount" id="fiat-amount" placeholder="0.00" required oninput="updateExchangeRate()">
<span id="fiat-symbol-display" style="font-weight: 800; color: var(--text-muted);">USD</span>
</div>
</div>
</div>
<div style="background: rgba(255,255,255,0.03); padding: 25px; border-radius: 20px; margin-bottom: 30px; border: 1px dashed var(--border-color);">
<div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
<span style="color: var(--text-muted);">实时汇率</span>
<span style="font-weight: 700;">1 USDT ≈ <span id="rate-text">--</span> <span class="current-fiat-code">USD</span></span>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,0.05); pt: 15px; margin-top: 15px; padding-top: 15px;">
<span style="font-weight: 800; font-size: 1.1rem;">预计收到</span>
<span style="font-weight: 800; font-size: 1.5rem; color: var(--primary-color);"><span id="receive-text">0.00</span> USDT</span>
</div>
</div>
<button type="submit" class="btn-primary" style="width: 100%; padding: 20px; border-radius: 16px; font-size: 1.1rem; font-weight: 800;">
发起充值请求
</button>
</form>
</div>
<div id="usdt-form-section" style="display: none;">
<h3 style="margin-bottom: 25px; font-weight: 800;">2. 订单详情</h3>
<form action="matching.php" method="POST">
<input type="hidden" name="order_type" value="deposit">
<input type="hidden" name="type" value="usdt">
<input type="hidden" name="currency" value="USDT">
<label style="display: block; color: var(--text-muted); font-size: 13px; margin-bottom: 12px;">选择网络</label>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 25px;">
<label class="network-opt"><input type="radio" name="network" value="TRC20" checked style="display:none;"><div class="network-box">TRC20</div></label>
<label class="network-opt"><input type="radio" name="network" value="ERC20" style="display:none;"><div class="network-box">ERC20</div></label>
<label class="network-opt"><input type="radio" name="network" value="BEP20" style="display:none;"><div class="network-box">BEP20</div></label>
</div>
<div style="margin-bottom: 30px;">
<label style="display: block; color: var(--text-muted); font-size: 13px; margin-bottom: 8px;">充值金额 (USDT)</label>
<div class="input-group-custom">
<input type="number" name="amount" placeholder="最小 10 USDT" required>
<span style="font-weight: 800; color: var(--text-muted);">USDT</span>
</div>
</div>
<button type="submit" class="btn-primary" style="width: 100%; padding: 20px; border-radius: 16px; font-size: 1.1rem; font-weight: 800; background: var(--success-color);">
发起充值请求
</button>
</form>
</div>
</div>
</div>
<div class="profile-sidebar">
<div class="deposit-card" style="padding: 30px;">
<h4 style="font-weight: 800; margin-bottom: 25px;"><i class="fas fa-info-circle" style="color: var(--primary-color);"></i> 充值步骤说明</h4>
<div class="instruction-item">
<div class="instruction-number">1</div>
<div style="font-size: 14px; color: var(--text-muted);">
<strong style="color: white; display: block; margin-bottom: 4px;">发起充值申请</strong>
输入您想要充值的金额并点击确认。
</div>
</div>
<div class="instruction-item">
<div class="instruction-number">2</div>
<div style="font-size: 14px; color: var(--text-muted);">
<strong style="color: white; display: block; margin-bottom: 4px;">联系在线客服</strong>
您将自动跳转至客服聊天界面,客服将为您匹配唯一的收款账户。
</div>
</div>
<div class="instruction-item">
<div class="instruction-number">3</div>
<div style="font-size: 14px; color: var(--text-muted);">
<strong style="color: white; display: block; margin-bottom: 4px;">完成转账并上传凭证</strong>
按照客服提供的账户进行转账,并在聊天窗口中上传付款凭证截图。
</div>
</div>
<div class="instruction-item">
<div class="instruction-number">4</div>
<div style="font-size: 14px; color: var(--text-muted);">
<strong style="color: white; display: block; margin-bottom: 4px;">资金到账</strong>
客服确认凭证后USDT 将立即存入您的账户余额。
</div>
</div>
</div>
<div class="deposit-card" style="padding: 30px; margin-top: 20px; border-color: rgba(246,70,93,0.2);">
<h4 style="font-weight: 800; margin-bottom: 20px; color: var(--danger-color);"><i class="fas fa-exclamation-triangle"></i> 重要安全提示</h4>
<ul style="padding-left: 18px; color: var(--text-muted); font-size: 13px; line-height: 1.8;">
<li>请务必只使用客服在聊天窗口中提供的账户。</li>
<li>银行转账备注中请勿提及任何加密货币相关术语。</li>
<li>转账账户必须与您的实名认证身份一致。</li>
<li>如有任何疑问,请保持在聊天窗口中,直至问题解决。</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<style>
.network-box { padding: 15px; background: #161a1e; border: 1px solid var(--border-color); border-radius: 12px; text-align: center; font-weight: 700; cursor: pointer; transition: 0.3s; }
.network-opt input:checked + .network-box { border-color: var(--success-color); background: rgba(14,203,129,0.05); color: var(--success-color); }
</style>
<script>
function switchDepositMethod(method) {
document.getElementById('fiat-form-section').style.display = method === 'fiat' ? 'block' : 'none';
document.getElementById('usdt-form-section').style.display = method === 'usdt' ? 'block' : 'none';
document.getElementById('method-fiat').classList.toggle('active', method === 'fiat');
document.getElementById('method-usdt').classList.toggle('active', method === 'usdt');
}
function updateExchangeRate() {
const select = document.getElementById('fiat-select');
const rate = parseFloat(select.options[select.selectedIndex].getAttribute('data-rate'));
const code = select.value;
const amount = parseFloat(document.getElementById('fiat-amount').value) || 0;
document.getElementById('rate-text').innerText = rate.toFixed(2);
document.querySelectorAll('.current-fiat-code').forEach(el => el.innerText = code);
document.getElementById('fiat-symbol-display').innerText = code;
const receive = amount / rate;
document.getElementById('receive-text').innerText = receive.toFixed(2);
}
updateExchangeRate();
</script>
<?php include 'footer.php'; ?>