Revert to version 79b0724

This commit is contained in:
Flatlogic Bot 2026-02-12 02:23:13 +00:00
parent a22438663d
commit 5464b9a32d
15 changed files with 229 additions and 352 deletions

View File

@ -45,42 +45,36 @@ $chat_users = $pdo->query("
<head>
<meta charset="UTF-8">
<title>客服管理 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.chat-container { flex: 1; display: flex; background: #fff; height: 100vh; overflow: hidden; }
.user-list { width: 300px; border-right: 1px solid #dee2e6; background: #fff; overflow-y: auto; }
.chat-main { flex: 1; display: flex; flex-direction: column; background: #f8f9fa; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.chat-container { flex: 1; display: flex; background: #0B0E11; height: 100vh; overflow: hidden; }
.user-list { width: 300px; border-right: 1px solid #2B3139; background: #1E2329; overflow-y: auto; }
.chat-main { flex: 1; display: flex; flex-direction: column; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.user-item { padding: 15px; border-bottom: 1px solid #dee2e6; cursor: pointer; position: relative; display: flex; flex-direction: column; }
.user-item:hover, .user-item.active { background: #e9ecef; }
.user-item { padding: 15px; border-bottom: 1px solid #2B3139; cursor: pointer; position: relative; display: flex; flex-direction: column; }
.user-item:hover, .user-item.active { background: #2B3139; }
.user-info-row { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.user-name { font-weight: bold; color: #333; font-size: 0.9rem; flex: 1; }
.delete-btn { color: #6c757d; font-size: 0.9rem; padding: 5px; cursor: pointer; z-index: 10; }
.delete-btn:hover { color: #dc3545; }
.last-msg { color: #6c757d; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 5px; width: 90%; }
.dot { width: 10px; height: 10px; background: #dc3545; border-radius: 50%; }
.recharge-label { font-size: 0.7rem; background: rgba(255, 60, 0, 0.1); color: #ff3c00; padding: 2px 5px; border-radius: 3px; margin-left: 5px; }
.user-name { font-weight: bold; color: white; font-size: 0.9rem; flex: 1; }
.delete-btn { color: #848E9C; font-size: 0.9rem; padding: 5px; cursor: pointer; z-index: 10; }
.delete-btn:hover { color: #f6465d; }
.last-msg { color: #848E9C; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 5px; width: 90%; }
.dot { width: 10px; height: 10px; background: #f6465d; border-radius: 50%; }
.recharge-label { font-size: 0.7rem; background: rgba(255, 60, 0, 0.2); color: #ff3c00; padding: 2px 5px; border-radius: 3px; margin-left: 5px; }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; padding: 15px; border-bottom: 1px solid #dee2e6; display: block; }
.back-btn:hover { color: #333; background: #e9ecef; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; padding: 15px; border-bottom: 1px solid #2B3139; display: block; }
.back-btn:hover { color: white; background: #2B3139; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -97,7 +91,7 @@ $chat_users = $pdo->query("
<div class="chat-container">
<div class="user-list">
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<div style="padding: 15px; color: #6c757d; font-size: 0.8rem; border-bottom: 1px solid #dee2e6;">最近联系人 / 充值申请</div>
<div style="padding: 15px; color: #848E9C; font-size: 0.8rem; border-bottom: 1px solid #2B3139;">最近联系人 / 充值申请</div>
<?php foreach($chat_users as $u): ?>
<div class="user-item <?php echo $user_id == $u['id'] ? 'active' : ''; ?>" onclick="if(event.target.closest('.delete-btn')) return; location.href='chat.php?user_id=<?php echo $u['id']; ?>'">
<div class="user-info-row">
@ -119,7 +113,7 @@ $chat_users = $pdo->query("
<?php if($user_id): ?>
<iframe src="chat_iframe.php?user_id=<?php echo $user_id; ?>" style="width: 100%; height: 100%; border: none;"></iframe>
<?php else: ?>
<div style="flex: 1; display: flex; align-items: center; justify-content: center; color: #6c757d; flex-direction: column;">
<div style="flex: 1; display: flex; align-items: center; justify-content: center; color: #5e6673; flex-direction: column;">
<i class="fas fa-comments" style="font-size: 4rem; margin-bottom: 20px;"></i>
<p>请在左侧选择一个用户或处理中的充值申请</p>
</div>
@ -150,4 +144,4 @@ setInterval(checkNotifications, 10000);
</script>
</body>
</html>
</html>

View File

@ -75,24 +75,24 @@ $current_rates = get_fiat_rates();
<meta charset="UTF-8">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #fff; color: #333; display: flex; flex-direction: column; height: 100vh; overflow: hidden; }
.chat-header { padding: 15px 20px; background: #fff; border-bottom: 1px solid #dee2e6; display: flex; justify-content: space-between; align-items: center; z-index: 10; }
.main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; background: #f8f9fa; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #0B0E11; color: white; display: flex; flex-direction: column; height: 100vh; overflow: hidden; }
.chat-header { padding: 15px 20px; background: #1E2329; border-bottom: 1px solid #2B3139; display: flex; justify-content: space-between; align-items: center; z-index: 10; }
.main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; }
.chat-box { flex: 1; padding: 20px; display: flex; flex-direction: column; gap: 15px; }
.msg { max-width: 85%; padding: 12px 16px; border-radius: 12px; font-size: 14px; line-height: 1.6; position: relative; }
.msg.admin { align-self: flex-end; background: #007bff; color: white; border-bottom-right-radius: 2px; }
.msg.user { align-self: flex-start; background: #fff; color: #333; border-bottom-left-radius: 2px; border: 1px solid #dee2e6; }
.msg-time { font-size: 10px; color: #6c757d; margin-top: 5px; display: block; text-align: right; }
.recharge-panel { background: #fff; border-bottom: 1px solid #dee2e6; padding: 15px 20px; }
.order-card { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 16px; padding: 15px; margin-bottom: 12px; }
.input-area { padding: 15px 20px; background: #fff; border-top: 1px solid #dee2e6; display: flex; gap: 12px; }
input[type="text"], input[type="number"], textarea { width: 100%; background: #fff; border: 1px solid #dee2e6; color: #333; padding: 10px; border-radius: 8px; outline: none; margin-bottom: 8px; font-size: 13px; }
button { background: #007bff; border: none; color: white; padding: 10px 20px; border-radius: 8px; cursor: pointer; font-weight: bold; }
.msg.admin { align-self: flex-end; background: #377aff; color: white; border-bottom-right-radius: 2px; }
.msg.user { align-self: flex-start; background: #2B3139; color: #EAECEF; border-bottom-left-radius: 2px; }
.msg-time { font-size: 10px; color: #848E9C; margin-top: 5px; display: block; text-align: right; }
.recharge-panel { background: #1E2329; border-bottom: 1px solid #2B3139; padding: 15px 20px; }
.order-card { background: #161A1E; border: 1px solid #2B3139; border-radius: 16px; padding: 15px; margin-bottom: 12px; }
.input-area { padding: 15px 20px; background: #1E2329; border-top: 1px solid #2B3139; display: flex; gap: 12px; }
input[type="text"], input[type="number"], textarea { width: 100%; background: #0B0E11; border: 1px solid #2B3139; color: white; padding: 10px; border-radius: 8px; outline: none; margin-bottom: 8px; font-size: 13px; }
button { background: #377aff; border: none; color: white; padding: 10px 20px; border-radius: 8px; cursor: pointer; font-weight: bold; }
.status-badge { font-size: 10px; padding: 4px 10px; border-radius: 6px; font-weight: 800; }
.matching { background: rgba(255, 193, 7, 0.1); color: #ffc107; }
.submitting { background: rgba(25, 135, 84, 0.1); color: #198754; }
.btn-complete { background: #198754; }
.btn-reject { background: #dc3545; }
.matching { background: rgba(240, 185, 11, 0.1); color: #f0b90b; }
.submitting { background: rgba(0, 192, 135, 0.1); color: #00c087; }
.btn-complete { background: #00c087; }
.btn-reject { background: #f6465d; }
</style>
</head>
<body>
@ -100,17 +100,17 @@ $current_rates = get_fiat_rates();
<div class="chat-header">
<div>
<span style="font-weight: 800;"><?php echo htmlspecialchars($userData['username'] ?? 'User'); ?></span>
<span style="color: #6c757d; font-size: 11px; margin-left: 8px;">UID: <?php echo $userData['uid'] ?? 'N/A'; ?></span>
<span style="color: #848E9C; font-size: 11px; margin-left: 8px;">UID: <?php echo $userData['uid'] ?? 'N/A'; ?></span>
</div>
<div style="text-align: right;">
<div style="font-size: 11px; color: #6c757d;">余额: <span style="color: #198754;"><?php echo number_format($userData['balance'] ?? 0, 2); ?> USDT</span></div>
<div style="font-size: 11px; color: #848E9C;">余额: <span style="color: #00c087;"><?php echo number_format($userData['balance'] ?? 0, 2); ?> USDT</span></div>
</div>
</div>
<div class="main-content">
<?php if (!empty($pending_orders)): ?>
<div class="recharge-panel">
<div style="font-weight: bold; color: #ffc107; margin-bottom: 10px; font-size: 12px;">待处理充值</div>
<div style="font-weight: bold; color: #F0B90B; margin-bottom: 10px; font-size: 12px;">待处理充值</div>
<?php foreach($pending_orders as $o):
$is_matching = ($o['status'] == 'matching');
$live_rate = $current_rates[$o['currency']] ?? $o['exchange_rate'];
@ -119,8 +119,8 @@ $current_rates = get_fiat_rates();
<div class="order-card">
<div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
<div>
<div style="font-size: 1rem; font-weight: 900; color: #333;"><?php echo number_format($o['amount'], 2); ?> <?php echo $o['currency']; ?></div>
<div style="font-size: 11px; color: #6c757d;"> <?php echo number_format($live_usdt, 2); ?> USDT (汇率: <?php echo number_format($live_rate, 4); ?>)</div>
<div style="font-size: 1rem; font-weight: 900;"><?php echo number_format($o['amount'], 2); ?> <?php echo $o['currency']; ?></div>
<div style="font-size: 11px; color: #848E9C;"> <?php echo number_format($live_usdt, 2); ?> USDT (汇率: <?php echo number_format($live_rate, 4); ?>)</div>
</div>
<span class="status-badge <?php echo $o['status']; ?>">
<?php
@ -141,15 +141,13 @@ $current_rates = get_fiat_rates();
<textarea name="remarks" placeholder="注意事项 (可选)" style="height: 50px;"></textarea>
<button type="submit" style="width: 100%;">确认匹配账户</button>
</form>
<?php else:
// The original code had a newline character here that was not escaped. It should be escaped as \n.
?>
<div style="background: rgba(0,0,0,0.03); padding: 10px; border-radius: 8px; margin-bottom: 10px; font-size: 12px; color: #333;">
<?php else: ?>
<div style="background: rgba(255,255,255,0.03); padding: 10px; border-radius: 8px; margin-bottom: 10px; font-size: 12px;">
<?php echo nl2br(htmlspecialchars($o['bank_account_info'])); ?>
</div>
<div style="display: flex; gap: 10px; align-items: center;">
<?php if($o['proof_image']): ?>
<a href="../<?php echo $o['proof_image']; ?>" target="_blank" style="color: #198754; font-size: 12px; text-decoration: none; border: 1px solid #198754; padding: 5px 10px; border-radius: 5px;">查看凭证</a>
<a href="../<?php echo $o['proof_image']; ?>" target="_blank" style="color: #00c087; font-size: 12px; text-decoration: none; border: 1px solid #00c087; padding: 5px 10px; border-radius: 5px;">查看凭证</a>
<?php endif; ?>
<div style="flex: 1; display: flex; gap: 5px; justify-content: flex-end;">
<form method="POST">
@ -171,9 +169,7 @@ $current_rates = get_fiat_rates();
<?php endif; ?>
<div class="chat-box" id="chat-box">
<?php foreach($msgs as $m):
// The original code had a newline character here that was not escaped. It should be escaped as \n.
?>
<?php foreach($msgs as $m): ?>
<div class="msg <?php echo $m['sender']; ?>">
<?php echo nl2br(htmlspecialchars($m['message'])); ?>
<span class="msg-time"><?php echo date('H:i', strtotime($m['created_at'])); ?></span>

View File

@ -54,34 +54,28 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<head>
<meta charset="UTF-8">
<title>合约交易管理 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; color: white; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; font-size: 0.8rem; color: #333; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #2B3139; font-size: 0.8rem; }
.btn-sm { padding: 5px 10px; font-size: 0.75rem; border-radius: 4px; cursor: pointer; border: none; }
.btn-approve { background: #198754; color: white; }
.btn-reject { background: #dc3545; color: white; }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
select { background: #fff; border: 1px solid #dee2e6; color: #333; padding: 5px; border-radius: 4px; font-size: 0.75rem; }
.btn-approve { background: #00c087; color: white; }
.btn-reject { background: #f6465d; color: white; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
select { background: #1e2329; border: 1px solid #2b3139; color: white; padding: 5px; border-radius: 4px; font-size: 0.75rem; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -96,7 +90,7 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
</div>
<div class="main-content">
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<h2 style="color: #333;">合约交易详情</h2>
<h2>合约交易详情</h2>
<table class="table">
<thead>
@ -120,7 +114,7 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<td>#<?php echo $o['id']; ?></td>
<td><?php echo htmlspecialchars($o['username']); ?></td>
<td><?php echo $o['symbol']; ?></td>
<td><span style="color: <?php echo $o['side'] == 'buy' ? '#198754' : '#dc3545'; ?>"><?php echo strtoupper($o['side'] == 'buy' ? '做多' : '做空'); ?></span></td>
<td><span style="color: <?php echo $o['side'] == 'buy' ? '#00c087' : '#f6465d'; ?>"><?php echo strtoupper($o['side'] == 'buy' ? '做多' : '做空'); ?></span></td>
<td><?php echo $o['leverage']; ?>x</td>
<td><?php echo number_format($o['price'], 4); ?></td>
<td><?php echo number_format($o['tp_price'], 4); ?></td>
@ -138,9 +132,9 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
</td>
<td>
<?php
if ($o['status'] == 'open') echo '<span style="color: #ffc107;">持有中</span>';
elseif ($o['status'] == 'closed') echo '<span style="color: #198754;">已平仓</span>';
else echo '<span style="color: #6c757d;">已撤销</span>';
if ($o['status'] == 'open') echo '<span style="color: #f0b90b;">持有中</span>';
elseif ($o['status'] == 'closed') echo '<span style="color: #00c087;">已平仓</span>';
else echo '<span style="color: #848e9c;">已撤销</span>';
?>
</td>
<td>

View File

@ -13,28 +13,22 @@ $unread_msgs = $db->query("SELECT COUNT(*) FROM messages WHERE sender = 'user' A
<head>
<meta charset="UTF-8">
<title>管理后台 - NovaEx</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.stat-card { background: #fff; padding: 20px; border-radius: 8px; border: 1px solid #dee2e6; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.stat-card { background: #1E2329; padding: 20px; border-radius: 8px; border: 1px solid #2B3139; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item active"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item">
@ -51,48 +45,48 @@ $unread_msgs = $db->query("SELECT COUNT(*) FROM messages WHERE sender = 'user' A
<i class="fas fa-wallet"></i> 充值记录
</a>
<a href="settings.php" class="menu-item"><i class="fas fa-cog"></i> 系统设置</a>
<a href="../index.php" class="menu-item" style="margin-top: 2rem; color: #007bff;"><i class="fas fa-external-link-alt"></i> 查看前端</a>
<a href="../index.php" class="menu-item" style="margin-top: 2rem; color: orange;"><i class="fas fa-external-link-alt"></i> 查看前端</a>
</div>
<div class="main-content">
<h2 style="color: #333; margin-bottom: 2rem;">系统概览</h2>
<h2 style="color: white; margin-bottom: 2rem;">系统概览</h2>
<div style="grid-template-columns: repeat(4, 1fr); display: grid; gap: 1.5rem;">
<div class="stat-card">
<div style="color: #6c757d; font-size: 0.9rem;">总注册人数</div>
<div style="font-size: 2rem; color: #333; margin-top: 10px;"><?php echo $total_users; ?></div>
<div style="color: #848E9C; font-size: 0.9rem;">总注册人数</div>
<div style="font-size: 2rem; color: white; margin-top: 10px;"><?php echo $total_users; ?></div>
</div>
<div class="stat-card">
<div style="color: #6c757d; font-size: 0.9rem;">待处理 KYC</div>
<div style="font-size: 2rem; color: #ffc107; margin-top: 10px;"><?php echo $pending_kyc; ?></div>
<div style="color: #848E9C; font-size: 0.9rem;">待处理 KYC</div>
<div style="font-size: 2rem; color: #F0B90B; margin-top: 10px;"><?php echo $pending_kyc; ?></div>
</div>
<div class="stat-card">
<div style="color: #6c757d; font-size: 0.9rem;">待匹配/审核充值</div>
<div style="font-size: 2rem; color: #ffc107; margin-top: 10px;"><?php echo $pending_orders; ?></div>
<div style="color: #848E9C; font-size: 0.9rem;">待匹配/审核充值</div>
<div style="font-size: 2rem; color: #F0B90B; margin-top: 10px;"><?php echo $pending_orders; ?></div>
</div>
<div class="stat-card">
<div style="color: #6c757d; font-size: 0.9rem;">未读消息</div>
<div style="font-size: 2rem; color: #198754; margin-top: 10px;"><?php echo $unread_msgs; ?></div>
<div style="color: #848E9C; font-size: 0.9rem;">未读消息</div>
<div style="font-size: 2rem; color: #00C087; margin-top: 10px;"><?php echo $unread_msgs; ?></div>
</div>
</div>
<div style="margin-top: 3rem; background: #fff; padding: 25px; border-radius: 8px; border: 1px solid #dee2e6; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);">
<h3 style="color: #333; margin-bottom: 20px;">控制中心</h3>
<div style="margin-top: 3rem; background: #1E2329; padding: 25px; border-radius: 8px;">
<h3 style="color: white; margin-bottom: 20px;">控制中心</h3>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;">
<div style="border: 1px solid #dee2e6; padding: 20px; border-radius: 6px;">
<h4 style="color: #495057;">客服与充值管理</h4>
<p style="color: #6c757d; font-size: 0.8rem;">与用户对话并处理实时的充值匹配请求。</p>
<div style="border: 1px solid #2B3139; padding: 20px; border-radius: 6px;">
<h4 style="color: #848E9C;">客服与充值管理</h4>
<p style="color: #848E9C; font-size: 0.8rem;">与用户对话并处理实时的充值匹配请求。</p>
<a href="chat.php" class="btn-primary" style="display: inline-block; margin-top: 15px; font-size: 0.8rem; padding: 8px 15px;">进入工作台</a>
</div>
<div style="border: 1px solid #dee2e6; padding: 20px; border-radius: 6px;">
<h4 style="color: #495057;">交易管理</h4>
<p style="color: #6c757d; font-size: 0.8rem;">审核并处理现货及合约交易订单。</p>
<div style="border: 1px solid #2B3139; padding: 20px; border-radius: 6px;">
<h4 style="color: #848E9C;">交易管理</h4>
<p style="color: #848E9C; font-size: 0.8rem;">审核并处理现货及合约交易订单。</p>
<div style="display:flex; gap: 10px; margin-top: 15px;">
<a href="spot_orders.php" class="btn-primary" style="font-size: 0.75rem; padding: 5px 10px; background: #007bff;">现货</a>
<a href="futures_orders.php" class="btn-primary" style="font-size: 0.75rem; padding: 5px 10px; background: #ffc107; color: black; border: none;">合约</a>
<a href="spot_orders.php" class="btn-primary" style="font-size: 0.75rem; padding: 5px 10px; background: #377aff;">现货</a>
<a href="futures_orders.php" class="btn-primary" style="font-size: 0.75rem; padding: 5px 10px; background: #f0b90b; color: black;">合约</a>
</div>
</div>
<div style="border: 1px solid #dee2e6; padding: 20px; border-radius: 6px;">
<h4 style="color: #495057;">价格控制</h4>
<p style="color: #6c757d; font-size: 0.8rem;">手动覆盖特定交易对的实时价格及插针控制。</p>
<div style="border: 1px solid #2B3139; padding: 20px; border-radius: 6px;">
<h4 style="color: #848E9C;">价格控制</h4>
<p style="color: #848E9C; font-size: 0.8rem;">手动覆盖特定交易对的实时价格及插针控制。</p>
<a href="settings.php" class="btn-primary" style="display: inline-block; margin-top: 15px; font-size: 0.8rem; padding: 8px 15px;">立即配置</a>
</div>
</div>

View File

@ -18,30 +18,24 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<head>
<meta charset="UTF-8">
<title>KYC 审核 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.kyc-card { background: #fff; border: 1px solid #dee2e6; padding: 20px; border-radius: 8px; margin-bottom: 20px; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); }
.kyc-img { width: 200px; height: 120px; object-fit: cover; border-radius: 4px; cursor: pointer; border: 1px solid #dee2e6; }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; color: white; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.kyc-card { background: #1E2329; border: 1px solid #2B3139; padding: 20px; border-radius: 8px; margin-bottom: 20px; }
.kyc-img { width: 200px; height: 120px; object-fit: cover; border-radius: 4px; cursor: pointer; border: 1px solid #2B3139; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item active"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -56,30 +50,30 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
</div>
<div class="main-content">
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<h2 style="color: #333;">待审核 KYC</h2>
<h2>待审核 KYC</h2>
<?php if(empty($kyc_list)): ?>
<p style="color: #6c757d; margin-top: 2rem;">暂无待审核申请。</p>
<p style="color: #848E9C; margin-top: 2rem;">暂无待审核申请。</p>
<?php endif; ?>
<?php foreach($kyc_list as $k): ?>
<div class="kyc-card">
<div style="display: flex; justify-content: space-between; align-items: flex-start;">
<div>
<h4 style="margin-bottom: 10px; color: #333;"><?php echo htmlspecialchars($k['kyc_name']); ?></h4>
<p style="color: #6c757d; font-size: 0.9rem;">身份证号: <?php echo htmlspecialchars($k['kyc_id_number']); ?></p>
<p style="color: #6c757d; font-size: 0.8rem; margin-top: 5px;">用户名: <?php echo htmlspecialchars($k['username']); ?> (UID: <?php echo $k['uid']; ?>)</p>
<h4 style="margin-bottom: 10px;"><?php echo htmlspecialchars($k['kyc_name']); ?></h4>
<p style="color: #848E9C; font-size: 0.9rem;">身份证号: <?php echo htmlspecialchars($k['kyc_id_number']); ?></p>
<p style="color: #848E9C; font-size: 0.8rem; margin-top: 5px;">用户名: <?php echo htmlspecialchars($k['username']); ?> (UID: <?php echo $k['uid']; ?>)</p>
</div>
<div style="display: flex; gap: 10px;">
<form method="POST">
<input type="hidden" name="user_id" value="<?php echo $k['id']; ?>">
<input type="hidden" name="action" value="approve">
<button type="submit" class="btn-primary" style="background: #198754; border: none; padding: 8px 15px; border-radius: 4px; color: white; cursor: pointer;">通过审核</button>
<button type="submit" class="btn-primary" style="background: #00c087;">通过审核</button>
</form>
<form method="POST">
<input type="hidden" name="user_id" value="<?php echo $k['id']; ?>">
<input type="hidden" name="action" value="reject">
<button type="submit" class="btn-primary" style="background: #dc3545; border: none; padding: 8px 15px; border-radius: 4px; color: white; cursor: pointer;">拒绝申请</button>
<button type="submit" class="btn-primary" style="background: #f6465d;">拒绝申请</button>
</form>
</div>
</div>
@ -93,4 +87,4 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
</div>
</div>
</body>
</html>
</html>

View File

@ -56,36 +56,30 @@ $pending_orders_count = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE stat
<head>
<meta charset="UTF-8">
<title>充值管理 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; color: #333; overflow-x: auto; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; color: white; overflow-x: auto; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.table { width: 100%; border-collapse: collapse; margin-top: 1rem; margin-bottom: 3rem; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; font-size: 0.85rem; color: #333; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #2B3139; font-size: 0.85rem; }
.status-badge { padding: 3px 8px; border-radius: 4px; font-size: 0.75rem; font-weight: bold; }
.matching { background: rgba(255, 60, 0, 0.1); color: #ff3c00; border: 1px solid #ff3c00; animation: blink 1s infinite; }
.submitting { background: rgba(25, 135, 84, 0.1); color: #198754; border: 1px solid #198754; }
.matched { background: rgba(0, 123, 255, 0.1); color: #007bff; }
.completed { background: rgba(25, 135, 84, 0.05); color: #198754; opacity: 0.6; }
.matching { background: rgba(255, 60, 0, 0.2); color: #ff3c00; border: 1px solid #ff3c00; animation: blink 1s infinite; }
.submitting { background: rgba(0, 192, 135, 0.2); color: #00c087; border: 1px solid #00c087; }
.matched { background: rgba(55, 122, 255, 0.1); color: #377aff; }
.completed { background: rgba(0, 192, 135, 0.1); color: #00c087; opacity: 0.6; }
@keyframes blink { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -100,7 +94,7 @@ $pending_orders_count = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE stat
</div>
<div class="main-content">
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<h2 style="color: #333;">充值申请管理</h2>
<h2>充值申请管理</h2>
<table class="table">
<thead>
@ -113,15 +107,15 @@ $pending_orders_count = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE stat
<tr>
<td>#<?php echo $o['id']; ?></td>
<td><?php echo htmlspecialchars($o['username']); ?> (UID: <?php echo $o['uid']; ?>)</td>
<td><span style="color: <?php echo $o['tbl'] == 'usdt' ? '#198754' : '#007bff'; ?>"><?php echo strtoupper($o['tbl']); ?></span></td>
<td><span style="color: <?php echo $o['tbl'] == 'usdt' ? '#26a17b' : '#007bff'; ?>"><?php echo strtoupper($o['tbl']); ?></span></td>
<td><b><?php echo number_format($o['amount'], 2); ?> <?php echo $o['currency']; ?></b></td>
<td>
<?php
$img = ($o['tbl'] == 'fiat' ? ($o['proof_image'] ?? null) : ($o['proof_img'] ?? null));
if($img): ?>
<a href="../<?php echo $img; ?>" target="_blank" style="color: #198754; font-weight: bold;"><i class="fas fa-image"></i> 查看凭证</a>
<a href="../<?php echo $img; ?>" target="_blank" style="color: #00c087; font-weight: bold;"><i class="fas fa-image"></i> 查看凭证</a>
<?php else: ?>
<span style="color: #6c757d;">未上传</span>
<span style="color: #555;">未上传</span>
<?php endif; ?>
</td>
<td><span class="status-badge <?php echo $o['status']; ?>"><?php echo strtoupper($o['status']); ?></span></td>
@ -131,15 +125,15 @@ $pending_orders_count = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE stat
<input type="hidden" name="order_id" value="<?php echo $o['id']; ?>">
<input type="hidden" name="order_table" value="<?php echo $o['tbl']; ?>">
<input type="hidden" name="action" value="match">
<input type="text" name="account_info" placeholder="收款账户信息" required style="padding: 8px; background: #fff; border: 1px solid #dee2e6; color: #333; border-radius: 4px;">
<button type="submit" class="btn-primary" style="background: #ff3c00; border: none; color: white; padding: 8px 15px; border-radius: 4px; cursor: pointer;">分配账户</button>
<input type="text" name="account_info" placeholder="收款账户信息" required style="padding: 8px; background: #1e2329; border: 1px solid #2b3139; color: white; border-radius: 4px;">
<button type="submit" class="btn-primary" style="background: #ff3c00;">分配账户</button>
</form>
<?php elseif($o['status'] == 'submitting' || $o['status'] == 'matched'): ?>
<form method="POST">
<input type="hidden" name="order_id" value="<?php echo $o['id']; ?>">
<input type="hidden" name="order_table" value="<?php echo $o['tbl']; ?>">
<input type="hidden" name="action" value="complete">
<button type="submit" class="btn-primary" style="background: #198754; border: none; color: white; padding: 8px 15px; border-radius: 4px; cursor: pointer;">确认入金</button>
<button type="submit" class="btn-primary" style="background: #00c087;">确认入金</button>
</form>
<?php endif; ?>
</td>

View File

@ -25,32 +25,26 @@ $pending_orders = $db->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN (
<head>
<meta charset="UTF-8">
<title>系统设置 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.form-group { margin-bottom: 25px; background: #fff; padding: 20px; border-radius: 8px; border: 1px solid #dee2e6; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); }
.form-group label { display: block; margin-bottom: 10px; color: #495057; font-weight: bold; }
input[type="text"], input[type="number"], select { width: 100%; padding: 10px; background: #fff; border: 1px solid #dee2e6; color: #333; border-radius: 4px; outline: none; }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
.back-btn:hover { color: #333; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; color: white; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.form-group { margin-bottom: 25px; background: #1E2329; padding: 20px; border-radius: 8px; border: 1px solid #2B3139; }
.form-group label { display: block; margin-bottom: 10px; color: #848E9C; font-weight: bold; }
input[type="text"], input[type="number"], select { width: 100%; padding: 10px; background: #0B0E11; border: 1px solid #2B3139; color: white; border-radius: 4px; outline: none; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
.back-btn:hover { color: white; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -65,21 +59,21 @@ $pending_orders = $db->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN (
</div>
<div class="main-content">
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<h2 style="color: #333;">系统控制面板</h2>
<h2>系统控制面板</h2>
<?php if(isset($message)): ?>
<div style="background: rgba(25,135,84,0.1); color: #198754; padding: 15px; border-radius: 4px; margin-bottom: 20px;"><i class="fas fa-check-circle"></i> <?php echo $message; ?></div>
<div style="background: rgba(0,255,0,0.1); color: #00ff00; padding: 15px; border-radius: 4px; margin-bottom: 20px;"><i class="fas fa-check-circle"></i> <?php echo $message; ?></div>
<?php endif; ?>
<form method="POST">
<h3 style="margin: 30px 0 15px 0; color: #007bff;">1. 交易与胜率控制</h3>
<h3 style="margin: 30px 0 15px 0; color: #F0B90B;">1. 交易与胜率控制</h3>
<div class="form-group">
<label>全局胜率控制 (%)</label>
<input type="number" name="settings[win_rate]" value="<?php echo $settings['win_rate'] ?? 70; ?>" min="0" max="100">
<p style="font-size: 0.8rem; color: #6c757d; margin-top: 5px;">设置用户在秒合约/永续合约中的全局获利概率 (0-100)</p>
<p style="font-size: 0.8rem; color: #5e6673; margin-top: 5px;">设置用户在秒合约/永续合约中的全局获利概率 (0-100)</p>
</div>
<h3 style="margin: 30px 0 15px 0; color: #007bff;">2. 价格操纵与插针控制</h3>
<h3 style="margin: 30px 0 15px 0; color: #F0B90B;">2. 价格操纵与插针控制</h3>
<div class="form-group">
<label>价格控制模式</label>
<select name="settings[price_control]">
@ -96,7 +90,7 @@ $pending_orders = $db->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN (
<div class="form-group">
<label>BTC 插针价格 ($)</label>
<input type="number" name="settings[pin_btc_price]" value="<?php echo $settings['pin_btc_price'] ?? 0; ?>" step="0.01">
<p style="font-size: 0.75rem; color: #dc3545; margin-top: 5px;">插针价格用于瞬间触发用户的止盈或爆仓。</p>
<p style="font-size: 0.75rem; color: #f6465d; margin-top: 5px;">插针价格用于瞬间触发用户的止盈或爆仓。</p>
</div>
</div>
@ -111,15 +105,15 @@ $pending_orders = $db->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN (
</div>
</div>
<h3 style="margin: 30px 0 15px 0; color: #007bff;">3. 其他配置</h3>
<h3 style="margin: 30px 0 15px 0; color: #F0B90B;">3. 其他配置</h3>
<div class="form-group">
<label>系统公告内容 (简体中文)</label>
<input type="text" name="settings[announcement_zh]" value="<?php echo $settings['announcement_zh'] ?? ''; ?>" placeholder="输入显示在首页顶部的公告...">
</div>
<button type="submit" class="btn-primary" style="padding: 12px 40px; font-weight: bold; border-radius: 8px; cursor: pointer; background: #007bff; color: white; border: none;">保存所有设置</button>
<button type="submit" class="btn-primary" style="padding: 12px 40px; font-weight: bold; border-radius: 8px; cursor: pointer;">保存所有设置</button>
</form>
</div>
</div>
</body>
</html>
</html>

View File

@ -49,33 +49,27 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<head>
<meta charset="UTF-8">
<title>现货交易管理 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; color: white; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; font-size: 0.85rem; color: #333; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #2B3139; font-size: 0.85rem; }
.btn-sm { padding: 5px 10px; font-size: 0.75rem; border-radius: 4px; cursor: pointer; border: none; }
.btn-approve { background: #198754; color: white; }
.btn-reject { background: #dc3545; color: white; }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.btn-approve { background: #00c087; color: white; }
.btn-reject { background: #f6465d; color: white; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; margin-bottom: 20px; display: inline-block; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -90,7 +84,7 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
</div>
<div class="main-content">
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<h2 style="color: #333;">现货交易详情</h2>
<h2>现货交易详情</h2>
<table class="table">
<thead>
@ -114,16 +108,16 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<td>#<?php echo $o['id']; ?></td>
<td><?php echo htmlspecialchars($o['username']); ?></td>
<td><?php echo $o['symbol']; ?></td>
<td><span style="color: <?php echo $o['side'] == 'buy' ? '#198754' : '#dc3545'; ?>"><?php echo strtoupper($o['side'] == 'buy' ? '买入' : '卖出'); ?></span></td>
<td><span style="color: <?php echo $o['side'] == 'buy' ? '#00c087' : '#f6465d'; ?>"><?php echo strtoupper($o['side'] == 'buy' ? '买入' : '卖出'); ?></span></td>
<td><?php echo strtoupper($o['order_type'] == 'limit' ? '限价' : '市价'); ?></td>
<td><?php echo number_format($o['price'], 4); ?></td>
<td><?php echo number_format($o['amount'], 4); ?></td>
<td><?php echo number_format($o['total'], 2); ?></td>
<td>
<?php
if ($o['status'] == 'open') echo '<span style="color: #ffc107;">进行中</span>';
elseif ($o['status'] == 'closed') echo '<span style="color: #198754;">已成交</span>';
else echo '<span style="color: #6c757d;">已取消</span>';
if ($o['status'] == 'open') echo '<span style="color: #f0b90b;">进行中</span>';
elseif ($o['status'] == 'closed') echo '<span style="color: #00c087;">已成交</span>';
else echo '<span style="color: #848e9c;">已取消</span>';
?>
</td>
<td><?php echo $o['created_at']; ?></td>

View File

@ -47,45 +47,39 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<head>
<meta charset="UTF-8">
<title>用户管理 - NovaEx 管理后台</title>
<link rel="icon" type="image/png" href="../assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="../assets/css/custom.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body { background-color: #f8f9fa; color: #333; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 250px; background: #fff; border-right: 1px solid #dee2e6; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #fff; }
.menu-item { padding: 12px; color: #495057; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #e9ecef; color: #007bff; }
.badge { background: #dc3545; color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.sidebar { width: 250px; background: #1E2329; border-right: 1px solid #2B3139; padding: 1rem; }
.main-content { flex: 1; padding: 2rem; background: #0B0E11; color: white; }
.menu-item { padding: 12px; color: #848E9C; text-decoration: none; display: flex; align-items: center; gap: 10px; border-radius: 4px; margin-bottom: 5px; }
.menu-item:hover, .menu-item.active { background: #2B3139; color: white; }
.badge { background: var(--danger-color); color: white; border-radius: 10px; padding: 2px 8px; font-size: 0.7rem; margin-left: auto; }
.table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; font-size: 0.85rem; color: #333; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #2B3139; font-size: 0.85rem; }
.btn-sm { padding: 5px 10px; font-size: 0.75rem; border-radius: 4px; cursor: pointer; border: none; text-decoration: none; display: inline-block; }
.btn-edit { background: #ffc107; color: #000; }
.btn-delete { background: #dc3545; color: white; }
.btn-status { background: #6c757d; color: white; }
.btn-add { background: #198754; color: white; padding: 10px 20px; border-radius: 4px; border: none; cursor: pointer; margin-bottom: 20px; }
.btn-edit { background: #f0b90b; color: #000; }
.btn-delete { background: #f6465d; color: white; }
.btn-status { background: #5e6673; color: white; }
.btn-add { background: #00c087; color: white; padding: 10px 20px; border-radius: 4px; border: none; cursor: pointer; margin-bottom: 20px; }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1000; }
.modal-content { background: #fff; width: 500px; margin: 50px auto; padding: 30px; border-radius: 8px; border: 1px solid #dee2e6; box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15); }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1000; }
.modal-content { background: #1E2329; width: 500px; margin: 50px auto; padding: 30px; border-radius: 8px; border: 1px solid #2B3139; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 5px; color: #495057; }
.form-group input, .form-group select { width: 100%; padding: 8px; background: #fff; border: 1px solid #dee2e6; color: #333; border-radius: 4px; }
.form-group label { display: block; margin-bottom: 5px; color: #848E9C; }
.form-group input, .form-group select { width: 100%; padding: 8px; background: #0B0E11; border: 1px solid #2B3139; color: white; border-radius: 4px; }
.modal-footer { margin-top: 20px; text-align: right; }
.header-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.back-btn { color: #6c757d; text-decoration: none; font-size: 0.9rem; }
.back-btn:hover { color: #333; }
.admin-logo { width: 200px; height: 75px; object-fit: contain; }
.back-btn { color: #848E9C; text-decoration: none; font-size: 0.9rem; }
.back-btn:hover { color: white; }
</style>
</head>
<body>
<div class="admin-layout">
<div class="sidebar">
<div style="display: flex; flex-direction: column; align-items: center; margin-bottom: 2rem; gap: 10px;">
<img src="../assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="admin-logo">
<div style="color: #333; font-weight: bold; font-size: 0.9rem;">NovaEx 管理员</div>
</div>
<h3 style="color: white; margin-bottom: 2rem;">NovaEx 管理员</h3>
<a href="index.php" class="menu-item"><i class="fas fa-chart-pie"></i> 仪表盘</a>
<a href="users.php" class="menu-item active"><i class="fas fa-users"></i> 用户管理</a>
<a href="kyc.php" class="menu-item"><i class="fas fa-id-card"></i> KYC 审核</a>
@ -102,7 +96,7 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<div class="header-actions">
<div>
<a href="index.php" class="back-btn"><i class="fas fa-arrow-left"></i> 返回</a>
<h2 style="margin-top: 10px; color: #333;">用户管理</h2>
<h2 style="margin-top: 10px;">用户管理</h2>
</div>
<button class="btn-add" onclick="showModal('addModal')"><i class="fas fa-user-plus"></i> 添加新用户</button>
</div>
@ -128,12 +122,12 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<td><?php echo $u['credit_score']; ?></td>
<td>
<?php
if ($u['win_loss_control'] == 'win') echo '<span style="color: #198754;">强制盈利</span>';
elseif ($u['win_loss_control'] == 'loss') echo '<span style="color: #dc3545;">强制亏损</span>';
else echo '<span style="color: #6c757d;">默认</span>';
if ($u['win_loss_control'] == 'win') echo '<span style="color: #00c087;">强制盈利</span>';
elseif ($u['win_loss_control'] == 'loss') echo '<span style="color: #f6465d;">强制亏损</span>';
else echo '<span style="color: #848e9c;">默认</span>';
?>
</td>
<td><?php echo $u['status'] == 'active' ? '<span style="color: #198754;">正常</span>' : '<span style="color: #dc3545;">已禁用</span>'; ?></td>
<td><?php echo $u['status'] == 'active' ? '<span style="color: #00c087;">正常</span>' : '<span style="color: #f6465d;">已禁用</span>'; ?></td>
<td>
<button class="btn-sm btn-edit" onclick='editUser(<?php echo json_encode($u); ?>)'>编辑</button>
<form method="POST" style="display:inline;" onsubmit="return confirm('确定要删除此用户吗?')">
@ -157,7 +151,7 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<!-- Add User Modal -->
<div id="addModal" class="modal">
<div class="modal-content">
<h3 style="color: #333;">添加新用户</h3>
<h3>添加新用户</h3>
<form method="POST">
<input type="hidden" name="action" value="add_user">
<div class="form-group">
@ -187,7 +181,7 @@ $pending_orders = $pdo->query("SELECT COUNT(*) FROM fiat_orders WHERE status IN
<!-- Edit User Modal -->
<div id="editModal" class="modal">
<div class="modal-content">
<h3 style="color: #333;">编辑用户信息</h3>
<h3>编辑用户信息</h3>
<form method="POST">
<input type="hidden" name="action" value="update_user">
<input type="hidden" name="user_id" id="edit_user_id">
@ -245,4 +239,4 @@ function editUser(user) {
}
</script>
</body>
</html>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

View File

@ -5,17 +5,12 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NovaEx | Leading Crypto Exchange</title>
<link rel="icon" type="image/png" href="assets/pasted-20260212-013530-7c174136.png">
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
.logo-text { display: flex; align-items: center; }
/* Logo Size: 200x75px */
.logo-img { width: 200px !important; height: 75px !important; object-fit: contain; }
/* Navbar adjustment for logo */
.navbar { height: auto !important; min-height: 64px; padding: 10px 1.5rem !important; }
.logo-text { font-size: 1.8rem; font-weight: 800; color: white; letter-spacing: -1px; display: flex; align-items: center; gap: 8px; font-family: 'Inter', sans-serif; }
.logo-svg { width: 32px; height: 32px; fill: #4facfe; }
/* Floating CS Chat */
.floating-service { position: fixed; bottom: 30px; right: 30px; width: 60px; height: 60px; background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; font-size: 1.5rem; cursor: pointer; box-shadow: 0 10px 25px rgba(0,242,254,0.3); z-index: 1000; transition: transform 0.3s ease; }
@ -24,10 +19,6 @@
#cs-chat-window { position: fixed; bottom: 100px; right: 30px; width: 380px; height: 500px; background: #161a1e; border: 1px solid #2b3139; border-radius: 16px; display: none; flex-direction: column; box-shadow: 0 20px 40px rgba(0,0,0,0.5); z-index: 1001; overflow: hidden; }
#cs-chat-window iframe { border: none; width: 100%; height: 100%; }
.chat-header { background: #2b3139; padding: 15px; display: flex; justify-content: space-between; align-items: center; color: white; }
@media (max-width: 768px) {
.logo-img { width: 150px !important; height: 56px !important; }
}
</style>
</head>
<body>
@ -48,7 +39,17 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<a href="index.php" style="text-decoration: none;">
<div class="logo-text">
<img src="assets/pasted-20260212-013530-7c174136.png" alt="Logo" class="logo-img">
<svg class="logo-svg" viewBox="0 0 100 100">
<rect x="10" y="10" width="80" height="80" rx="20" fill="url(#grad1)"/>
<path d="M30 30 L70 70 M70 30 L30 70" stroke="white" stroke-width="12" stroke-linecap="round"/>
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#4facfe;stop-opacity:1" />
<stop offset="100%" style="stop-color:#00f2fe;stop-opacity:1" />
</linearGradient>
</defs>
</svg>
NovaEx
</div>
</a>
<div class="nav-links">

View File

@ -162,42 +162,6 @@ $translations = [
'filled' => 'Filled',
'status' => 'Status',
'load_more' => 'Load More',
'join_now' => 'Join Now',
'start_trading' => 'Start Trading',
'earn_now' => 'Earn Now',
'global_partners' => 'Global Strategic Partners',
'view_more' => 'View More',
'pair' => 'Pair',
'last_price' => 'Last Price',
'24h_change' => '24h Change',
'market_cap' => 'Market Cap',
'launch_title' => 'NovaEx Global Launch',
'launch_desc' => 'Experience the next generation of digital asset trading with ultra-low latency and bank-grade security.',
'futures_title' => 'Trade Futures with 100x Leverage',
'futures_desc' => 'Maximize your capital efficiency with our professional perpetual futures contracts.',
'staking_title' => 'Secure Crypto Staking',
'staking_desc' => 'Earn passive income on your idle assets with our high-yield staking pools.',
'trade_anywhere' => 'Trade Anywhere, Anytime',
'trade_anywhere_desc' => 'Stay connected to the markets with the NovaEx mobile app. Experience professional trading features in the palm of your hand, featuring real-time alerts, advanced charting, and instant deposits.',
'fast_secure' => 'Fast & Secure',
'fast_secure_desc' => 'Optimized performance with military-grade encryption.',
'realtime_data' => 'Real-time Data',
'realtime_data_desc' => 'Low-latency market updates for precise execution.',
'app_store' => 'App Store',
'google_play' => 'Google Play',
'scan_download' => 'Scan to Download',
'support_ios_android' => 'Supports iOS & Android',
'download_on_the' => 'Download on the',
'get_it_on' => 'Get it on',
'welcome_back' => 'Welcome Back',
'login_subtitle' => 'Log in to your account to continue trading',
'account_label' => 'Account',
'account_placeholder' => 'Enter your email or phone',
'password_label' => 'Password',
'password_placeholder' => 'Enter your password',
'forgot_password' => 'Forgot Password?',
'no_account' => 'Don\'t have an account?',
'login_error' => 'Invalid username or password.',
],
'zh' => [
'nav_home' => '首页',
@ -232,7 +196,7 @@ $translations = [
'platform_desc' => '我们的平台为零售和机构交易者提供具有先进功能和稳健基础设施的无缝交易体验。',
'partners' => '合作伙伴',
'partners_subtitle' => '深受全球领先组织和金融机构的信任。',
'footer_desc' => 'NovaEx 是全球领先的数字资产 trading 平台,为全球用户提供安全稳定的交易服务。',
'footer_desc' => 'NovaEx 是全球领先的数字资产交易平台,为全球用户提供安全稳定的交易服务。',
'about' => '关于',
'about_us' => '关于我们',
'careers' => '职业介绍',
@ -359,42 +323,6 @@ $translations = [
'filled' => '已成交',
'status' => '状态',
'load_more' => '加载更多',
'join_now' => '立即加入',
'start_trading' => '开始交易',
'earn_now' => '立即赚取',
'global_partners' => '全球战略合作伙伴',
'view_more' => '查看更多',
'pair' => '交易对',
'last_price' => '最新价格',
'24h_change' => '24h 涨跌',
'market_cap' => '市值',
'launch_title' => 'NovaEx 全球上线',
'launch_desc' => '体验具有超低延迟和银行级安全性的下一代数字资产交易。',
'futures_title' => '100倍杠杆合约交易',
'futures_desc' => '通过我们的专业永续合约最大限度地提高您的资金效率。',
'staking_title' => '安全加密质押',
'staking_desc' => '通过我们的高收益质押池从您的闲置资产中赚取被动收入。',
'trade_anywhere' => '随时随地进行交易',
'trade_anywhere_desc' => '使用 NovaEx 移动应用程序随时随地连接市场。在您的掌中体验专业的交易功能,包括实时警报、高级图表和即时充值。',
'fast_secure' => '快速且安全',
'fast_secure_desc' => '通过军用级加密优化性能。',
'realtime_data' => '实时数据',
'realtime_data_desc' => '用于精确执行的低延迟 market 更新。',
'app_store' => 'App Store',
'google_play' => 'Google Play',
'scan_download' => '扫描下载',
'support_ios_android' => '支持 iOS & Android',
'download_on_the' => '下载于',
'get_it_on' => '获取于',
'welcome_back' => '欢迎回来',
'login_subtitle' => '登录您的账户以继续交易',
'account_label' => '账号',
'account_placeholder' => '输入您的邮箱或手机号',
'password_label' => '密码',
'password_placeholder' => '输入您的密码',
'forgot_password' => '忘记密码?',
'no_account' => '还没有账号?',
'login_error' => '用户名或密码无效。',
]
];

View File

@ -15,24 +15,24 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<div class="carousel-slide" style="min-width: 100%; position: relative;">
<img src="https://images.pexels.com/photos/6771574/pexels-photo-6771574.jpeg?auto=compress&cs=tinysrgb&w=1920" style="width: 100%; height: 100%; object-fit: cover; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 8%; transform: translateY(-50%); color: white; max-width: 600px;">
<h2 style="font-size: 3rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 5px 15px rgba(0,0,0,0.5);"><?php echo __('launch_title', 'NovaEx Global Launch'); ?></h2>
<p style="font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px;"><?php echo __('launch_desc', 'Experience the next generation of digital asset trading with ultra-low latency and bank-grade security.'); ?></p>
<h2 style="font-size: 3rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 5px 15px rgba(0,0,0,0.5);">NovaEx Global Launch</h2>
<p style="font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px;">Experience the next generation of digital asset trading with ultra-low latency and bank-grade security.</p>
<a href="register.php" class="btn-primary" style="padding: 12px 35px; border-radius: 8px; font-weight: bold; text-decoration: none; display: inline-block; background: var(--primary-color); color: white;"><?php echo __('join_now', 'Join Now'); ?></a>
</div>
</div>
<div class="carousel-slide" style="min-width: 100%; position: relative;">
<img src="https://images.pexels.com/photos/844124/pexels-photo-844124.jpeg?auto=compress&cs=tinysrgb&w=1920" style="width: 100%; height: 100%; object-fit: cover; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 8%; transform: translateY(-50%); color: white; max-width: 600px;">
<h2 style="font-size: 3rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 5px 15px rgba(0,0,0,0.5);"><?php echo __('futures_title', 'Trade Futures with 100x Leverage'); ?></h2>
<p style="font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px;"><?php echo __('futures_desc', 'Maximize your capital efficiency with our professional perpetual futures contracts.'); ?></p>
<h2 style="font-size: 3rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 5px 15px rgba(0,0,0,0.5);">Trade Futures with 100x Leverage</h2>
<p style="font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px;">Maximize your capital efficiency with our professional perpetual futures contracts.</p>
<a href="futures.php" class="btn-primary" style="padding: 12px 35px; border-radius: 8px; font-weight: bold; text-decoration: none; display: inline-block; background: var(--primary-color); color: white;"><?php echo __('start_trading', 'Start Trading'); ?></a>
</div>
</div>
<div class="carousel-slide" style="min-width: 100%; position: relative;">
<img src="https://images.pexels.com/photos/6771178/pexels-photo-6771178.jpeg?auto=compress&cs=tinysrgb&w=1920" style="width: 100%; height: 100%; object-fit: cover; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 8%; transform: translateY(-50%); color: white; max-width: 600px;">
<h2 style="font-size: 3rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 5px 15px rgba(0,0,0,0.5);"><?php echo __('staking_title', 'Secure Crypto Staking'); ?></h2>
<p style="font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px;"><?php echo __('staking_desc', 'Earn passive income on your idle assets with our high-yield staking pools.'); ?></p>
<h2 style="font-size: 3rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 5px 15px rgba(0,0,0,0.5);">Secure Crypto Staking</h2>
<p style="font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px;">Earn passive income on your idle assets with our high-yield staking pools.</p>
<a href="mining.php" class="btn-primary" style="padding: 12px 35px; border-radius: 8px; font-weight: bold; text-decoration: none; display: inline-block; background: var(--primary-color); color: white;"><?php echo __('earn_now', 'Earn Now'); ?></a>
</div>
</div>
@ -49,7 +49,7 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<section style="padding: 60px 0; max-width: 1200px; margin: 0 auto;">
<div style="display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 30px;">
<h2 style="font-size: 2rem; font-weight: 800;"><?php echo __('market_trends', '市场趋势'); ?></h2>
<a href="markets.php" style="color: var(--primary-color); text-decoration: none; font-weight: 600; font-size: 14px;"><?php echo __('view_more', '查看更多'); ?> <i class="fas fa-chevron-right" style="font-size: 10px;"></i></a>
<a href="markets.php" style="color: var(--primary-color); text-decoration: none; font-weight: 600; font-size: 14px;"><?php echo __('view_more_markets', '查看更多'); ?> <i class="fas fa-chevron-right" style="font-size: 10px;"></i></a>
</div>
<div style="background: var(--card-bg); border-radius: 24px; border: 1px solid var(--border-color); overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.2);">
@ -74,8 +74,8 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<div style="max-width: 1200px; margin: 0 auto;">
<div style="display: flex; align-items: center; justify-content: space-between; gap: 60px; flex-wrap: wrap;">
<div style="flex: 1; min-width: 400px;">
<h2 style="font-size: 2.5rem; font-weight: 800; margin-bottom: 25px; background: linear-gradient(135deg, #fff 0%, #848e9c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;"><?php echo __('trade_anywhere', 'Trade Anywhere, Anytime'); ?></h2>
<p style="color: var(--text-muted); font-size: 1.1rem; line-height: 1.6; margin-bottom: 40px;"><?php echo __('trade_anywhere_desc', 'Stay connected to the markets with the NovaEx mobile app. Experience professional trading features in the palm of your hand, featuring real-time alerts, advanced charting, and instant deposits.'); ?></p>
<h2 style="font-size: 2.5rem; font-weight: 800; margin-bottom: 25px; background: linear-gradient(135deg, #fff 0%, #848e9c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;">Trade Anywhere, Anytime</h2>
<p style="color: var(--text-muted); font-size: 1.1rem; line-height: 1.6; margin-bottom: 40px;">Stay connected to the markets with the NovaEx mobile app. Experience professional trading features in the palm of your hand, featuring real-time alerts, advanced charting, and instant deposits.</p>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 40px;">
<div style="display: flex; gap: 15px; align-items: flex-start;">
@ -83,8 +83,8 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<i class="fas fa-bolt"></i>
</div>
<div>
<h4 style="margin: 0 0 5px; font-weight: 700;"><?php echo __('fast_secure', 'Fast & Secure'); ?></h4>
<p style="font-size: 0.9rem; color: #848e9c; margin: 0;"><?php echo __('fast_secure_desc', 'Optimized performance with military-grade encryption.'); ?></p>
<h4 style="margin: 0 0 5px; font-weight: 700;">Fast & Secure</h4>
<p style="font-size: 0.9rem; color: #848e9c; margin: 0;">Optimized performance with military-grade encryption.</p>
</div>
</div>
<div style="display: flex; gap: 15px; align-items: flex-start;">
@ -92,8 +92,8 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<i class="fas fa-chart-line"></i>
</div>
<div>
<h4 style="margin: 0 0 5px; font-weight: 700;"><?php echo __('realtime_data', 'Real-time Data'); ?></h4>
<p style="font-size: 0.9rem; color: #848e9c; margin: 0;"><?php echo __('realtime_data_desc', 'Low-latency market updates for precise execution.'); ?></p>
<h4 style="margin: 0 0 5px; font-weight: 700;">Real-time Data</h4>
<p style="font-size: 0.9rem; color: #848e9c; margin: 0;">Low-latency market updates for precise execution.</p>
</div>
</div>
</div>
@ -105,8 +105,8 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<i class="fab fa-apple" style="color: white;"></i>
</div>
<div style="flex: 1;">
<div style="font-size: 0.85rem; color: #848e9c; font-weight: 500;"><?php echo __('download_on_the', 'Download on the'); ?></div>
<div style="font-size: 1.3rem; font-weight: 800; color: white;"><?php echo __('app_store', 'App Store'); ?></div>
<div style="font-size: 0.85rem; color: #848e9c; font-weight: 500;">Download on the</div>
<div style="font-size: 1.3rem; font-weight: 800; color: white;">App Store</div>
</div>
<i class="fas fa-chevron-right" style="color: #848e9c;"></i>
</div>
@ -116,8 +116,8 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<i class="fab fa-google-play" style="color: #3DDC84;"></i>
</div>
<div style="flex: 1;">
<div style="font-size: 0.85rem; color: #848e9c; font-weight: 500;"><?php echo __('get_it_on', 'Get it on'); ?></div>
<div style="font-size: 1.3rem; font-weight: 800; color: white;"><?php echo __('google_play', 'Google Play'); ?></div>
<div style="font-size: 0.85rem; color: #848e9c; font-weight: 500;">Get it on</div>
<div style="font-size: 1.3rem; font-weight: 800; color: white;">Google Play</div>
</div>
<i class="fas fa-chevron-right" style="color: #848e9c;"></i>
</div>
@ -127,8 +127,8 @@ $trending_pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'];
<i class="fas fa-qrcode" style="font-size: 2.5rem; color: #000;"></i>
</div>
<div>
<div style="font-weight: 700; color: white; font-size: 1rem;"><?php echo __('scan_download', 'Scan to Download'); ?></div>
<div style="font-size: 0.85rem; color: #848e9c; margin-top: 4px;"><?php echo __('support_ios_android', 'Supports iOS & Android'); ?></div>
<div style="font-weight: 700; color: white; font-size: 1rem;">Scan to Download</div>
<div style="font-size: 0.85rem; color: #848e9c; margin-top: 4px;">Supports iOS & Android</div>
</div>
</div>
</div>

View File

@ -28,7 +28,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
header("Location: index.php");
exit;
} else {
$error = __('login_error', 'Invalid username or password.');
$error = "Invalid username or password.";
}
}
?>
@ -37,8 +37,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<main style="background: #0b0e11; min-height: calc(100vh - 64px); display: flex; align-items: center; justify-content: center; padding: 40px 20px;">
<div style="width: 100%; max-width: 480px; background: var(--card-bg); padding: 50px; border-radius: 32px; border: 1px solid var(--border-color); box-shadow: 0 20px 40px rgba(0,0,0,0.4);">
<h2 style="font-size: 2.2rem; font-weight: 800; margin-bottom: 10px; text-align: center; color: white;"><?php echo __('welcome_back', 'Welcome Back'); ?></h2>
<p style="text-align: center; color: var(--text-muted); margin-bottom: 40px;"><?php echo __('login_subtitle', 'Log in to your account to continue trading'); ?></p>
<h2 style="font-size: 2.2rem; font-weight: 800; margin-bottom: 10px; text-align: center; color: white;">Welcome Back</h2>
<p style="text-align: center; color: var(--text-muted); margin-bottom: 40px;">Log in to your account to continue trading</p>
<?php if($error): ?>
<div style="background: rgba(246,70,93,0.1); color: var(--danger-color); padding: 15px; border-radius: 12px; margin-bottom: 25px; border: 1px solid var(--danger-color); text-align: center; font-size: 14px;">
@ -48,26 +48,26 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<form method="POST">
<div style="margin-bottom: 25px;">
<label style="display: block; margin-bottom: 10px; color: var(--text-muted); font-size: 14px;"><?php echo __('account_label', 'Account'); ?></label>
<label style="display: block; margin-bottom: 10px; color: var(--text-muted); font-size: 14px;">Account</label>
<div style="position: relative;">
<i class="fas fa-user" style="position: absolute; left: 15px; top: 15px; color: #555;"></i>
<input type="text" name="username" required placeholder="<?php echo __('account_placeholder', 'Enter your email or phone'); ?>" style="width: 100%; padding: 15px 15px 15px 45px; background: #161a1e; border: 1px solid var(--border-color); color: white; border-radius: 12px; font-size: 1rem; outline: none; box-sizing: border-box;">
<input type="text" name="username" required placeholder="Enter your email or phone" style="width: 100%; padding: 15px 15px 15px 45px; background: #161a1e; border: 1px solid var(--border-color); color: white; border-radius: 12px; font-size: 1rem; outline: none; box-sizing: border-box;">
</div>
</div>
<div style="margin-bottom: 30px;">
<label style="display: block; margin-bottom: 10px; color: var(--text-muted); font-size: 14px;"><?php echo __('password_label', 'Password'); ?></label>
<label style="display: block; margin-bottom: 10px; color: var(--text-muted); font-size: 14px;">Password</label>
<div style="position: relative;">
<i class="fas fa-lock" style="position: absolute; left: 15px; top: 15px; color: #555;"></i>
<input type="password" name="password" required placeholder="<?php echo __('password_placeholder', 'Enter your password'); ?>" style="width: 100%; padding: 15px 15px 15px 45px; background: #161a1e; border: 1px solid var(--border-color); color: white; border-radius: 12px; font-size: 1rem; outline: none; box-sizing: border-box;">
<input type="password" name="password" required placeholder="Enter your password" style="width: 100%; padding: 15px 15px 15px 45px; background: #161a1e; border: 1px solid var(--border-color); color: white; border-radius: 12px; font-size: 1rem; outline: none; box-sizing: border-box;">
</div>
</div>
<div style="display: flex; justify-content: flex-end; margin-bottom: 30px;">
<a href="#" style="color: var(--primary-color); text-decoration: none; font-size: 0.85rem;"><?php echo __('forgot_password', 'Forgot Password?'); ?></a>
<a href="#" style="color: var(--primary-color); text-decoration: none; font-size: 0.85rem;">Forgot Password?</a>
</div>
<button type="submit" class="btn-primary" style="width: 100%; padding: 18px; font-weight: 800; font-size: 1.1rem; border-radius: 16px; box-shadow: 0 10px 20px rgba(0,82,255,0.2);"><?php echo __('nav_login'); ?></button>
</form>
<div style="text-align: center; margin-top: 30px; border-top: 1px solid var(--border-color); padding-top: 30px;">
<span style="color: var(--text-muted);"><?php echo __('no_account', "Don't have an account?"); ?></span> <a href="register.php" style="color: var(--primary-color); text-decoration: none; font-weight: bold;"><?php echo __('nav_register'); ?></a>
<span style="color: var(--text-muted);">Don't have an account?</span> <a href="register.php" style="color: var(--primary-color); text-decoration: none; font-weight: bold;"><?php echo __('nav_register'); ?></a>
</div>
</div>
</main>