This commit is contained in:
jeremygan2021
2026-01-21 20:50:22 +08:00
parent b5b9d6e731
commit e94bc11083
4 changed files with 638 additions and 0 deletions

View File

@@ -287,6 +287,14 @@
<div class="container">
<h1>管理后台</h1>
<div style="text-align: center; margin-bottom: 25px;">
<a href="/wall" target="_blank" style="text-decoration: none;">
<button class="btn-lg" style="background: linear-gradient(90deg, #6a11cb 0%, #2575fc 100%); width: auto; padding: 15px 40px; box-shadow: 0 0 20px rgba(37, 117, 252, 0.5);">
📺 打开签到大屏 (Large Screen)
</button>
</a>
</div>
<div class="card">
<h2>基本信息设置</h2>
<div class="form-group">
@@ -384,6 +392,32 @@
<button class="btn-success" onclick="testDbConnection()">测试连接</button>
</div>
<div class="card">
<h2>大屏设置 (Wall Config)</h2>
<div class="form-group">
<label>背景图片透明度 (0-1)</label>
<input type="number" id="wall_bg_opacity" step="0.1" min="0" max="1" value="0.3">
</div>
<div class="form-group">
<label>显示字段</label>
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_name"> <label for="wall_show_name">姓名</label>
</div>
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_company"> <label for="wall_show_company">单位名称</label>
</div>
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_position"> <label for="wall_show_position">职务</label>
</div>
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_vision"> <label for="wall_show_vision">愿景 (Vision)</label>
</div>
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_scope"> <label for="wall_show_scope">业务范围 (弹幕)</label>
</div>
</div>
</div>
<div class="card">
<h2>主题设置</h2>
<div class="form-group">
@@ -516,6 +550,16 @@
document.getElementById('db_user').value = config.db_user || '';
document.getElementById('db_password').value = config.db_password || '';
document.getElementById('db_name').value = config.db_name || '';
// Wall Config
const wc = config.wall_config || {};
const show = wc.show_fields || {};
document.getElementById('wall_bg_opacity').value = wc.bg_opacity !== undefined ? wc.bg_opacity : 0.3;
document.getElementById('wall_show_name').checked = show.name !== false;
document.getElementById('wall_show_company').checked = show.company_name !== false;
document.getElementById('wall_show_position').checked = show.position !== false;
document.getElementById('wall_show_vision').checked = show.vision_2026 !== false;
document.getElementById('wall_show_scope').checked = show.business_scope !== false;
});
function renderFieldConfig(fieldConfig) {
@@ -605,6 +649,18 @@
// Field Config
field_config: getFieldConfig(),
// Wall Config
wall_config: {
bg_opacity: parseFloat(document.getElementById('wall_bg_opacity').value),
show_fields: {
name: document.getElementById('wall_show_name').checked,
company_name: document.getElementById('wall_show_company').checked,
position: document.getElementById('wall_show_position').checked,
vision_2026: document.getElementById('wall_show_vision').checked,
business_scope: document.getElementById('wall_show_scope').checked
}
},
// DB Config
db_host: document.getElementById('db_host').value,
db_port: document.getElementById('db_port').value,