132 lines
4.8 KiB
HTML
132 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>数据面板 - 战锤40K行星总督</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/admin.css') }}">
|
|
</head>
|
|
<body class="admin-page">
|
|
<div class="admin-sidebar">
|
|
<div class="admin-logo">
|
|
<h2>战锤40K</h2>
|
|
<p>管理员控制台</p>
|
|
</div>
|
|
<nav class="admin-nav">
|
|
<a href="{{ url_for('admin_index') }}">
|
|
<span class="icon">🏠</span>
|
|
<span class="text">主页</span>
|
|
</a>
|
|
<a href="{{ url_for('admin_characters') }}">
|
|
<span class="icon">👤</span>
|
|
<span class="text">管理人物</span>
|
|
</a>
|
|
<a href="{{ url_for('admin_dashboard') }}" class="active">
|
|
<span class="icon">📊</span>
|
|
<span class="text">数据面板</span>
|
|
</a>
|
|
<a href="{{ url_for('admin_logout') }}" class="logout">
|
|
<span class="icon">🚪</span>
|
|
<span class="text">登出</span>
|
|
</a>
|
|
</nav>
|
|
</div>
|
|
|
|
<div class="admin-content">
|
|
<header class="admin-header">
|
|
<h1>数据统计面板</h1>
|
|
<div class="header-actions">
|
|
<button id="refresh-data-btn" class="btn btn-primary">
|
|
<span class="icon">🔄</span> 刷新数据
|
|
</button>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="stats-grid">
|
|
<div class="stats-card">
|
|
<div class="stats-icon">👥</div>
|
|
<div class="stats-data">
|
|
<h3>总玩家数</h3>
|
|
<div class="stats-value" id="total-users">--</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="stats-card">
|
|
<div class="stats-icon">🟢</div>
|
|
<div class="stats-data">
|
|
<h3>在线玩家</h3>
|
|
<div class="stats-value" id="online-users">--</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="stats-card">
|
|
<div class="stats-icon">🆕</div>
|
|
<div class="stats-data">
|
|
<h3>今日新注册</h3>
|
|
<div class="stats-value" id="today-users">--</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="stats-card">
|
|
<div class="stats-icon">🎮</div>
|
|
<div class="stats-data">
|
|
<h3>游戏中</h3>
|
|
<div class="stats-value" id="playing-users">--</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="data-panels">
|
|
<div class="data-panel">
|
|
<div class="panel-header">
|
|
<h2>在线玩家列表</h2>
|
|
</div>
|
|
<div class="panel-body">
|
|
<table class="data-table" id="online-users-table">
|
|
<thead>
|
|
<tr>
|
|
<th>用户名</th>
|
|
<th>状态</th>
|
|
<th>IP地址</th>
|
|
<th>最后活动</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<!-- 数据将通过JavaScript加载 -->
|
|
<tr class="loading-row">
|
|
<td colspan="4">加载中...</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="data-panel">
|
|
<div class="panel-header">
|
|
<h2>今日新注册用户</h2>
|
|
</div>
|
|
<div class="panel-body">
|
|
<table class="data-table" id="today-users-table">
|
|
<thead>
|
|
<tr>
|
|
<th>用户名</th>
|
|
<th>注册时间</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<!-- 数据将通过JavaScript加载 -->
|
|
<tr class="loading-row">
|
|
<td colspan="2">加载中...</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 数据面板脚本 -->
|
|
<script src="{{ url_for('static', filename='js/admin/dashboard.js') }}"></script>
|
|
</body>
|
|
</html> |