diff --git a/src/views/Settings.vue b/src/views/Settings.vue index aab862e..bca8356 100644 --- a/src/views/Settings.vue +++ b/src/views/Settings.vue @@ -1,5 +1,5 @@ @@ -249,6 +289,38 @@ async function handleCheckUpdate() { } } +const fetchingChangelog = ref(false); +const changelogRelease = ref(null); +const showChangelogModal = ref(false); + +async function fetchChangelog() { + fetchingChangelog.value = true; + try { + const resp = await fetch('https://api.github.com/repos/atdunbg/Nekosonic-Music/releases?per_page=1'); + if (!resp.ok) throw new Error(`HTTP ${resp.status}`); + const releases = await resp.json(); + if (releases && releases.length > 0) { + changelogRelease.value = releases[0]; + showChangelogModal.value = true; + } else { + showToast('暂无发布版本', 'info'); + } + } catch (e: any) { + showToast(`获取失败: ${e}`, 'error'); + } finally { + fetchingChangelog.value = false; + } +} + +function formatDate(dateStr: string) { + try { + const d = new Date(dateStr); + return d.toLocaleDateString('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' }); + } catch { + return dateStr; + } +} + const recordingId = ref(null); function formatShortcut(key: string): string {