add preset header

This commit is contained in:
wjqserver 2025-06-22 17:56:35 +08:00
parent 47b6f4903f
commit cc429c44f9
5 changed files with 268 additions and 79 deletions

View file

@ -19,29 +19,18 @@
</header>
<nav class="sidebar-nav">
<ul>
<li><a href="/" class="active"><i class="fa-solid fa-sitemap"></i> <span>配置管理</span></a></li>
<li><a href="/" data-nav-id="configs" class="active"><i class="fa-solid fa-sitemap"></i> <span>站点配置</span></a></li>
<li><a href="/global.html" data-nav-id="global"><i class="fa-solid fa-globe"></i> <span>全局配置</span></a></li>
<li><a href="/settings.html" data-nav-id="settings"><i class="fa-solid fa-gears"></i> <span>面板设置</span></a></li>
</ul>
</nav>
<div class="sidebar-bottom">
<div class="theme-switcher">
<i class="fa-solid fa-sun"></i>
<label class="switch"><input type="checkbox" id="theme-toggle-input"><span class="slider"></span></label>
<i class="fa-solid fa-moon"></i>
</div>
<div class="theme-switcher"><i class="fa-solid fa-sun"></i><label class="switch"><input type="checkbox" id="theme-toggle-input"><span class="slider"></span></label><i class="fa-solid fa-moon"></i></div>
<div class="caddy-control-panel">
<div id="caddy-status-indicator" class="caddy-status">
<span class="status-dot checking"></span>
<span class="status-text">检查中...</span>
</div>
<div id="caddy-status-indicator" class="caddy-status"><span class="status-dot checking"></span><span class="status-text">检查中...</span></div>
<div id="caddy-action-button-container"></div>
</div>
<div class="logout-section">
<button id="logout-btn" class="btn btn-secondary">
<i class="fa-solid fa-right-from-bracket"></i>
<span>退出登录</span>
</button>
</div>
<div class="logout-section"><button id="logout-btn" class="btn btn-secondary"><i class="fa-solid fa-right-from-bracket"></i><span>退出登录</span></button></div>
</div>
</aside>
@ -49,9 +38,7 @@
<header class="main-header">
<button class="btn-icon" id="menu-toggle-btn"><i class="fa-solid fa-bars"></i></button>
<h2>配置管理</h2>
<button id="add-new-config-btn" class="btn btn-primary">
<i class="fa-solid fa-plus"></i> <span class="btn-text">创建新配置</span>
</button>
<button id="add-new-config-btn" class="btn btn-primary"><i class="fa-solid fa-plus"></i> <span class="btn-text">创建新配置</span></button>
</header>
<div id="view-container">
@ -60,9 +47,7 @@
</section>
<section id="config-form-panel" class="card-panel view hidden">
<div class="form-panel-header">
<button id="back-to-list-btn" class="btn-icon" title="返回列表">
<i class="fa-solid fa-arrow-left"></i>
</button>
<button id="back-to-list-btn" class="btn-icon" title="返回列表"><i class="fa-solid fa-arrow-left"></i></button>
<h3 id="form-title">创建新配置</h3>
</div>
<form id="config-form">
@ -88,14 +73,10 @@
<fieldset id="upstream-fieldset" class="hidden">
<legend>反向代理配置</legend>
<!-- 单上游输入框, 在多上游模式下隐藏 -->
<div class="form-group" id="single-upstream-group">
<label for="upstream">上游服务地址</label>
<input type="text" id="upstream" name="upstream" placeholder="例如: 127.0.0.1:8080">
</div>
<!-- 多上游配置区域 -->
<div class="sub-fieldset">
<label class="custom-checkbox">
<input type="checkbox" id="muti_upstream" name="muti_upstream">
@ -104,16 +85,21 @@
<div id="multi-upstream-group" class="hidden" style="margin-top: 16px;">
<p class="sub-legend">上游服务器列表</p>
<div id="multi-upstream-container"></div>
<button type="button" id="add-multi-upstream-btn" class="btn btn-secondary btn-small">
<i class="fa-solid fa-plus"></i> 添加上游服务器
</button>
<button type="button" id="add-multi-upstream-btn" class="btn btn-secondary btn-small"><i class="fa-solid fa-plus"></i> 添加上游服务器</button>
</div>
</div>
<div class="sub-fieldset">
<p class="sub-legend">上游请求头 (Upstream Headers)</p>
<div id="upstream-headers-container"></div>
<button type="button" id="add-upstream-header-btn" class="btn btn-secondary btn-small"><i class="fa-solid fa-plus"></i> 添加上游请求头</button>
<div class="sub-legend-group">
<p class="sub-legend">上游请求头 (Upstream Headers)</p>
<button type="button" class="btn-link" data-preset-target="upstream">
<i class="fa-solid fa-wand-magic-sparkles"></i>
<span>从预设填充</span>
</button>
</div>
<div id="upstream-headers-container"></div>
<button type="button" class="btn btn-secondary btn-small" data-add-target="upstream">
<i class="fa-solid fa-plus"></i> 添加请求头
</button>
</div>
</fieldset>
@ -130,9 +116,17 @@
</fieldset>
<fieldset id="headers-fieldset">
<legend>全局请求头 (Headers)</legend>
<div class="sub-legend-group">
<legend>全局请求头 (Headers)</legend>
<button type="button" class="btn-link" data-preset-target="global">
<i class="fa-solid fa-wand-magic-sparkles"></i>
<span>从预设填充</span>
</button>
</div>
<div id="headers-container"></div>
<button type="button" id="add-header-btn" class="btn btn-secondary btn-small"><i class="fa-solid fa-plus"></i> 添加全局请求头</button>
<button type="button" class="btn btn-secondary btn-small" data-add-target="global">
<i class="fa-solid fa-plus"></i> 添加请求头
</button>
</fieldset>
<fieldset>
@ -159,6 +153,7 @@
<div id="toast-container" class="toast-container"></div>
<div id="dialog-container"></div>
<div id="modal-container"></div> <!-- 新增: 通用模态框容器 -->
<script type="module" src="js/app.js"></script>
</body>