feat(site): 隐私政策/服务条款/系统要求页面
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JJ1g8XV1YhhmHRzhwWEW7o
This commit is contained in:
@@ -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);
|
||||
})();
|
||||
@@ -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); }
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user