Skip to content

Commit 8cad931

Browse files
committed
feat: 简化测试版判断逻辑,优化版本过滤处理
1 parent 32052ef commit 8cad931

1 file changed

Lines changed: 13 additions & 32 deletions

File tree

main.js

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -83,18 +83,8 @@ document.addEventListener("DOMContentLoaded", function () {
8383

8484
// 判断是否为测试版(基于版本号和prerelease标志)
8585
function isBetaRelease(release, isBetaRepo) {
86-
// 先检查版本号
87-
const versionMatch = release.tag_name.match(/(\d+)\.(\d+)\.(\d+)/);
88-
if (versionMatch) {
89-
const [, major, minor, patch] = versionMatch.map(Number);
90-
// 版本 >= 1.7.18.0:根据 prerelease 标志判断
91-
if ((major > 1) || (major === 1 && minor > 7) || (major === 1 && minor === 7 && patch >= 18)) {
92-
return release.prerelease; // prerelease = true 为测试版,false 为正式版
93-
}
94-
}
95-
96-
// 版本 < 1.7.18.0:根据仓库判断
97-
return isBetaRepo;
86+
// 忽略测试版仓库,所有正式版仓库里的Release属于正式版,Pre-Release属于测试版
87+
return release.prerelease;
9888
}
9989

10090
// 测试智教下载源的可用性
@@ -232,7 +222,11 @@ document.addEventListener("DOMContentLoaded", function () {
232222
}
233223

234224
const r = currentReleases[idx];
235-
const assetsHtml = r.assets
225+
console.log('rendering release:', r.tag_name, 'isBeta:', r._isBeta);
226+
console.log('assets:', r.assets.map(a => a.name));
227+
const filteredAssets = r.assets.filter(a => !a.name.endsWith('.sigstore.json'));
228+
console.log('filtered assets:', filteredAssets.map(a => a.name));
229+
const assetsHtml = filteredAssets
236230
.map(a => {
237231
// 提取原始下载URL的版本号,如果失败则使用 tag_name
238232
const version = extractVersionFromUrl(a.browser_download_url) || r.tag_name;
@@ -453,27 +447,14 @@ document.addEventListener("DOMContentLoaded", function () {
453447
? `<span class="material-symbols-outlined">verified</span><span>显示正式版</span>`
454448
: `<span class="material-symbols-outlined">science</span><span>显示测试版</span>`;
455449

456-
if (showingBeta && releasesBeta.length === 0) {
457-
updateLoadingText("正在获取 Beta 版本...");
458-
const betaUrls = buildApiUrls(`${GITHUB_REPO_COMMUNITY_BETA}/releases`);
459-
releasesBeta = await fetchDataWithMirrors(betaUrls, "Beta 版本获取失败") || [];
450+
if (showingBeta) {
451+
// 显示测试版
452+
currentReleases = releasesOfficial.filter(r => r.prerelease).map(r => ({...r, _isBeta: true})).sort((a, b) => new Date(b.published_at) - new Date(a.published_at));
453+
} else {
454+
// 显示正式版
455+
currentReleases = releasesOfficial.filter(r => !r.prerelease).map(r => ({...r, _isBeta: false}));
460456
}
461457

462-
// 为发行版设置 _isBeta 标志(基于发布日期分界)
463-
const allReleases = [
464-
...releasesOfficial.map(r => ({
465-
...r,
466-
_isBeta: isBetaRelease(r, false)
467-
})),
468-
...releasesBeta.map(r => ({
469-
...r,
470-
_isBeta: isBetaRelease(r, true)
471-
}))
472-
];
473-
const sortedReleases = allReleases.sort((a, b) => new Date(b.published_at) - new Date(a.published_at));
474-
475-
currentReleases = showingBeta ? sortedReleases : allReleases.filter(r => !r._isBeta);
476-
477458
currentIndex = 0;
478459
elements.releaseLoading.style.display = 'none';
479460
elements.releaseList.style.display = 'block';

0 commit comments

Comments
 (0)