fix: 修复网页中文乱码并优化代码与添加提交规则

修复ic-card-search.html、ic-card-order.html、ic-card-admin.html中的乱码文本,替换为正确简体中文;重新格式化三个HTML文件的内嵌脚本提升可读性;新增.trae目录下的提交规则配置文件
This commit is contained in:
2026-06-28 10:53:45 +08:00
parent b614ff663c
commit 7fe1acd9d7
4 changed files with 161 additions and 116 deletions
+53 -51
View File
@@ -1,10 +1,10 @@
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FSE 閾佽矾绁ㄥ姟绯荤粺 - IC 鍗$鐞?/title>
<title>FSE 铁路票务系统 - IC 卡管理</title>
<link rel="icon" type="image/png" href="/FSE-ticket.png">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="/style.css?v=13">
@@ -16,12 +16,12 @@
<div class="jr-topbar-inner">
<a href="/" class="jr-top-link" id="icTopLink">
<i class="fas fa-train"></i>
<span>FSE 閾佽矾杩愯緭鍚庡彴绯荤粺</span>
<span>FSE 铁路运输后台系统</span>
</a>
<div class="jr-top-status is-checking" data-server-status-root>
<span class="jr-top-status-label">鏈嶅姟鍣ㄧ姸鎬?/span>
<span class="jr-top-status-label">服务器状态</span>
<span class="jr-top-status-dot"></span>
<span class="jr-top-status-value" data-server-status-value>妫€娴嬩腑</span>
<span class="jr-top-status-value" data-server-status-value>检测中</span>
</div>
</div>
</header>
@@ -30,16 +30,16 @@
<a href="/" class="jr-brand" id="icBrandLink">
<img src="/FSE-ticket.png" alt="FSE Railway" class="jr-brand-logo" />
<div class="jr-brand-copy">
<strong>FSE 閾佽矾杩愯緭</strong>
<span>IC 鍗$鐞嗗悗鍙?/span>
<strong>FSE 铁路运输</strong>
<span>IC 卡管理后台</span>
</div>
</a>
<nav class="jr-nav" aria-label="绔欑偣瀵艰埅">
<a href="https://ticket.fse-media.group/home.html" data-link="home">棣栭〉</a>
<a href="https://ticket.fse-media.group/order" data-link="order">绾夸笂棰勫畾</a>
<a href="https://ticket.fse-media.group/search" data-link="search">杞︾エ鏌ヨ</a>
<a href="https://ticket.fse-media.group/ic-card/search" data-link="card-search">IC 鍗℃煡璇?/a>
<a href="https://ticket.fse-media.group/ic-card/order" data-link="card-order">绾夸笂璐崱</a>
<nav class="jr-nav" aria-label="站点导航">
<a href="https://ticket.fse-media.group/home.html" data-link="home">首页</a>
<a href="https://ticket.fse-media.group/order" data-link="order">线上预定</a>
<a href="https://ticket.fse-media.group/search" data-link="search">车票查询</a>
<a href="https://ticket.fse-media.group/ic-card/search" data-link="card-search">IC 卡查询</a>
<a href="https://ticket.fse-media.group/ic-card/order" data-link="card-order">线上购卡</a>
</nav>
</div>
</div>
@@ -48,22 +48,26 @@
<div class="sidebar">
<div class="jr-admin-sidebar-head">
<span class="jr-kicker">IC CARD CONSOLE</span>
<div class="brand">FSE 閾佽矾绁ㄥ姟绯荤粺鎺у埗鍙?/div>
<p class="jr-admin-sidebar-copy">缁熶竴绠$悊 IC 鍗″彂琛屻€佸厖鍊笺€佹寔鍗′汉淇℃伅鍜屽巻鍙叉搷浣滆褰曘€?/p>
<div class="brand">FSE 铁路票务系统控制台</div>
<p class="jr-admin-sidebar-copy">统一管理 IC 卡发卡、充值、持卡人信息以及历史操作记录。</p>
</div>
<div class="nav">
<a href="/" class="nav-item" style="text-decoration:none;">
<span class="nav-icon"><i class="fas fa-home"></i></span> 杩斿洖棣栭〉
<span class="nav-icon"><i class="fas fa-home"></i></span>
返回首页
</a>
<a href="/admin" class="nav-item" style="text-decoration:none;">
<span class="nav-icon"><i class="fas fa-chart-pie"></i></span> 涓绘帶鍒跺彴
<span class="nav-icon"><i class="fas fa-chart-pie"></i></span>
主控制台
</a>
<a href="/admin/ic-card" class="nav-item active" style="text-decoration:none;">
<span class="nav-icon"><i class="fas fa-credit-card"></i></span> IC 鍗$鐞?</a>
<span class="nav-icon"><i class="fas fa-credit-card"></i></span>
IC 卡管理
</a>
</div>
<div class="sidebar-footer jr-admin-sidebar-status">
<div>IC Card Console</div>
<div id="serverStatusText" style="margin-top:6px;">姝e湪妫€娴嬫湇鍔$姸鎬?..</div>
<div id="serverStatusText" style="margin-top:6px;">正在检测服务状态...</div>
</div>
</div>
<div class="main">
@@ -72,42 +76,42 @@
<div class="flex" style="gap: 12px;">
<div>
<span class="jr-kicker">JR STYLE ADMIN</span>
<h3 style="margin: 0;">IC 鍗$鐞?/h3>
<h3 style="margin: 0;">IC 卡管理</h3>
</div>
</div>
</div>
<div class="flex">
<button id="refreshBtn"><i class="fas fa-sync-alt"></i> 鍒锋柊</button>
<button id="refreshBtn"><i class="fas fa-sync-alt"></i> 刷新</button>
</div>
</div>
<div class="content">
<section class="jr-page-intro jr-admin-intro">
<span class="jr-kicker">IC MANAGEMENT</span>
<h1>IC 鍗″彂琛屼笌鐘舵€佺鐞?/h1>
<p>寤剁画鍏紑椤电殑鐧藉簳闂ㄦ埛鍐欐硶锛岃鍙戝崱銆佸偍鍊煎拰浜嬩欢璁板綍鍦ㄥ悓涓€鍧楃鐞嗗伐浣滃尯涓繚鎸佹竻鏅扮殑闃呰鑺傚銆?/p>
<h1>IC 卡发行与状态管理</h1>
<p>延续公共页面的白底门户风格,让发卡、储值与事件记录在同一块工作区域中保持清晰易读。</p>
</section>
<section class="jr-home-alert jr-admin-alert">
<div class="jr-alert-title">
<i class="fas fa-circle-info"></i>
<span>涓氬姟鑼冨洿</span>
<span>业务范围</span>
</div>
<p>褰撳墠椤甸潰鐢ㄤ簬澶勭悊 IC 鍗″垱寤恒€佷綑棰濈鐞嗐€佹寔鍗′汉璧勬枡鍜屼簨浠舵祦鏌ョ湅锛岄€傚悎浣滀负鍚庡彴鍗″姟绠$悊鐨勫崟鐙叆鍙c€?/p>
<p>当前页面用于处理 IC 卡创建、余额管理、持卡人资料和事件流查看,适合作为后台卡务管理的单独入口。</p>
</section>
<div class="grid">
<div class="card">
<div class="stat-label">IC 鍗℃€绘暟</div>
<div class="stat-label">IC 卡总数</div>
<div class="stat-value" id="statTotal">0</div>
</div>
<div class="card">
<div class="stat-label">寰呴鍗?/div>
<div class="stat-label">待领卡</div>
<div class="stat-value" id="statPending">0</div>
</div>
<div class="card">
<div class="stat-label">姝e父鍚敤</div>
<div class="stat-label">正常启用</div>
<div class="stat-value" id="statActive">0</div>
</div>
<div class="card">
<div class="stat-label">鍌ㄥ€兼€婚</div>
<div class="stat-label">储值总额</div>
<div class="stat-value" id="statBalance">0</div>
</div>
</div>
@@ -115,28 +119,25 @@
<div class="management-sidebar">
<div class="card">
<div class="flex between mb-4">
<h4>蹇€熷缓鍗?/h4>
<h4>快速建卡</h4>
</div>
<div class="ic-form-grid">
<input id="createHolder" placeholder="鎸佸崱浜哄鍚嶏紙浠呰嫳鏂囦笌绗﹀彿锛?>
<input id="createBalance" type="number" min="0" step="1" value="50"
placeholder="鍒濆浣欓">
<input id="createHolder" placeholder="持卡人姓名,仅支持英文与常用符号">
<input id="createBalance" type="number" min="0" step="1" value="50" placeholder="初始余额">
</div>
<div class="text-muted" style="margin-top:12px;">鍚庡彴寤哄崱涔熺粺涓€涓?IC 鍌ㄥ€煎崱锛屾寔鍗′汉濮撳悕浠呮敮鎸佽嫳鏂囦笌甯哥敤绗﹀彿銆? </div>
<div class="text-muted" style="margin-top:12px;">后台建卡统一创建为 IC 储值卡,持卡人姓名仅支持英文与常用符号。</div>
<div class="toolbar" style="margin-top: 14px;">
<button id="createBtn" class="btn primary"><i class="fas fa-plus"></i> 鍒涘缓 IC
鍗?/button>
<button id="createBtn" class="btn primary"><i class="fas fa-plus"></i> 创建 IC 卡</button>
</div>
</div>
<div class="card"
style="margin-bottom:0; display:flex; flex-direction:column; min-height: 520px;">
<div class="card" style="margin-bottom:0; display:flex; flex-direction:column; min-height: 520px;">
<div class="flex between mb-4">
<h4>鍗$墖鍒楄〃</h4>
<h4>卡片列表</h4>
<span class="badge" id="listCountBadge">0</span>
</div>
<div class="flex mb-4" style="flex-wrap:wrap;">
<input id="searchInput" placeholder="鎼滅储鍗″彿 / 璁㈠崟鍙?/ 濮撳悕" style="flex:1;">
<input id="searchInput" placeholder="搜索卡号 / 订单号 / 姓名" style="flex:1;">
</div>
<div id="cardList" class="list-lines" style="flex:1; overflow-y:auto;"></div>
</div>
@@ -145,33 +146,31 @@
<div class="management-main">
<div class="card">
<div class="flex between mb-4">
<h4>鍗$墖璇︽儏</h4>
<h4>卡片详情</h4>
<div class="flex" style="gap:8px;">
<button id="topupBtn" class="btn"><i class="fas fa-wallet"></i> 鍏呭€?/button>
<button id="saveBtn" class="btn primary"><i class="fas fa-save"></i>
淇濆瓨</button>
<button id="topupBtn" class="btn"><i class="fas fa-wallet"></i> 充值</button>
<button id="saveBtn" class="btn primary"><i class="fas fa-save"></i> 保存</button>
</div>
</div>
<div id="detailPanel" class="empty-state">
<i class="fas fa-credit-card" style="font-size:48px; opacity:0.3;"></i>
<p>浠庡乏渚ч€夋嫨涓€寮?IC 鍗′互鏌ョ湅璇︽儏銆?/p>
<p>从左侧选择一张 IC 卡以查看详情。</p>
</div>
</div>
<div class="card" style="margin-bottom:0;">
<div class="flex between mb-4">
<h4>鎿嶄綔璁板綍</h4>
<h4>操作记录</h4>
</div>
<div id="eventList" class="timeline">
<div class="loading">閫夋嫨鍗$墖鍚庢樉绀轰簨浠舵祦銆?/div>
<div class="loading">选择卡片后显示事件流。</div>
</div>
</div>
</div>
</div>
<footer class="site-footer">
<a href="https://beian.miit.gov.cn/" target="_blank"
rel="noopener noreferrer">绮CP澶?025450093鍙?/a>
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer">粤ICP备2025450093号</a>
<span class="version">v1.0.12</span>
</footer>
</div>
@@ -194,8 +193,11 @@
'card-order': isDomain ? 'https://ticket.fse-media.group/ic-card/order' : '/ic-card-order.html'
};
document.getElementById('icTopLink').href = links.home;
document.getElementById('icBrandLink').href = links.home;
const topLink = document.getElementById('icTopLink');
const brandLink = document.getElementById('icBrandLink');
if (topLink) topLink.href = links.home;
if (brandLink) brandLink.href = links.home;
document.querySelectorAll('[data-link]').forEach((el) => {
const key = el.getAttribute('data-link');