spark-server/website/index.html
DESKTOP-L8OUL9F\gfl0034 cc3085050c Hide developer docs from Spark Messenger marketing site.
Remove the sparkapi /docs CTA from the landing page and block docs/openapi/swagger/architecture paths on the website Nginx vhost.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 15:20:21 +08:00

107 lines
4.4 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Spark Messenger — 即时沟通,火花相连</title>
<meta name="description" content="Spark Messenger 是面向好友、群聊与朋友圈的即时通讯应用。安全、简洁、跨端同步。" />
<link rel="canonical" href="https://sparkmessenger.wyrs365.com/" />
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/assets/styles.css" />
</head>
<body>
<div class="grain" aria-hidden="true"></div>
<header class="top">
<a class="mark" href="/">
<svg class="mark-icon" viewBox="0 0 32 32" aria-hidden="true">
<path d="M16 2.5 19.8 12.2 30 14.5 21.8 20.8 24.5 30 16 24.6 7.5 30 10.2 20.8 2 14.5 12.2 12.2Z" />
</svg>
<span>Spark Messenger</span>
</a>
<nav class="top-nav" aria-label="主导航">
<a href="#features">能力</a>
<a href="#download">下载</a>
</nav>
</header>
<main>
<section class="hero" aria-labelledby="brand">
<div class="hero-copy">
<p class="eyebrow">即时通讯</p>
<h1 id="brand">Spark Messenger</h1>
<p class="lede">把对话、群聊与朋友圈收进同一束火花——安静、可靠、随处可达。</p>
<div class="cta">
<a class="btn btn-primary" href="#download">获取应用</a>
</div>
</div>
<div class="hero-stage" aria-hidden="true">
<div class="orb orb-a"></div>
<div class="orb orb-b"></div>
<div class="device">
<div class="device-bezel">
<div class="chat">
<div class="bubble in rise" style="--d:0.1s">今晚一起走?</div>
<div class="bubble out rise" style="--d:0.35s">好,我这就出发。</div>
<div class="bubble in rise" style="--d:0.6s">路上见。</div>
<div class="typing rise" style="--d:0.9s"><span></span><span></span><span></span></div>
</div>
</div>
</div>
</div>
</section>
<section id="features" class="features" aria-labelledby="features-title">
<div class="features-intro">
<h2 id="features-title">为真实对话而造</h2>
<p>少一层噪音,多一点连接。消息直达,媒体直传,跨设备保持同一条时间线。</p>
</div>
<ul class="feature-rail">
<li>
<h3>一对一与群聊</h3>
<p>长连接实时推送,撤回与删除按会话清晰落地。</p>
</li>
<li>
<h3>朋友圈</h3>
<p>图片与短文按可见范围发布,不挤占会话列表。</p>
</li>
<li>
<h3>媒体直传</h3>
<p>对象存储签名上传,聊天里只留引用,加载更快。</p>
</li>
</ul>
</section>
<section id="download" class="download" aria-labelledby="download-title">
<h2 id="download-title">准备好了就装上</h2>
<p>Android 与 iOS 客户端陆续开放。留下邮箱,我们会在上架时通知你。</p>
<form class="notify" action="#" method="get" onsubmit="return false;">
<label class="sr-only" for="email">邮箱</label>
<input id="email" name="email" type="email" placeholder="you@example.com" autocomplete="email" required />
<button type="submit" class="btn btn-primary">提醒我</button>
</form>
<p class="notify-note" id="notify-note" hidden>已记下。上架时会联系你。</p>
<div class="store-row" aria-label="应用商店">
<span class="store-chip">App Store · 即将推出</span>
<span class="store-chip">Google Play · 即将推出</span>
</div>
</section>
</main>
<footer class="foot">
<p><strong>Spark Messenger</strong> · wyrs365</p>
<p class="foot-links">
<a href="https://sparkmessenger.wyrs365.com/">sparkmessenger.wyrs365.com</a>
<span aria-hidden="true">·</span>
<a href="https://sparkmsg.wyrs365.com/">sparkmsg.wyrs365.com</a>
</p>
</footer>
<script src="/assets/app.js" defer></script>
</body>
</html>