39235-vm/admin.php
2026-03-18 15:29:32 +00:00

189 lines
7.6 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
session_start();
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
header('Location: login.php');
exit;
}
?>
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>SMS后台管理</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body data-page="admin">
<div class="app-admin">
<header class="topbar">
<div class="brand">
<div class="brand-logo" style="width: 40px; height: 40px; background: #25D366; color: white; display: flex; align-items: center; justify-content: center; border-radius: 8px; font-weight: bold; font-size: 1.2rem;">S</div>
<div>
<div class="fs-5 fw-bold text-white">SMS后台管理</div>
</div>
</div>
<div class="meta d-flex align-items-center gap-3">
<span class="status-pill text-white"><small>● 系统正常运行</small></span>
<span class="text-white">管理员Admin</span>
<a class="btn btn-sm btn-outline-light" href="logout.php">退出登录</a>
</div>
</header>
<main class="admin-shell">
<aside class="admin-sidebar">
<nav class="nav flex-column gap-1">
<a class="nav-link active" href="#" data-section-link="dashboard">📊 仪表盘</a>
<a class="nav-link" href="#" data-section-link="contacts">👥 客户管理</a>
<a class="nav-link" href="#" data-section-link="messages">💬 消息记录</a>
<a class="nav-link" href="#" data-section-link="send">📤 发送短信</a>
<a class="nav-link" href="#" data-section-link="auto">🤖 自动回复</a>
<a class="nav-link" href="#" data-section-link="settings">⚙️ Twilio 配置</a>
<a class="nav-link" href="#" data-section-link="system">🖥 系统设置</a>
</nav>
</aside>
<section class="admin-content">
<div class="section-card mb-4" data-section="dashboard">
<h5 class="mb-3">📊 今日概览</h5>
<div class="row g-3">
<div class="col-md-4">
<div class="stat-card">
<div class="text-muted small">今日发送数量</div>
<div class="fs-3 fw-bold mt-1" data-stat="sent">0</div>
</div>
</div>
<div class="col-md-4">
<div class="stat-card">
<div class="text-muted small">今日接收数量</div>
<div class="fs-3 fw-bold mt-1" data-stat="received">0</div>
</div>
</div>
<div class="col-md-4">
<div class="stat-card">
<div class="text-muted small">活跃客户数</div>
<div class="fs-3 fw-bold mt-1" data-stat="active">0</div>
</div>
</div>
</div>
</div>
<div class="section-card mb-4 d-none" data-section="contacts">
<h5 class="mb-3">👥 客户管理</h5>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>手机号</th>
<th>标签</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody data-admin-contacts></tbody>
</table>
</div>
</div>
<div class="section-card mb-4 d-none" data-section="messages">
<h5 class="mb-3">💬 消息记录</h5>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>手机号</th>
<th>方向</th>
<th>内容</th>
<th>时间</th>
</tr>
</thead>
<tbody data-admin-messages></tbody>
</table>
</div>
</div>
<div class="section-card mb-4 d-none" data-section="send">
<h5 class="mb-3">📤 发送短信</h5>
<form class="row g-3" data-send-form>
<div class="col-md-4">
<label class="form-label">手机号</label>
<input class="form-control" name="phone" placeholder="+86 138 0013 8000" required>
</div>
<div class="col-md-8">
<label class="form-label">短信内容</label>
<input class="form-control" name="body" placeholder="输入要发送的内容" required>
</div>
<div class="col-12">
<button class="btn btn-success px-4" type="submit">发送短信</button>
</div>
</form>
</div>
<div class="section-card mb-4 d-none" data-section="auto">
<h5 class="mb-3">🤖 自动回复规则</h5>
<form class="row g-3 mb-4" data-reply-form>
<div class="col-md-4">
<label class="form-label">关键词</label>
<input class="form-control" name="keyword" required>
</div>
<div class="col-md-8">
<label class="form-label">回复内容</label>
<input class="form-control" name="reply" required>
</div>
<div class="col-12">
<button class="btn btn-success px-4" type="submit">添加规则</button>
</div>
</form>
<ul class="list-group" data-reply-list></ul>
</div>
<div class="section-card mb-4 d-none" data-section="settings">
<h5 class="mb-3">⚙️ Twilio 配置</h5>
<form class="row g-3" data-settings-form>
<div class="col-md-4">
<label class="form-label">Account SID</label>
<input class="form-control" name="sid" placeholder="ACxxxxxxxx">
</div>
<div class="col-md-4">
<label class="form-label">Auth Token</label>
<input class="form-control" name="token" placeholder="••••••••">
</div>
<div class="col-md-4">
<label class="form-label">From 号码</label>
<input class="form-control" name="from" placeholder="+14155550199">
</div>
<div class="col-12">
<label class="form-label">Webhook 地址</label>
<input class="form-control" name="webhook" placeholder="https://your-domain.com/twilio/webhook">
</div>
<div class="col-12">
<button class="btn btn-success px-4" type="submit">保存配置</button>
</div>
</form>
</div>
<div class="section-card d-none" data-section="system">
<h5 class="mb-3">🖥 系统设置</h5>
<form class="row g-3" data-system-form>
<div class="col-md-4">
<label class="form-label">刷新频率(秒)</label>
<input class="form-control" name="refresh_interval" value="3">
</div>
<div class="col-md-4">
<label class="form-label">管理员名称</label>
<input class="form-control" name="admin_name" value="Admin">
</div>
<div class="col-12">
<button class="btn btn-success px-4" type="submit">保存设置</button>
</div>
</form>
</div>
</section>
</main>
</div>
<div class="toast-container"></div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" defer></script>
<script src="assets/js/main.js?v=<?= time() ?>" defer></script>
</body>
</html>