mirror of
https://gitee.com/xiarenalofs/squad-rain-ops-mini.git
synced 2026-08-05 21:15:52 +08:00
636 lines
26 KiB
HTML
636 lines
26 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>RainOps 插件功能手册</title>
|
||
<link rel="stylesheet" href="/lib/css/bootstrap.min.css">
|
||
<link rel="stylesheet" href="/lib/css/font-awesome.min.css">
|
||
<style>
|
||
:root {
|
||
/* Modern Palette */
|
||
--primary-color: #4361ee;
|
||
--secondary-color: #3f37c9;
|
||
--success-color: #4caf50;
|
||
--info-color: #00b4d8;
|
||
--warning-color: #f72585;
|
||
--danger-color: #f44336;
|
||
--bg-color: #f8f9fa;
|
||
--card-bg: #ffffff;
|
||
--text-primary: #2b2d42;
|
||
--text-secondary: #8d99ae;
|
||
--border-color: #edf2f4;
|
||
--sidebar-width: 280px;
|
||
}
|
||
|
||
body {
|
||
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
||
background-color: var(--bg-color);
|
||
color: var(--text-primary);
|
||
margin: 0;
|
||
padding: 0;
|
||
line-height: 1.6;
|
||
-webkit-font-smoothing: antialiased;
|
||
display: flex;
|
||
min-height: 100vh;
|
||
}
|
||
|
||
/* Sidebar Styling */
|
||
.sidebar {
|
||
width: var(--sidebar-width);
|
||
background-color: var(--card-bg);
|
||
border-right: 1px solid var(--border-color);
|
||
position: fixed;
|
||
height: 100vh;
|
||
overflow-y: auto;
|
||
padding: 2rem 1.5rem;
|
||
box-sizing: border-box;
|
||
z-index: 1000;
|
||
}
|
||
|
||
.logo {
|
||
font-size: 1.5rem;
|
||
font-weight: 800;
|
||
color: var(--primary-color);
|
||
margin-bottom: 2rem;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.5rem;
|
||
}
|
||
|
||
.nav-menu {
|
||
list-style: none;
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.nav-item {
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
|
||
.nav-link {
|
||
display: block;
|
||
padding: 0.75rem 1rem;
|
||
border-radius: 8px;
|
||
color: var(--text-secondary);
|
||
text-decoration: none;
|
||
font-weight: 500;
|
||
transition: all 0.2s ease;
|
||
}
|
||
|
||
.nav-link:hover, .nav-link.active {
|
||
background-color: #eff3ff;
|
||
color: var(--primary-color);
|
||
}
|
||
|
||
.nav-link i {
|
||
margin-right: 0.75rem;
|
||
width: 20px;
|
||
text-align: center;
|
||
}
|
||
|
||
.nav-category {
|
||
font-size: 0.75rem;
|
||
text-transform: uppercase;
|
||
color: #b8c2cc;
|
||
font-weight: 700;
|
||
margin: 1.5rem 0 0.75rem 1rem;
|
||
letter-spacing: 0.05em;
|
||
}
|
||
|
||
/* Main Content Styling */
|
||
.main-content {
|
||
margin-left: var(--sidebar-width);
|
||
flex: 1;
|
||
padding: 3rem 4rem;
|
||
max-width: 1200px;
|
||
}
|
||
|
||
header {
|
||
margin-bottom: 4rem;
|
||
}
|
||
|
||
h1 {
|
||
font-size: 2.5rem;
|
||
font-weight: 800;
|
||
margin-bottom: 1rem;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.subtitle {
|
||
font-size: 1.1rem;
|
||
color: var(--text-secondary);
|
||
max-width: 600px;
|
||
}
|
||
|
||
/* Section Styling */
|
||
section {
|
||
margin-bottom: 4rem;
|
||
scroll-margin-top: 2rem;
|
||
}
|
||
|
||
.section-header {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-bottom: 2rem;
|
||
padding-bottom: 1rem;
|
||
border-bottom: 2px solid var(--border-color);
|
||
}
|
||
|
||
.section-title {
|
||
font-size: 1.75rem;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin: 0;
|
||
}
|
||
|
||
.section-icon {
|
||
font-size: 1.5rem;
|
||
margin-right: 1rem;
|
||
color: var(--primary-color);
|
||
background: #eff3ff;
|
||
padding: 0.75rem;
|
||
border-radius: 12px;
|
||
}
|
||
|
||
/* Card Grid */
|
||
.plugin-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
||
gap: 1.5rem;
|
||
}
|
||
|
||
.plugin-card {
|
||
background: var(--card-bg);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 16px;
|
||
padding: 2rem;
|
||
transition: transform 0.2s, box-shadow 0.2s;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.plugin-card:hover {
|
||
transform: translateY(-4px);
|
||
box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.08);
|
||
border-color: #dbe4ff;
|
||
}
|
||
|
||
.card-header {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: flex-start;
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
.plugin-name {
|
||
font-size: 1.25rem;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin: 0;
|
||
}
|
||
|
||
.badge {
|
||
font-size: 0.75rem;
|
||
padding: 0.25rem 0.75rem;
|
||
border-radius: 20px;
|
||
font-weight: 600;
|
||
letter-spacing: 0.02em;
|
||
}
|
||
|
||
.badge-basic { background-color: #e3f2fd; color: #1976d2; }
|
||
.badge-points { background-color: #fff3e0; color: #f57c00; }
|
||
.badge-tool { background-color: #f3e5f5; color: #7b1fa2; }
|
||
|
||
.plugin-desc {
|
||
color: var(--text-secondary);
|
||
font-size: 0.95rem;
|
||
margin-bottom: 1.5rem;
|
||
flex-grow: 1;
|
||
}
|
||
|
||
.command-box {
|
||
background-color: #f8f9fa;
|
||
border-radius: 8px;
|
||
padding: 1rem;
|
||
font-size: 0.9rem;
|
||
border: 1px solid var(--border-color);
|
||
}
|
||
|
||
.command-label {
|
||
font-size: 0.75rem;
|
||
font-weight: 700;
|
||
color: #b8c2cc;
|
||
text-transform: uppercase;
|
||
margin-bottom: 0.5rem;
|
||
display: block;
|
||
}
|
||
|
||
.command-code {
|
||
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
||
color: var(--primary-color);
|
||
background: rgba(67, 97, 238, 0.05);
|
||
padding: 0.2rem 0.4rem;
|
||
border-radius: 4px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* Responsive */
|
||
@media (max-width: 768px) {
|
||
.sidebar {
|
||
transform: translateX(-100%);
|
||
transition: transform 0.3s ease;
|
||
}
|
||
|
||
.main-content {
|
||
margin-left: 0;
|
||
padding: 2rem;
|
||
}
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<!-- Sidebar Navigation -->
|
||
<nav class="sidebar">
|
||
<div class="logo">
|
||
<i class="fa fa-cube"></i> RainOps
|
||
</div>
|
||
<ul class="nav-menu">
|
||
<li class="nav-category">平台概览</li>
|
||
<li class="nav-item">
|
||
<a href="#intro" class="nav-link active"><i class="fa fa-home"></i> 平台介绍</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a href="#menus" class="nav-link"><i class="fa fa-list"></i> 菜单功能</a>
|
||
</li>
|
||
|
||
<li class="nav-category">插件功能</li>
|
||
<li class="nav-item">
|
||
<a href="#basic" class="nav-link"><i class="fa fa-shield"></i> 基础管理</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a href="#points" class="nav-link"><i class="fa fa-gift"></i> 积分娱乐</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a href="#tools" class="nav-link"><i class="fa fa-wrench"></i> 辅助工具</a>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<!-- Main Content -->
|
||
<main class="main-content">
|
||
<!-- 平台介绍 -->
|
||
<header id="intro">
|
||
<h1>RainOps Mini 使用手册</h1>
|
||
<p class="subtitle">RainOps Mini 是一款专为 Squad 战术小队服务器设计的轻量级、高性能管理面板。它集成了实时 RCON 控制、详细的数据分析、丰富的玩家管理功能以及强大的插件系统,旨在帮助服主和管理员更高效地维护服务器秩序,提升玩家的游戏体验。</p>
|
||
</header>
|
||
|
||
<!-- 菜单功能 -->
|
||
<section id="menus">
|
||
<div class="section-header">
|
||
<i class="fa fa-list section-icon"></i>
|
||
<h2 class="section-title">平台菜单功能</h2>
|
||
</div>
|
||
<div class="plugin-grid">
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">仪表盘 (Dashboard)</h3><span class="badge badge-basic">核心</span></div>
|
||
<p class="plugin-desc">服务器核心数据的实时概览,包括在线人数、阵营分数、当前地图及运行时间。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">RCON 控制台</h3><span class="badge badge-tool">控制</span></div>
|
||
<p class="plugin-desc">直接向服务器发送指令的控制终端,支持常用指令快捷操作与实时日志流。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">数据分析</h3><span class="badge badge-basic">统计</span></div>
|
||
<p class="plugin-desc">可视化的服务器数据统计,展示玩家活跃度趋势、地图偏好等关键指标。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">历史对局</h3><span class="badge badge-basic">记录</span></div>
|
||
<p class="plugin-desc">详尽记录每一场对局的胜负结果、时长及详细战报。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">玩家库</h3><span class="badge badge-basic">数据</span></div>
|
||
<p class="plugin-desc">存储所有进入过服务器的玩家信息,支持按 SteamID 或名称查询历史记录。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">积分管理</h3><span class="badge badge-points">经济</span></div>
|
||
<p class="plugin-desc">管理玩家积分系统,查看和调整玩家的积分余额。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">聊天消息</h3><span class="badge badge-tool">监控</span></div>
|
||
<p class="plugin-desc">实时监控和查询服务器内的所有聊天记录,支持关键词搜索。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">日志查询</h3><span class="badge badge-tool">审计</span></div>
|
||
<p class="plugin-desc">系统运行日志与游戏事件日志的综合查询入口。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">权限管理</h3><span class="badge badge-basic">安全</span></div>
|
||
<p class="plugin-desc">配置管理员权限,分配不同的管理角色和操作范围。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">会员管理</h3><span class="badge badge-points">VIP</span></div>
|
||
<p class="plugin-desc">管理服务器 VIP 玩家名单,设置白名单权限与有效期。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">CDK 管理</h3><span class="badge badge-points">福利</span></div>
|
||
<p class="plugin-desc">生成和管理兑换码 (CDK),用于发放积分或 VIP 资格。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">封禁管理</h3><span class="badge badge-basic">安全</span></div>
|
||
<p class="plugin-desc">查看和解除玩家封禁,管理黑名单。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">插件管理</h3><span class="badge badge-tool">扩展</span></div>
|
||
<p class="plugin-desc">启用、禁用及配置服务器运行的各类插件。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">配置文件</h3><span class="badge badge-tool">系统</span></div>
|
||
<p class="plugin-desc">在线编辑服务器与插件的详细配置文件。</p>
|
||
</div>
|
||
<div class="plugin-card">
|
||
<div class="card-header"><h3 class="plugin-name">子账户管理</h3><span class="badge badge-basic">安全</span></div>
|
||
<p class="plugin-desc">创建和管理拥有面板访问权限的子账户。</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 基础管理插件 -->
|
||
<section id="basic">
|
||
<div class="section-header">
|
||
<i class="fa fa-shield section-icon"></i>
|
||
<h2 class="section-title">基础管理插件</h2>
|
||
</div>
|
||
<div class="plugin-grid">
|
||
|
||
<!-- TK Auto Kick -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">TK 自动惩罚</h3>
|
||
<span class="badge badge-basic">自动管理</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
自动监控服务器内的队友伤害行为。当发生 TK 时,系统会自动警告双方。施暴者若未在规定时间内在聊天框输入道歉关键词,将会被自动踢出服务器。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>道歉: 输入 <span class="command-code">sorry</span>, <span class="command-code">sry</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Team Balance -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">自动队伍平衡</h3>
|
||
<span class="badge badge-basic">平衡性</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
实时监控双方阵营人数。当人数差超过设定阈值时,自动将优势方最后加入的玩家强制切换到劣势方。系统会优先保护白名单玩家及较早加入的玩家。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">触发机制</span>
|
||
<div>无需指令,后台自动运行</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- AFK Kick -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">AFK 闲置踢出</h3>
|
||
<span class="badge badge-basic">自动管理</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
定期检查服务器内未加入小队或未分配阵营的闲置玩家。当服务器人数较多时,长时间闲置的玩家将被请出,为活跃玩家腾出位置。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">保护机制</span>
|
||
<div>白名单玩家可豁免检测</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Squad Creation -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">小队创建限制</h3>
|
||
<span class="badge badge-basic">规则执行</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
监控小队创建行为并全服广播。可根据配置限制创建小队的门槛(如最低游戏时长或积分要求),不满足条件的玩家创建的小队将被自动解散。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">触发机制</span>
|
||
<div>自动检测,不满足条件自动解散</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Game Time -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">游戏时长查询</h3>
|
||
<span class="badge badge-basic">信息查询</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
记录并统计玩家在服务器的累积在线时长,数据可用于排行榜展示或作为特定功能的门槛判断。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>查询: <span class="command-code">!time</span> (或配置的关键词)</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 积分娱乐插件 -->
|
||
<section id="points">
|
||
<div class="section-header">
|
||
<i class="fa fa-gift section-icon"></i>
|
||
<h2 class="section-title">积分娱乐插件</h2>
|
||
</div>
|
||
<div class="plugin-grid">
|
||
|
||
<!-- Auto Sign In -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">自动签到</h3>
|
||
<span class="badge badge-points">福利</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
只要玩家保持在线,系统会按照设定的时间间隔自动发放积分奖励,鼓励玩家长时间游玩。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">获取方式</span>
|
||
<div>保持在线即可自动获取</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Manual Sign In -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">每日签到</h3>
|
||
<span class="badge badge-points">福利</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
玩家每日可通过输入指令主动签到一次,获取额外的积分奖励。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>签到: <span class="command-code">qd</span> 或 <span class="command-code">签到</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Team Switch -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">战队跳边系统</h3>
|
||
<span class="badge badge-points">功能增强</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
允许玩家在游戏中申请更换阵营。支持每局有限的免费额度,耗尽后可消耗积分跳边。积分不足时可呼叫战队成员协助。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>跳边: <span class="command-code">tb</span>, <span class="command-code">stb</span></div>
|
||
<div>协助: <span class="command-code">hp</span> + 验证码</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Red Packet -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">积分红包</h3>
|
||
<span class="badge badge-points">社交</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
土豪玩家可以将自己的积分打包成红包发送到公屏,其他玩家通过指令抢红包,增强服务器互动氛围。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>发红包: <span class="command-code">发红包 [数量] [总额]</span></div>
|
||
<div>抢红包: <span class="command-code">抢红包</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Lottery -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">积分抽奖</h3>
|
||
<span class="badge badge-points">娱乐</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
玩家可以投入积分参与抽奖,系统随机判断输赢,有机会赢取倍数积分奖励。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>抽奖: <span class="command-code">cj [金额]</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Personal Buff -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">个人击杀播报</h3>
|
||
<span class="badge badge-points">个性化</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
消耗积分订阅个性化播报服务。开启后,玩家的击杀、被击杀或救起行为将在屏幕中央高亮显示。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>开启: <span class="command-code">k 1</span></div>
|
||
<div>关闭: <span class="command-code">k 0</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- CDK Redeem -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">CDK 兑换</h3>
|
||
<span class="badge badge-points">福利</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
支持玩家在游戏内直接输入兑换码(CDK),兑换积分奖励或白名单资格。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">玩家指令</span>
|
||
<div>兑换: <span class="command-code">dui [兑换码]</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 辅助工具插件 -->
|
||
<section id="tools">
|
||
<div class="section-header">
|
||
<i class="fa fa-wrench section-icon"></i>
|
||
<h2 class="section-title">辅助工具插件</h2>
|
||
</div>
|
||
<div class="plugin-grid">
|
||
|
||
<!-- Broadcast -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">循环广播</h3>
|
||
<span class="badge badge-tool">通知</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
自动在服务器内循环播放预设的公告消息,如社区群号、服务器规则提示等,确保玩家及时获取重要信息。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">触发机制</span>
|
||
<div>按设定间隔自动轮播</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Ticket Query -->
|
||
<div class="plugin-card">
|
||
<div class="card-header">
|
||
<h3 class="plugin-name">阵营票数监控</h3>
|
||
<span class="badge badge-tool">监控</span>
|
||
</div>
|
||
<p class="plugin-desc">
|
||
实时读取并监控游戏内存中的阵营票数数据,为管理员或网页端提供实时的战况数据支持。
|
||
</p>
|
||
<div class="command-box">
|
||
<span class="command-label">功能说明</span>
|
||
<div>仅后台数据采集,无玩家指令</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<script>
|
||
// Simple script to handle active state of nav links
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const sections = document.querySelectorAll('section');
|
||
const navLinks = document.querySelectorAll('.nav-link');
|
||
|
||
window.addEventListener('scroll', () => {
|
||
let current = '';
|
||
sections.forEach(section => {
|
||
const sectionTop = section.offsetTop;
|
||
const sectionHeight = section.clientHeight;
|
||
if (pageYOffset >= (sectionTop - 150)) {
|
||
current = section.getAttribute('id');
|
||
}
|
||
});
|
||
|
||
navLinks.forEach(link => {
|
||
link.classList.remove('active');
|
||
if (link.getAttribute('href').includes(current)) {
|
||
link.classList.add('active');
|
||
}
|
||
});
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|