feat(site): 隐私政策/服务条款/系统要求页面

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JJ1g8XV1YhhmHRzhwWEW7o
This commit is contained in:
wangjia
2026-07-03 09:58:30 +08:00
parent d5b11c0943
commit 48d6fc1c25
5 changed files with 327 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
// 法律/信息页左侧目录滚动高亮
(function () {
var toc = document.getElementById('legalToc');
if (!toc) return;
var links = Array.prototype.slice.call(toc.querySelectorAll('a'));
var sections = links
.map(function (a) { return document.getElementById(a.getAttribute('href').slice(1)); })
.filter(Boolean);
if (!sections.length || !window.IntersectionObserver) return;
var active = null;
function setActive(id) {
if (id === active) return;
active = id;
links.forEach(function (a) {
a.classList.toggle('active', a.getAttribute('href') === '#' + id);
});
}
var observer = new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) setActive(e.target.id);
});
}, { rootMargin: '-15% 0px -75% 0px', threshold: 0 });
sections.forEach(function (s) { observer.observe(s); });
setActive(sections[0].id);
})();
+105
View File
@@ -0,0 +1,105 @@
/* =========================================================================
岩美 — 信息/法律页通用样式(隐私政策 / 服务条款 / 系统要求)
单列 prose 布局,复用 color.css 的 token,独立于 app 原型。
========================================================================= */
.legal-hero {
background:
radial-gradient(720px 360px at 82% -10%, rgba(37,99,172,0.07), transparent 60%),
linear-gradient(180deg, var(--gray-50) 0%, var(--gray-0) 100%);
border-bottom: 1px solid var(--border-subtle);
padding: 56px 0 40px;
}
.legal-hero .container { max-width: 860px; }
.legal-breadcrumb {
display: flex; align-items: center; gap: 8px;
font-size: var(--text-sm); color: var(--fg-subtle); margin-bottom: 18px;
}
.legal-breadcrumb a { color: var(--fg-muted); text-decoration: none; }
.legal-breadcrumb a:hover { color: var(--brand-500); }
.legal-breadcrumb .sep { color: var(--gray-300); }
.legal-hero h1 {
font-size: var(--text-4xl); font-weight: var(--weight-bold);
letter-spacing: var(--tracking-cn-display); color: var(--brand-900);
margin: 0 0 12px; line-height: var(--leading-tight);
}
.legal-hero .lead {
font-size: var(--text-lg); color: var(--fg-muted);
line-height: var(--leading-normal); margin: 0;
}
.legal-meta {
display: inline-flex; align-items: center; gap: 8px; margin-top: 18px;
font-size: var(--text-sm); color: var(--fg-subtle);
background: var(--gray-0); border: 1px solid var(--border-default);
border-radius: var(--radius-pill); padding: 6px 14px;
}
.legal-meta .icon { width: 15px; height: 15px; color: var(--brand-500); }
/* prose 主体 */
.legal-body { padding: 48px 0 80px; }
.legal-body .container { max-width: 860px; }
.prose { color: var(--fg-default); font-size: var(--text-lg); line-height: var(--leading-loose); }
.prose > :first-child { margin-top: 0; }
.prose h2 {
font-size: var(--text-2xl); font-weight: var(--weight-semibold);
color: var(--brand-900); letter-spacing: var(--tracking-cn-display);
margin: 44px 0 14px; padding-top: 8px;
scroll-margin-top: 80px;
}
.prose h3 {
font-size: var(--text-xl); font-weight: var(--weight-semibold);
color: var(--gray-900); margin: 28px 0 10px;
}
.prose p { margin: 0 0 16px; color: var(--fg-default); }
.prose a { color: var(--fg-link); text-decoration: none; border-bottom: 1px solid var(--brand-200); }
.prose a:hover { border-bottom-color: var(--brand-500); }
.prose ul, .prose ol { margin: 0 0 16px; padding-left: 24px; }
.prose li { margin: 6px 0; }
.prose strong { font-weight: var(--weight-semibold); color: var(--gray-900); }
.prose code {
font-family: var(--font-mono); font-size: 0.9em;
background: var(--gray-100); padding: 1px 6px; border-radius: var(--radius-sm); color: var(--gray-800);
}
.prose hr { border: none; border-top: 1px solid var(--border-subtle); margin: 36px 0; }
.prose blockquote {
margin: 0 0 16px; padding: 12px 18px; border-left: 3px solid var(--brand-300);
background: var(--brand-50); border-radius: 0 var(--radius-md) var(--radius-md) 0;
color: var(--fg-muted); font-size: var(--text-md);
}
/* 表格(系统要求页大量用到) */
.prose table {
width: 100%; border-collapse: collapse; margin: 0 0 24px;
font-size: var(--text-md); border: 1px solid var(--border-default);
border-radius: var(--radius-lg); overflow: hidden;
}
.prose thead th {
background: var(--gray-50); color: var(--gray-700); font-weight: var(--weight-semibold);
text-align: left; padding: 11px 16px; border-bottom: 1px solid var(--border-default);
}
.prose tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border-subtle); color: var(--fg-default); }
.prose tbody tr:last-child td { border-bottom: none; }
.prose tbody tr:nth-child(even) { background: var(--gray-25); }
/* 章节锚导航(隐私/条款页左侧) */
.legal-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 48px; align-items: start; }
.legal-toc { position: sticky; top: 80px; }
.legal-toc .toc-title {
font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide);
color: var(--fg-subtle); margin-bottom: 12px;
}
.legal-toc a {
display: block; font-size: var(--text-sm); color: var(--fg-muted);
text-decoration: none; padding: 7px 12px; border-radius: var(--radius-md);
border-left: 2px solid transparent; line-height: var(--leading-snug);
}
.legal-toc a:hover { background: var(--gray-50); color: var(--brand-600); }
.legal-toc a.active { color: var(--brand-600); background: var(--brand-50); border-left-color: var(--brand-500); font-weight: var(--weight-medium); }
@media (max-width: 860px) {
.legal-layout { grid-template-columns: 1fr; gap: 0; }
.legal-toc { display: none; }
.legal-hero { padding: 40px 0 30px; }
.legal-hero h1 { font-size: var(--text-3xl); }
.prose { font-size: var(--text-md); }
}
+83
View File
@@ -0,0 +1,83 @@
---
layout: base.njk
title: 隐私政策
description: 岩美酒库管理系统隐私政策,说明我们如何收集、使用、存储与保护您的门店与个人信息。
pageExtraCss: /assets/legal.css
permalink: /privacy/
---
<section class="legal-hero">
<div class="container">
<nav class="legal-breadcrumb">
<a href="/">岩美</a><span class="sep">/</span>
<span>隐私政策</span>
</nav>
<h1>隐私政策</h1>
<p class="lead">岩美科技(以下简称“我们”)尊重并保护所有使用「岩美酒库」服务的门店与用户的隐私。本政策说明我们如何收集、使用、存储和保护您的信息。</p>
<span class="legal-meta"><i data-lucide="calendar" class="icon"></i>最近更新:2026 年 6 月 1 日</span>
</div>
</section>
<section class="legal-body">
<div class="container">
<div class="legal-layout">
<aside class="legal-toc" id="legalToc">
<div class="toc-title">本页目录</div>
<a href="#scope">一、适用范围</a>
<a href="#collect">二、我们收集的信息</a>
<a href="#use">三、信息的使用</a>
<a href="#tenant">四、多租户数据隔离</a>
<a href="#store">五、存储与安全</a>
<a href="#share">六、共享与披露</a>
<a href="#cookie">七、Cookie 与本地存储</a>
<a href="#rights">八、您的权利</a>
<a href="#update">九、政策更新</a>
<a href="#contact">十、联系我们</a>
</aside>
<div class="prose">
<h2 id="scope">一、适用范围</h2>
<p>本政策适用于您通过 Web、Windows、macOS、iOS、Android 等任一端访问和使用「岩美酒库」时所产生的信息处理活动。当您注册门店、登录账号或使用本服务时,即视为您已阅读并同意本政策。</p>
<h2 id="collect">二、我们收集的信息</h2>
<p>为向您提供进销存管理服务,我们仅收集实现功能所必需的信息:</p>
<ul>
<li><strong>门店信息</strong>:门店名称、编号、联系电话、地址等,用于单据抬头与对账。</li>
<li><strong>账号信息</strong>:登录账号、姓名、角色权限,用于身份识别与权限控制。密码以不可逆加密方式存储,我们无法获知您的明文密码。</li>
<li><strong>业务数据</strong>:您录入的商品、库存、入库出库单据、往来单位、财务流水等经营数据。</li>
<li><strong>设备与日志</strong>:访问时间、操作日志、设备型号与系统版本,用于安全审计与故障排查。</li>
</ul>
<p>我们不会主动收集与服务无关的个人敏感信息。</p>
<h2 id="use">三、信息的使用</h2>
<p>我们仅在以下范围内使用所收集的信息:提供并维护进销存核心功能;进行身份验证与权限管理;保障数据安全、排查与修复故障;在您授权时提供技术支持。我们<strong>不会</strong>将您的业务数据用于广告投放,也不会出售给任何第三方。</p>
<h2 id="tenant">四、多租户数据隔离</h2>
<p>「岩美酒库」采用多租户架构,每个门店的数据通过门店标识(shop_id)在数据库层面严格隔离。任何查询均强制绑定您所属门店,<strong>不同门店之间的数据互不可见</strong>。门店标识由登录凭证(JWT)派生,不接受来自请求参数的越权指定。</p>
<h2 id="store">五、存储与安全</h2>
<p>您的数据存储于中国境内的云服务器。我们采取传输加密(HTTPS)、密码加盐哈希、访问审计、最小权限等措施保护数据安全。尽管如此,互联网环境无法保证绝对安全,请您妥善保管登录凭证。</p>
<h2 id="share">六、共享与披露</h2>
<p>除以下情形外,我们不会向第三方共享您的信息:获得您的明确同意;为提供服务而必需的基础设施服务商(如云计算)在保密义务下处理;依据法律法规、司法或行政机关的强制要求。</p>
<h2 id="cookie">七、Cookie 与本地存储</h2>
<p>我们使用本地存储(如浏览器 localStorage)保存登录状态与界面偏好(例如主题选择),以提升您的使用体验。这些信息存储在您的设备本地,您可随时清除。</p>
<h2 id="rights">八、您的权利</h2>
<p>您有权访问、更正、导出或删除您的门店数据。门店管理员可在「系统设置 · 用户管理」中管理成员账号与权限。如需注销门店或删除全部数据,请联系我们协助处理。</p>
<h2 id="update">九、政策更新</h2>
<p>我们可能适时更新本政策。重大变更将通过应用内通知或官网公告告知。更新后的政策自公布之日起生效,继续使用服务即视为接受更新内容。</p>
<h2 id="contact">十、联系我们</h2>
<p>如对本隐私政策有任何疑问、意见或投诉,请通过 <a href="mailto:{{ site.support.email }}">{{ site.support.email }}</a> 与我们联系,我们将在合理期限内回复。</p>
<hr />
<p>另见:<a href="/terms/">服务条款</a> · <a href="/system-requirements/">系统要求</a></p>
</div>
</div>
</div>
</section>
<script src="/assets/legal-toc.js"></script>
+31
View File
@@ -0,0 +1,31 @@
---
layout: base.njk
title: 系统要求
description: 岩美酒库管理系统各平台(Web、Windows、macOS、iOS、Android)的系统要求与推荐配置。
pageExtraCss: /assets/legal.css
permalink: /system-requirements/
---
<section class="legal-hero">
<div class="container">
<nav class="legal-breadcrumb">
<a href="/">岩美</a><span class="sep">/</span>
<a href="/download/">下载</a><span class="sep">/</span>
<span>系统要求</span>
</nav>
<h1>系统要求</h1>
<p class="lead">岩美酒库支持五端接入。下表列出各平台运行所需的最低与推荐配置,购买或下载前请先确认设备满足要求。</p>
<span class="legal-meta"><i data-lucide="info" class="icon"></i>当前客户端版本 v{{ changelog[0].version }}</span>
</div>
</section>
<section class="legal-body">
<div class="container">
<div class="prose">
{{ sysreq | safe }}
<hr />
<p>如对兼容性有疑问,欢迎通过 <a href="mailto:{{ site.support.email }}">{{ site.support.email }}</a> 联系我们,或前往 <a href="/download/">下载页</a> 获取对应平台的安装包。</p>
</div>
</div>
</section>
+80
View File
@@ -0,0 +1,80 @@
---
layout: base.njk
title: 服务条款
description: 岩美酒库管理系统服务条款,约定您与岩美科技之间使用本服务的权利与义务。
pageExtraCss: /assets/legal.css
permalink: /terms/
---
<section class="legal-hero">
<div class="container">
<nav class="legal-breadcrumb">
<a href="/">岩美</a><span class="sep">/</span>
<span>服务条款</span>
</nav>
<h1>服务条款</h1>
<p class="lead">本条款是您(门店及其用户)与岩美科技之间就使用「岩美酒库」服务所达成的协议。请在注册或使用前仔细阅读。</p>
<span class="legal-meta"><i data-lucide="calendar" class="icon"></i>最近更新:2026 年 6 月 1 日</span>
</div>
</section>
<section class="legal-body">
<div class="container">
<div class="legal-layout">
<aside class="legal-toc" id="legalToc">
<div class="toc-title">本页目录</div>
<a href="#accept">一、协议的接受</a>
<a href="#service">二、服务说明</a>
<a href="#account">三、账号与门店</a>
<a href="#license">四、授权与兑换券</a>
<a href="#conduct">五、使用规范</a>
<a href="#data">六、数据与内容</a>
<a href="#availability">七、可用性与变更</a>
<a href="#liability">八、免责与责任限制</a>
<a href="#terminate">九、协议终止</a>
<a href="#law">十、适用法律</a>
<a href="#contact">十一、联系我们</a>
</aside>
<div class="prose">
<h2 id="accept">一、协议的接受</h2>
<p>当您注册门店、登录账号或以任何方式使用「岩美酒库」时,即表示您已阅读、理解并同意受本条款约束。若您代表门店接受本条款,则您声明已获得该门店的充分授权。</p>
<h2 id="service">二、服务说明</h2>
<p>「岩美酒库」是一款面向酒水批发零售门店的进销存管理软件,提供入库、出库、库存、盘点、往来对账、财务、商品档案等功能,支持 Web 及多端客户端接入。我们有权根据产品演进对功能进行调整、新增或下线。</p>
<h2 id="account">三、账号与门店</h2>
<p>门店首位注册用户默认成为管理员,负责管理成员账号与权限。您应对账号下的所有操作负责,并妥善保管登录凭证。如发现账号被未授权使用,应立即修改密码并通知我们。系统提供管理员、普通、只读三类角色,只读账号的所有写操作将被拒绝。</p>
<h2 id="license">四、授权与兑换券</h2>
<p>本服务以<strong>时长兑换券</strong>方式授权,而非自动续费订阅。您可购买不同时长的兑换券,输入短码即可叠加续期、到期日顺延。授权到期后,写操作可能受限,但您的历史数据将予以保留。兑换券一经激活不可转让,具体购买与开票事宜以下单时的约定为准。</p>
<h2 id="conduct">五、使用规范</h2>
<p>您承诺合法合规地使用本服务,不得利用本服务从事任何违法活动,不得侵入、干扰或破坏服务的正常运行,不得未经授权访问其他门店的数据,不得对软件进行反向工程、破解或恶意分发。</p>
<h2 id="data">六、数据与内容</h2>
<p>您在使用过程中录入的商品、库存、单据、财务等业务数据归您所属门店所有。我们仅在为您提供服务的必要范围内处理这些数据,详见<a href="/privacy/">隐私政策</a>。您应对所录入数据的真实性、合法性负责。</p>
<h2 id="availability">七、可用性与变更</h2>
<p>我们努力保障服务的持续可用,但不承诺服务永不中断。因系统维护、升级、不可抗力或第三方基础设施故障导致的服务暂停,我们将尽力提前通知并缩短影响时间。</p>
<h2 id="liability">八、免责与责任限制</h2>
<p>本服务按“现状”提供。在法律允许的最大范围内,对于因使用或无法使用本服务造成的间接、偶发或后果性损失,我们不承担责任。我们的累计赔偿责任不超过您就相应服务期间已支付的费用。</p>
<h2 id="terminate">九、协议终止</h2>
<p>您可随时停止使用本服务。若您严重违反本条款,我们有权暂停或终止向您提供服务。协议终止后,您仍可在合理期限内联系我们导出数据。</p>
<h2 id="law">十、适用法律</h2>
<p>本条款的订立、执行与解释均适用中华人民共和国法律。因本条款引起的争议,双方应友好协商;协商不成的,提交岩美科技所在地有管辖权的人民法院诉讼解决。</p>
<h2 id="contact">十一、联系我们</h2>
<p>如对本条款有任何疑问,请通过 <a href="mailto:{{ site.support.email }}">{{ site.support.email }}</a> 与我们联系。</p>
<hr />
<p>另见:<a href="/privacy/">隐私政策</a> · <a href="/system-requirements/">系统要求</a></p>
</div>
</div>
</div>
</section>
<script src="/assets/legal-toc.js"></script>