feat(deploy): 新增 Windows 桌面客户端构建与发布支持

CI 拆成三个 job(mac 构建 Linux/Web、windows 构建 Windows 桌面、mac 发布部署);新增 compile-windows.sh 用 Flutter 构建并打包为 jiu-windows-x64.zip;release.sh 自动写入 Windows 下载 URL 到 version.yaml 并上传 zip。下载页 Windows 卡片从"敬请期待"改为真实下载按钮,URL 由 API 动态填充。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-05-26 18:29:17 +08:00
parent eda7d37b64
commit 51863dcbd3
5 changed files with 128 additions and 18 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
| 浏览器 | Chrome 90 / Firefox 90 / Safari 15 / Edge 90 | 最新稳定版 |
| 网络 | 任意宽带 | 10 Mbps+ |
## Windows敬请期待
## Windows已支持
| 要求 | 版本 |
|---|---|
+20 -11
View File
@@ -258,7 +258,7 @@ pageStyle: |
</div>
<h1 class="ph-title">随时随地,<br/>轻松管理酒库。</h1>
<p class="ph-lead">
Web 版已正式上线,浏览器直接访问,无需安装。Windows、macOS、iOS、Android 客户端即将推出。
Web 版与 Windows 桌面版已正式上线,macOS、iOS、Android 客户端即将推出。
</p>
<div class="ph-meta">
<div class="ph-meta-item">
@@ -271,7 +271,7 @@ pageStyle: |
</div>
<div class="ph-meta-item">
<div class="ph-meta-label">可用平台</div>
<div class="ph-meta-val">Web 浏览器</div>
<div class="ph-meta-val">Web / Windows</div>
</div>
</div>
</div>
@@ -308,7 +308,7 @@ pageStyle: |
<section class="section">
<div class="container">
<h2 class="fs-3xl fw-6 text-brand-900 m-0 mb-6" style="letter-spacing: var(--tracking-cn-display);">支持的平台</h2>
<p class="fs-md text-muted m-0 mb-8">Web 版现已可用,其余平台正在开发中。</p>
<p class="fs-md text-muted m-0 mb-8">Web 版与 Windows 桌面版现已可用,其余平台正在开发中。</p>
<div class="dl-grid" id="platform-grid">
<!-- Web -->
@@ -323,14 +323,14 @@ pageStyle: |
</div>
<!-- Windows -->
<div class="dl-card coming-soon" data-platform="windows">
<div class="dl-card" data-platform="windows">
<div class="dl-card-icon"><i data-lucide="monitor" class="icon"></i></div>
<h3 class="dl-card-name">Windows</h3>
<p class="dl-card-desc">原生桌面客户端,支持离线模式与本地打印。</p>
<span class="dl-status soon">敬请期待</span>
<span class="dl-card-btn disabled">
<i data-lucide="clock" class="icon"></i>即将推出
</span>
<p class="dl-card-desc">原生桌面客户端,支持 Win 10/1164 位),离线模式与本地打印。</p>
<span class="dl-status available">✓ 已支持</span>
<a href="#" class="dl-card-btn primary" id="windows-dl-btn">
<i data-lucide="download" class="icon"></i>下载 Windows 版
</a>
</div>
<!-- macOS -->
@@ -431,7 +431,7 @@ pageStyle: |
web: { name: 'Web 版', desc: '浏览器直接访问,功能完整,无需下载安装。', icon: 'globe', btnText: '立即使用 Web 版', btnHref: 'https://jiu.51yanmei.com/app/', available: true },
ios: { name: 'iOS', desc: 'iOS 客户端正在开发中,敬请期待。', icon: 'smartphone', btnText: '敬请期待', available: false },
android: { name: 'Android', desc: 'Android 客户端正在开发中,敬请期待。', icon: 'tablet-smartphone', btnText: '敬请期待', available: false },
windows: { name: 'Windows 桌面', desc: 'Windows 客户端正在开发中,敬请期待。', icon: 'monitor', btnText: '敬请期待', available: false },
windows: { name: 'Windows 桌面', desc: '原生桌面客户端,支持 Win 10/11(64 位),离线模式与本地打印。', icon: 'monitor', btnText: '下载 Windows 版', btnHref: '#', available: true },
macos: { name: 'macOS 桌面', desc: 'macOS 客户端正在开发中,敬请期待。', icon: 'laptop', btnText: '敬请期待', available: false }
};
@@ -499,7 +499,16 @@ pageStyle: |
fetch('https://jiu.51yanmei.com/api/v1/public/release')
.then(function(r) { return r.json(); })
.then(function(data) { if (data && data.version) updateVersionBadges(data.version); })
.then(function(data) {
if (data && data.version) updateVersionBadges(data.version);
if (data && data.download_urls && data.download_urls.windows) {
platforms.windows.btnHref = data.download_urls.windows;
var btn = document.getElementById('windows-dl-btn');
if (btn) btn.href = data.download_urls.windows;
// 若用户在 Windows 上,同步更新自动识别卡片
if (detected === 'windows') updateDetectCard(detected);
}
})
.catch(function() {});
});
})();