fix(web): 官网 todo 清单全量修复(联系方式/死链/按钮/导航/下载)

- 联系方式:site.json email 改为真实地址,移除假电话,页脚条件渲染
- 死链:功能页 /download.html → /download/,页脚 href="#" 全部落地或移除
- 按钮指向:价格「购买」→ /register/,「联系销售/演示」→ mailto
- 导航:新增库存管理、审核流直链;模块卡加「了解更多」入口
- iOS 矛盾:首页平台卡标注「TestFlight 内测中」与下载页对齐
- 下载:API 域名抽到 site.json;接口失败时按钮降级为禁用态
- FAQ:试用版/单店版口径统一,明确「注册即试用 30 天」
- 文档:⌘K/Ctrl+K 绑定聚焦搜索框;反馈按钮改为本地 UI,不调不存在的接口
- dist:清理旧 docs.html 残留

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-07 21:13:19 +08:00
parent 46ef7db480
commit c0001f08c2
8 changed files with 68 additions and 65 deletions
+2 -2
View File
@@ -4,9 +4,9 @@
"copyright": "© 2026 岩美科技 · 保留所有权利",
"icp": "沪 ICP 备 2026000000 号 · 沪公网安备 31010000000000 号",
"support": {
"email": "support@yanmei.app",
"phone": "400-880-8888"
"email": "yammy2023@163.com"
},
"appUrl": "/app/",
"appBaseUrl": "https://jiu.51yanmei.com",
"lucideVersion": "0.469.0"
}
+6 -13
View File
@@ -5,8 +5,8 @@
<img src="/assets/logo-full.svg" alt="岩美" />
<p>为酒行与酒店设计的库存、审核、财务一体化管理平台。</p>
<div class="footer-contact">
<div>{{ site.support.email }}</div>
<div>{{ site.support.phone }}</div>
<div><a href="mailto:{{ site.support.email }}">{{ site.support.email }}</a></div>
{% if site.support.phone %}<div>{{ site.support.phone }}</div>{% endif %}
</div>
</div>
<div class="footer-col">
@@ -16,34 +16,27 @@
<li><a href="/#platforms">多端覆盖</a></li>
<li><a href="/#reports">数据洞察</a></li>
<li><a href="/#pricing">价格方案</a></li>
<li><a href="#">版本更新</a></li>
<li><a href="/download/">版本更新</a></li>
</ul>
</div>
<div class="footer-col">
<h5>资源</h5>
<ul>
<li><a href="/docs/">使用手册</a></li>
<li><a href="#">API 文档</a></li>
<li><a href="#">视频教程</a></li>
<li><a href="#">数据导入模板</a></li>
<li><a href="/download/">下载客户端</a></li>
</ul>
</div>
<div class="footer-col">
<h5>客户支持</h5>
<ul>
<li><a href="/#faq">常见问题</a></li>
<li><a href="#">提交工单</a></li>
<li><a href="#">技术支持</a></li>
<li><a href="#">服务等级</a></li>
<li><a href="mailto:{{ site.support.email }}">联系我们</a></li>
</ul>
</div>
<div class="footer-col">
<h5>公司</h5>
<ul>
<li><a href="#">关于岩美</a></li>
<li><a href="#">客户案例</a></li>
<li><a href="#">招贤纳士</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="/register/">注册门店</a></li>
</ul>
</div>
</div>
+4
View File
@@ -5,6 +5,8 @@
</a>
<div class="topnav-links">
<a href="/#modules">产品</a>
<a href="/features/inventory.html">库存</a>
<a href="/features/approval.html">审核流</a>
<a href="/#pricing">价格</a>
<a href="/download/">下载</a>
<a href="/docs/">文档</a>
@@ -19,6 +21,8 @@
</div>
<div class="nav-mobile-menu" id="nav-mobile-menu">
<a href="/#modules">产品</a>
<a href="/features/inventory.html">库存管理</a>
<a href="/features/approval.html">审核流</a>
<a href="/#pricing">价格</a>
<a href="/download/">下载</a>
<a href="/docs/">文档</a>
+8 -2
View File
@@ -147,6 +147,14 @@ pageExtraCss: /assets/docs.css
chapters.forEach(function(ch) { observer.observe(ch); });
}
// ⌘K / Ctrl+K 聚焦搜索框
document.addEventListener('keydown', function(e) {
if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
var inp = document.getElementById('docs-search-input');
if (inp) { e.preventDefault(); inp.focus(); inp.select(); }
}
});
// Simple search: highlight matching text in main content
var searchInput = document.getElementById('docs-search-input');
if (searchInput) {
@@ -178,8 +186,6 @@ pageExtraCss: /assets/docs.css
}
function sendFeedback(val) {
// Fire-and-forget; no user-visible side effect needed
try { fetch('/api/v1/public/feedback', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ helpful: val === 'yes' }) }); } catch(e) {}
var fb = document.querySelector('.docs-feedback');
if (fb) fb.innerHTML = '<span style="color:var(--success-700);font-size:var(--text-md);">感谢您的反馈!</span>';
}
+20 -5
View File
@@ -301,7 +301,7 @@ pageStyle: |
</div>
</div>
<div class="detect-card-actions">
<a href="https://jiu.51yanmei.com/app/" class="btn btn-primary btn-lg" id="detect-btn">
<a href="{{ site.appBaseUrl }}/app/" class="btn btn-primary btn-lg" id="detect-btn">
<i data-lucide="arrow-right" class="icon"></i>
立即使用 Web 版
</a>
@@ -323,7 +323,7 @@ pageStyle: |
<h3 class="dl-card-name">Web 版</h3>
<p class="dl-card-desc">浏览器直接访问,功能完整,无需安装,支持 PC 与平板。</p>
<span class="dl-status available">✓ 已上线</span>
<a href="https://jiu.51yanmei.com/app/" class="dl-card-btn primary">
<a href="{{ site.appBaseUrl }}/app/" class="dl-card-btn primary">
<i data-lucide="arrow-right" class="icon"></i>立即使用
</a>
</div>
@@ -433,8 +433,9 @@ pageStyle: |
<script>
(function() {
var APP_BASE = '{{ site.appBaseUrl }}';
var platforms = {
web: { name: 'Web 版', desc: '浏览器直接访问,功能完整,无需下载安装。', icon: 'globe', btnText: '立即使用 Web 版', btnHref: 'https://jiu.51yanmei.com/app/', available: true },
web: { name: 'Web 版', desc: '浏览器直接访问,功能完整,无需下载安装。', icon: 'globe', btnText: '立即使用 Web 版', btnHref: APP_BASE + '/app/', available: true },
ios: { name: 'iOS', desc: 'iPhone 与 iPad 通用,通过 TestFlight 安装。', icon: 'smartphone', btnText: '敬请期待', available: false },
android: { name: 'Android', desc: '手机与平板通用,APK 直接安装,支持 Android 6.0 及以上。', icon: 'tablet-smartphone', btnText: '下载 Android 版', btnHref: '#', available: true },
windows: { name: 'Windows 桌面', desc: '原生桌面客户端,支持 Win 10/11(64 位),离线模式与本地打印。', icon: 'monitor', btnText: '下载 Windows 版', btnHref: '#', available: true },
@@ -503,7 +504,7 @@ pageStyle: |
updateDetectCard(detected);
highlightPlatformCard(detected);
fetch('https://jiu.51yanmei.com/api/v1/public/release')
fetch('{{ site.appBaseUrl }}/api/v1/public/release')
.then(function(r) { return r.json(); })
.then(function(data) {
if (data && data.version) updateVersionBadges(data.version);
@@ -546,7 +547,21 @@ pageStyle: |
if (detected === 'ios') updateDetectCard(detected);
}
})
.catch(function() {});
.catch(function() {
// API 不可达时,将仍为 href="#" 的下载按钮改为禁用态
['windows-dl-btn', 'macos-dl-btn', 'android-dl-btn'].forEach(function(id) {
var btn = document.getElementById(id);
if (btn && btn.getAttribute('href') === '#') {
btn.className = 'dl-card-btn disabled';
btn.innerHTML = '暂时无法获取下载地址';
}
});
var detectBtn = document.getElementById('detect-btn');
if (detectBtn && detectBtn.getAttribute('href') === '#') {
detectBtn.className = 'btn btn-secondary btn-lg';
detectBtn.innerHTML = '暂时无法连接服务器';
}
});
});
})();
</script>
+10 -18
View File
@@ -976,7 +976,7 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
</p>
<div class="actions">
<a href="#" class="btn btn-primary btn-lg">免费试用 30 天</a>
<a href="/docs.html" class="btn btn-secondary btn-lg">
<a href="/docs/" class="btn btn-secondary btn-lg">
<i data-lucide="book-open" class="icon"></i>查看文档
</a>
</div>
@@ -1554,7 +1554,7 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
<p>30 天免费试用,无需绑定支付方式。所有审批与审计数据可随时导出。</p>
</div>
<div class="cta-strip-actions">
<a href="#" class="btn btn-primary btn-lg">
<a href="/register/" class="btn btn-primary btn-lg">
免费开通试用<i data-lucide="arrow-right" class="icon"></i>
</a>
<a href="/features/inventory.html" class="btn btn-secondary btn-lg">
@@ -1573,8 +1573,7 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
<img src="../assets/logo-full.svg" alt="岩美" />
<p>为酒行与酒店设计的库存、审核、财务一体化管理平台。</p>
<div class="footer-contact">
<div>support@yanmei.app</div>
<div>400-880-8888</div>
<div>yammy2023@163.com</div>
</div>
</div>
<div class="footer-col">
@@ -1584,34 +1583,27 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
<li><a href="/features/inventory.html">库存管理</a></li>
<li><a href="/features/approval.html">审核流</a></li>
<li><a href="/#pricing">价格方案</a></li>
<li><a href="/download.html">下载客户端</a></li>
<li><a href="/download/">下载客户端</a></li>
</ul>
</div>
<div class="footer-col">
<h5>资源</h5>
<ul>
<li><a href="/docs.html">使用手册</a></li>
<li><a href="#">API 文档</a></li>
<li><a href="#">视频教程</a></li>
<li><a href="#">数据导入模板</a></li>
<li><a href="/docs/">使用手册</a></li>
<li><a href="/download/">下载客户端</a></li>
</ul>
</div>
<div class="footer-col">
<h5>客户支持</h5>
<ul>
<li><a href="/#faq">常见问题</a></li>
<li><a href="#">提交工单</a></li>
<li><a href="#">技术支持</a></li>
<li><a href="#">服务等级</a></li>
<li><a href="mailto:yammy2023@163.com">联系我们</a></li>
</ul>
</div>
<div class="footer-col">
<h5>公司</h5>
<ul>
<li><a href="#">关于岩美</a></li>
<li><a href="#">客户案例</a></li>
<li><a href="#">招贤纳士</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="/register/">注册门店</a></li>
</ul>
</div>
</div>
@@ -1674,8 +1666,8 @@ function renderNav() {
'</div>';
} else {
cta.innerHTML =
'<a href="/app/login" class="btn btn-ghost">登录</a>' +
'<a href="/app/register" class="btn btn-primary">免费试用</a>';
'<a href="/app/" class="btn btn-ghost">登录</a>' +
'<a href="/register/" class="btn btn-primary">免费试用</a>';
}
if (window.lucide) lucide.createIcons();
}
+10 -18
View File
@@ -718,7 +718,7 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
</p>
<div class="actions">
<a href="#" class="btn btn-primary btn-lg">免费试用 30 天</a>
<a href="/docs.html" class="btn btn-secondary btn-lg">
<a href="/docs/" class="btn btn-secondary btn-lg">
<i data-lucide="book-open" class="icon"></i>查看文档
</a>
</div>
@@ -1333,7 +1333,7 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
<p>30 天免费试用,无需绑定支付。所有数据云端实时备份,可随时导出。</p>
</div>
<div class="cta-strip-actions">
<a href="#" class="btn btn-primary btn-lg">
<a href="/register/" class="btn btn-primary btn-lg">
免费开通试用<i data-lucide="arrow-right" class="icon"></i>
</a>
<a href="/features/approval.html" class="btn btn-secondary btn-lg">
@@ -1352,8 +1352,7 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
<img src="../assets/logo-full.svg" alt="岩美" />
<p>为酒行与酒店设计的库存、审核、财务一体化管理平台。</p>
<div class="footer-contact">
<div>support@yanmei.app</div>
<div>400-880-8888</div>
<div>yammy2023@163.com</div>
</div>
</div>
<div class="footer-col">
@@ -1363,34 +1362,27 @@ footer { background: var(--gray-25); border-top: 1px solid var(--border-subtle);
<li><a href="/features/inventory.html">库存管理</a></li>
<li><a href="/features/approval.html">审核流</a></li>
<li><a href="/#pricing">价格方案</a></li>
<li><a href="/download.html">下载客户端</a></li>
<li><a href="/download/">下载客户端</a></li>
</ul>
</div>
<div class="footer-col">
<h5>资源</h5>
<ul>
<li><a href="/docs.html">使用手册</a></li>
<li><a href="#">API 文档</a></li>
<li><a href="#">视频教程</a></li>
<li><a href="#">数据导入模板</a></li>
<li><a href="/docs/">使用手册</a></li>
<li><a href="/download/">下载客户端</a></li>
</ul>
</div>
<div class="footer-col">
<h5>客户支持</h5>
<ul>
<li><a href="/#faq">常见问题</a></li>
<li><a href="#">提交工单</a></li>
<li><a href="#">技术支持</a></li>
<li><a href="#">服务等级</a></li>
<li><a href="mailto:yammy2023@163.com">联系我们</a></li>
</ul>
</div>
<div class="footer-col">
<h5>公司</h5>
<ul>
<li><a href="#">关于岩美</a></li>
<li><a href="#">客户案例</a></li>
<li><a href="#">招贤纳士</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="/register/">注册门店</a></li>
</ul>
</div>
</div>
@@ -1453,8 +1445,8 @@ function renderNav() {
'</div>';
} else {
cta.innerHTML =
'<a href="/app/login" class="btn btn-ghost">登录</a>' +
'<a href="/app/register" class="btn btn-primary">免费试用</a>';
'<a href="/app/" class="btn btn-ghost">登录</a>' +
'<a href="/register/" class="btn btn-primary">免费试用</a>';
}
if (window.lucide) lucide.createIcons();
}
+8 -7
View File
@@ -198,7 +198,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
<p class="lead">岩美酒库管理系统,为酒行与酒店设计的库存、审核、财务一体化平台。审核驱动业务流,库存与账款自动同步,五端无缝接入。</p>
<div class="d-flex gap-12 mb-28">
<a href="/register/" class="btn btn-primary btn-lg">免费试用 30 天<i data-lucide="arrow-right" class="icon"></i></a>
<a href="/app/" class="btn btn-secondary btn-lg"><i data-lucide="play-circle" class="icon"></i>观看演示</a>
<a href="/docs/" class="btn btn-secondary btn-lg"><i data-lucide="book-open" class="icon"></i>查看使用手册</a>
</div>
<div class="d-flex items-center gap-18 text-muted fs-sm">
<div class="hero-mini-item d-flex items-center gap-6"><i data-lucide="check" class="icon"></i>无需安装</div>
@@ -312,6 +312,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
<li><i data-lucide="check" class="icon"></i>支持单据打印、商品标签打印</li>
<li><i data-lucide="check" class="icon"></i>批次号追踪,生产日期可追溯</li>
</ul>
<a href="/features/approval.html" class="fs-xs text-brand mt-12 d-inline-block">了解审核流详情 →</a>
</div>
<div class="module-card card p-24 transition">
<div class="icon-box-lg bg-brand-50 text-brand mb-16"><i data-lucide="package-minus" class="icon-md"></i></div>
@@ -322,6 +323,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
<div class="icon-box-lg bg-brand-50 text-brand mb-16"><i data-lucide="package" class="icon-md"></i></div>
<h3 class="fs-xl fw-6 text-brand-900 m-0 mb-6 ls-1">库存管理</h3>
<p class="fs-sm lh-16 text-muted m-0">实时查询每个 SKU 的库存数量、所在仓库、批次。支持全仓盘点与库存流水。</p>
<a href="/features/inventory.html" class="fs-xs text-brand mt-12 d-inline-block">了解更多 →</a>
</div>
<div class="module-card card p-24 transition">
<div class="icon-box-lg bg-brand-50 text-brand mb-16"><i data-lucide="wallet" class="icon-md"></i></div>
@@ -401,7 +403,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
<div class="platform-card card py-24 px-16 text-center transition"><i data-lucide="globe" class="icon-xl text-brand mx-auto mb-12"></i><h4 class="m-0 mb-4 fs-md fw-6 text-brand-900">Web</h4><p class="m-0 fs-xs text-muted">主流浏览器,无需安装</p></div>
<div class="platform-card card py-24 px-16 text-center transition"><i data-lucide="monitor" class="icon-xl text-brand mx-auto mb-12"></i><h4 class="m-0 mb-4 fs-md fw-6 text-brand-900">Windows</h4><p class="m-0 fs-xs text-muted">桌面客户端</p></div>
<div class="platform-card card py-24 px-16 text-center transition"><i data-lucide="laptop" class="icon-xl text-brand mx-auto mb-12"></i><h4 class="m-0 mb-4 fs-md fw-6 text-brand-900">macOS</h4><p class="m-0 fs-xs text-muted">原生应用</p></div>
<div class="platform-card card py-24 px-16 text-center transition"><i data-lucide="smartphone" class="icon-xl text-brand mx-auto mb-12"></i><h4 class="m-0 mb-4 fs-md fw-6 text-brand-900">iOS</h4><p class="m-0 fs-xs text-muted">iPhone / iPad</p></div>
<div class="platform-card card py-24 px-16 text-center transition"><i data-lucide="smartphone" class="icon-xl text-brand mx-auto mb-12"></i><h4 class="m-0 mb-4 fs-md fw-6 text-brand-900">iOS</h4><p class="m-0 fs-xs text-muted">TestFlight 内测中</p></div>
<div class="platform-card card py-24 px-16 text-center transition"><i data-lucide="tablet-smartphone" class="icon-xl text-brand mx-auto mb-12"></i><h4 class="m-0 mb-4 fs-md fw-6 text-brand-900">Android</h4><p class="m-0 fs-xs text-muted">手机 / 平板</p></div>
</div>
<div class="platforms-visual">
@@ -569,7 +571,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
<li class="d-flex items-start gap-8 fs-sm text-gray-7"><i data-lucide="check" class="icon-sm text-brand flex-shrink-0 mt-2"></i>云端每日备份</li>
<li class="d-flex items-start gap-8 fs-sm text-gray-7"><i data-lucide="check" class="icon-sm text-brand flex-shrink-0 mt-2"></i>工作日 9-18 点支持</li>
</ul>
<a href="/app/" class="btn btn-primary w-full justify-center mt-auto">购买</a>
<a href="/register/" class="btn btn-primary w-full justify-center mt-auto">免费试用 30 天</a>
</div>
<div class="price-card custom card d-flex flex-col" style="padding:32px 28px">
<div class="fs-sm text-muted fw-5 mb-4">企业方案</div>
@@ -583,7 +585,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
<li class="d-flex items-start gap-8 fs-sm text-gray-7"><i data-lucide="check" class="icon-sm text-brand flex-shrink-0 mt-2"></i>专属实施与培训服务</li>
<li class="d-flex items-start gap-8 fs-sm text-gray-7"><i data-lucide="check" class="icon-sm text-brand flex-shrink-0 mt-2"></i>7×24 专属客户经理</li>
</ul>
<a href="/app/" class="btn btn-secondary w-full justify-center mt-auto">联系销售</a>
<a href="mailto:{{ site.support.email }}" class="btn btn-secondary w-full justify-center mt-auto">联系销售</a>
</div>
</div>
</div>
@@ -617,7 +619,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
</details>
<details class="card mb-12 overflow-hidden">
<summary class="faq-q">可以试用多长时间?<i data-lucide="plus" class="icon"></i></summary>
<div class="fs-md text-muted lh-17" style="padding:0 24px 22px">标准版提供 30 天免费试用,无需绑定支付方式。试用期可使用全部功能、五端访问。30 天后可继续按月或按年付费,已录入的数据完整保留。</div>
<div class="fs-md text-muted lh-17" style="padding:0 24px 22px">注册后即可免费试用 30 天,全部功能开放、五端可用,无需绑定支付方式。30 天到期后,升级到单店版(¥299/月)即可继续使用,已录入的数据完整保留。</div>
</details>
<details class="card mb-12 overflow-hidden">
<summary class="faq-q">只读账号能做什么?<i data-lucide="plus" class="icon"></i></summary>
@@ -637,8 +639,7 @@ details[open] .faq-q .icon { transform: rotate(45deg); }
</div>
<div class="d-flex flex-col gap-12 items-start">
<a href="/register/" class="btn btn-primary btn-lg">立即开通试用<i data-lucide="arrow-right" class="icon"></i></a>
<a href="/app/" class="btn btn-secondary btn-lg"><i data-lucide="phone" class="icon"></i>预约 1 对 1 演示</a>
<span class="fs-sm" style="color:#99A3B3">销售热线 {{ site.support.phone }} · 工作日 9:00-18:00</span>
<a href="mailto:{{ site.support.email }}?subject=咨询岩美连锁版" class="btn btn-secondary btn-lg"><i data-lucide="mail" class="icon"></i>邮件咨询</a>
</div>
</div>
</div>