Files
FSE-Ticket.sys/web/home.html
T
2026-06-21 10:00:13 +08:00

250 lines
12 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>FSE 铁路票务系统 - 首页</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=12">
</head>
<body class="public-search jr-public-page">
<div class="jr-public-shell">
<header class="jr-topbar">
<div class="jr-topbar-inner">
<a href="https://ticket.fse-media.group" class="jr-top-link" id="homeTopLink">
<i class="fas fa-train"></i>
<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-dot"></span>
<span class="jr-top-status-value" data-server-status-value>检测中</span>
</div>
</div>
</header>
<div class="jr-brandbar">
<div class="jr-brandbar-inner">
<a href="https://ticket.fse-media.group" class="jr-brand" id="brandLink">
<img src="/FSE-ticket.png" alt="FSE Railway" class="jr-brand-logo" />
<div class="jr-brand-copy">
<strong>FarSight-T.N.E铁路运输</strong>
<span>票务服务</span>
</div>
</a>
<nav class="jr-nav" aria-label="站点导航">
<a href="https://ticket.fse-media.group/home.html" data-link="home" class="is-active">首页</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>
<main class="jr-public-main">
<section class="jr-home-hero">
<article class="jr-home-hero-main">
<span class="jr-kicker">FSE PUBLIC TICKET PORTAL</span>
<h1>FSE 铁路运输票务系统</h1>
<p class="jr-home-hero-text">
⌈票行千里,智通未来⌋
购票、查询、办卡
</p>
<div class="jr-home-hero-actions">
<a href="https://ticket.fse-media.group/order" data-link="order" class="jr-cta-primary">开始预定</a>
<a href="https://ticket.fse-media.group/search" data-link="search" class="jr-cta-secondary">查询票据</a>
</div>
<div class="jr-home-hero-stats">
<div class="jr-home-stat">
<strong>线上预定</strong>
<span>生成凭证码并在站内兑票</span>
</div>
<div class="jr-home-stat">
<strong>电子票查询</strong>
<span>支持票号、区间和日期检索</span>
</div>
<div class="jr-home-stat">
<strong>线路资源</strong>
<span>查看线路图与票价图</span>
</div>
</div>
</article>
<aside class="jr-home-hero-side">
<div class="jr-home-side-head">
<span class="jr-kicker">SERVICE GUIDE</span>
<h2>乘车流程</h2>
</div>
<ol class="jr-process-list jr-home-process">
<li>在线选择起点、终点、车型和乘次数量</li>
<li>确认票价与路径后生成订单凭证</li>
<li>前往游戏内售票机输入凭证码兑票</li>
</ol>
<div class="jr-home-side-strip">
<div>
<span>支持服务</span>
<strong>订票 / 查询 / 办卡</strong>
</div>
</div>
</aside>
</section>
<section class="jr-home-alert">
<div class="jr-alert-title">
<i class="fas fa-circle-info"></i>
<span>旅客提醒</span>
</div>
<p>线上预定生成的凭证码与IC卡订单号请及时保存;如需补查订单、车票状态或IC卡信息,可在对应查询页继续检索。</p>
</section>
<section class="jr-page-intro">
<span class="jr-kicker">SERVICE ENTRY</span>
<h1>从首页直接进入票务服务</h1>
<p>线上预定 / 车票查询 / 凭证核验 / IC卡</p>
</section>
<section class="jr-home-service-grid">
<a href="https://ticket.fse-media.group/order" data-link="order" class="jr-home-service-card jr-home-service-primary">
<span class="jr-feature-icon"><i class="fas fa-ticket-alt"></i></span>
<span class="jr-feature-copy">
<strong>线上预定</strong>
<span>在线选择区间、车型与乘次,并生成兑票凭证。</span>
</span>
</a>
<a href="https://ticket.fse-media.group/search" data-link="search" class="jr-home-service-card">
<span class="jr-feature-icon"><i class="fas fa-search"></i></span>
<span class="jr-feature-copy">
<strong>车票查询</strong>
<span>输入票号、站点或日期,快速查看票据详情和流转记录。</span>
</span>
</a>
<a href="https://ticket.fse-media.group/search" data-link="search" class="jr-home-service-card">
<span class="jr-feature-icon"><i class="fas fa-receipt"></i></span>
<span class="jr-feature-copy">
<strong>凭证核验</strong>
<span>查询订单凭证状态,确认是否已被使用或仍可兑票。</span>
</span>
</a>
<a href="https://ticket.fse-media.group/ic-card/order" data-link="ic-card-order" class="jr-home-service-card">
<span class="jr-feature-icon"><i class="fas fa-credit-card"></i></span>
<span class="jr-feature-copy">
<strong>线上购卡</strong>
<span>在线填写购卡信息,生成IC卡订单号与领卡卡号。</span>
</span>
</a>
<a href="https://ticket.fse-media.group/ic-card/search" data-link="ic-card-search" class="jr-home-service-card">
<span class="jr-feature-icon"><i class="fas fa-wallet"></i></span>
<span class="jr-feature-copy">
<strong>IC 卡查询</strong>
<span>输入卡号或订单号,查看卡状态、余额与最近记录。</span>
</span>
</a>
<article class="jr-home-mini-card">
<span class="jr-kicker">POPULAR</span>
<h3>常用操作</h3>
<ul class="jr-guide-list">
<li>先订票,再截图保存凭证码。</li>
<li>线上购卡后请同时保存卡号与订单号。</li>
<li>如票据状态不明,优先进入查询页核验。</li>
<li>查看线路资源时可对照票价图与线路图。</li>
</ul>
</article>
</section>
<section class="jr-home-assets">
<article class="jr-panel-card">
<div class="jr-panel-headline">
<h3>票价图</h3>
<span class="jr-panel-note">Fare Map</span>
</div>
<div id="fareMapBox" class="jr-asset-frame">
<div class="text-muted">加载中...</div>
</div>
</article>
<article class="jr-panel-card">
<div class="jr-panel-headline">
<h3>线路图</h3>
<span class="jr-panel-note">Route Map</span>
</div>
<div id="routeMapBox" class="jr-asset-frame">
<div class="text-muted">加载中...</div>
</div>
</article>
</section>
<footer class="site-footer jr-footer-space">
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer">粤ICP备2025450093号</a>
<span class="version">v1.0.12</span>
</footer>
</main>
</div>
<script src="/custom-dialog.js?v=11"></script>
<script src="/public-status.js?v=13"></script>
<script src="/ai-assistant.js?v=6"></script>
<script>
const loadPublicAssets = async () => {
const fareMapBox = document.getElementById('fareMapBox');
const routeMapBox = document.getElementById('routeMapBox');
try {
const v = String(Date.now());
try {
const r2 = await fetch(`/api/public/fares/map/light?t=${encodeURIComponent(v)}`, { cache: 'no-store' });
const svg = await r2.text();
fareMapBox.innerHTML = `<div class="jr-asset-frame">${svg}</div>`;
} catch (e) {
fareMapBox.innerHTML = '<div class="text-muted">票价图加载失败</div>';
}
const r = await fetch('/api/assets/manifest', { cache: 'no-store' });
const m = await r.json();
const mv = (m && m.updatedAt) ? String(m.updatedAt) : v;
if (m && m.routeMap) {
const img = document.createElement('img');
img.alt = '线路图';
img.src = `/assets/${encodeURIComponent(m.routeMap)}?v=${encodeURIComponent(mv)}`;
routeMapBox.innerHTML = '<div class="jr-asset-frame"></div>';
routeMapBox.firstElementChild.appendChild(img);
} else {
routeMapBox.innerHTML = '<div class="text-muted">暂无线路图</div>';
}
} catch (e) {
fareMapBox.innerHTML = '<div class="text-muted">票价图加载失败</div>';
routeMapBox.innerHTML = '<div class="text-muted">线路图加载失败</div>';
}
};
document.addEventListener('DOMContentLoaded', () => {
const isDomain = location.hostname.includes('fse-media.group');
const links = {
home: isDomain ? 'https://ticket.fse-media.group' : '/home.html',
order: isDomain ? 'https://ticket.fse-media.group/order' : '/ticket-order.html',
search: isDomain ? 'https://ticket.fse-media.group/search' : '/ticket-search.html',
'card-search': isDomain ? 'https://ticket.fse-media.group/ic-card/search' : '/ic-card-search.html',
'card-order': isDomain ? 'https://ticket.fse-media.group/ic-card/order' : '/ic-card-order.html'
};
const homeTopLink = document.getElementById('homeTopLink');
const brandLink = document.getElementById('brandLink');
if (homeTopLink) homeTopLink.href = links.home;
if (brandLink) brandLink.href = links.home;
document.querySelectorAll('[data-link]').forEach((el) => {
const key = el.getAttribute('data-link');
if (links[key]) el.href = links[key];
});
loadPublicAssets();
});
</script>
</body>
</html>