spark-server/website/index.html
DESKTOP-L8OUL9F\gfl0034 f941bf4454 feat(web): 补齐官网协议页,并按包名控制会员价格下发
商店审核需要独立的隐私、用户协议和注销页;运营后台也要按应用包名启用或停用价格。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 21:32:53 +08:00

115 lines
4.9 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.ico?v=20260924-flames" sizes="any" />
<link rel="icon" href="/assets/favicon-32.png?v=20260924-flames" type="image/png" sizes="32x32" />
<link rel="apple-touch-icon" href="/assets/apple-touch-icon.png?v=20260924-flames" />
<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="/">
<img class="mark-icon" src="/assets/logo.png?v=20260924-flames" width="32" height="32" alt="" />
<span>Spark Messenger</span>
</a>
<nav class="top-nav" aria-label="主导航">
<a href="#features">能力</a>
<a href="#download">下载</a>
<a href="/privacy">隐私协议</a>
<a href="/terms">用户协议</a>
<a href="/delete">注销</a>
<a href="/about">关于</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>
<span aria-hidden="true">·</span>
<a href="/privacy">隐私政策</a>
<span aria-hidden="true">·</span>
<a href="/terms">用户协议</a>
</p>
</footer>
<script src="/assets/app.js" defer></script>
</body>
</html>