136 lines
4.9 KiB
PHP
136 lines
4.9 KiB
PHP
<?php
|
|
session_start();
|
|
if (!isset($_SESSION['user_id'])) {
|
|
header('Location: index.php');
|
|
exit;
|
|
}
|
|
require_once __DIR__ . '/db/config.php';
|
|
|
|
$pdo = db();
|
|
$user_id = $_SESSION['user_id'];
|
|
|
|
$stmt = $pdo->prepare("SELECT username, balance FROM users WHERE id = ?");
|
|
$stmt->execute([$user_id]);
|
|
$user = $stmt->fetch();
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['message'])) {
|
|
$msg = trim($_POST['message']);
|
|
$stmt = $pdo->prepare("INSERT INTO support_messages (user_id, sender, message) VALUES (?, 'user', ?)");
|
|
$stmt->execute([$user_id, $msg]);
|
|
}
|
|
|
|
$stmt = $pdo->prepare("SELECT * FROM support_messages WHERE user_id = ? ORDER BY created_at ASC");
|
|
$stmt->execute([$user_id]);
|
|
$messages = $stmt->fetchAll();
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>客服中心 - 全球接码</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
|
<style>
|
|
:root {
|
|
--primary-color: #ff4d94;
|
|
--secondary-color: #ff1a75;
|
|
--bg-light: #fff8f9;
|
|
--surface-light: #ffffff;
|
|
--text-main: #2d1a1e;
|
|
--text-muted: #8a6d71;
|
|
--border-color: #ffd1dc;
|
|
--sidebar-width: 280px;
|
|
}
|
|
body {
|
|
font-family: 'Plus Jakarta Sans', sans-serif;
|
|
background-color: var(--bg-light);
|
|
color: var(--text-main);
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.main-content {
|
|
margin-left: var(--sidebar-width);
|
|
padding: 2rem 3rem;
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.chat-card {
|
|
background: white;
|
|
border: 2px solid var(--border-color);
|
|
border-radius: 32px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
box-shadow: 8px 8px 0px var(--border-color);
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.chat-body {
|
|
flex: 1;
|
|
padding: 30px;
|
|
overflow-y: auto;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.chat-footer {
|
|
padding: 24px;
|
|
border-top: 2px solid var(--border-color);
|
|
background: #fff;
|
|
}
|
|
|
|
.message { margin-bottom: 20px; max-width: 80%; display: flex; flex-direction: column; }
|
|
.message-content { padding: 12px 20px; border-radius: 20px; font-size: 0.95rem; }
|
|
.message-user { margin-left: auto; align-items: flex-end; }
|
|
.message-user .message-content { background: var(--primary-color); color: white; border-bottom-right-radius: 4px; }
|
|
.message-admin { align-items: flex-start; }
|
|
.message-admin .message-content { background: var(--bg-light); border: 2px solid var(--border-color); border-bottom-left-radius: 4px; }
|
|
|
|
.btn-primary { background: var(--primary-color); border: none; border-radius: 16px; width: 50px; height: 50px; }
|
|
.form-control { border: 2px solid var(--border-color); border-radius: 16px; padding: 12px 20px; }
|
|
|
|
@media (max-width: 992px) {
|
|
.main-content { margin-left: 80px; padding: 1.5rem; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<?php include 'includes/sidebar.php'; ?>
|
|
|
|
<div class="main-content">
|
|
<div class="mb-4">
|
|
<h2 class="fw-bold mb-1">在线技术支持</h2>
|
|
<p class="text-muted">我们的专家团队全天候为您解决接码及充值问题</p>
|
|
</div>
|
|
|
|
<div class="chat-card">
|
|
<div class="chat-body" id="chatBody">
|
|
<div class="message message-admin">
|
|
<div class="message-content">您好!我是您的接码管家。如果您遇到任何问题,请在这里留言,我们会尽快回复。</div>
|
|
</div>
|
|
<?php foreach ($messages as $msg): ?>
|
|
<div class="message <?= $msg['sender'] === 'user' ? 'message-user' : 'message-admin' ?>">
|
|
<div class="message-content"><?= htmlspecialchars($msg['message']) ?></div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<div class="chat-footer">
|
|
<form method="POST" class="d-flex gap-3">
|
|
<input type="text" name="message" class="form-control" placeholder="输入您的问题..." required autocomplete="off">
|
|
<button type="submit" class="btn btn-primary"><i class="fas fa-paper-plane text-white"></i></button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const chatBody = document.getElementById('chatBody');
|
|
chatBody.scrollTop = chatBody.scrollHeight;
|
|
</script>
|
|
</body>
|
|
</html>
|