diff --git a/apps/music/frontend/src/views/PlayerView.vue b/apps/music/frontend/src/views/PlayerView.vue index 4b95d2d..4929769 100644 --- a/apps/music/frontend/src/views/PlayerView.vue +++ b/apps/music/frontend/src/views/PlayerView.vue @@ -587,6 +587,8 @@ async function runInspire() { } // chord —— 单 mode(只抓 yopu 默认数字级数版) +// 'chord' 是内部 state key / tab 名;发给后端 API 的 mode 必须是 'functional'(数字级数版) +const CHORD_API_MODE = 'functional' const chordStates = ref({ chord: 'idle' }) const chordErrors = ref({ chord: '' }) const chordPollTimers = { chord: null } @@ -989,7 +991,7 @@ async function startChordFetch(mode) { chordStates.value = { ...chordStates.value, [mode]: 'pending' } chordErrors.value = { ...chordErrors.value, [mode]: '' } try { - const r = await chordFetch(selectedId.value, mode) + const r = await chordFetch(selectedId.value, CHORD_API_MODE) if (r.status === 'completed') { await reloadPiece() chordStates.value = { ...chordStates.value, [mode]: 'completed' } @@ -1014,7 +1016,7 @@ async function pollChord(mode) { return } try { - const r = await chordStatus(selectedId.value, mode) + const r = await chordStatus(selectedId.value, CHORD_API_MODE) chordStates.value = { ...chordStates.value, [mode]: r.status || 'pending' } chordErrors.value = { ...chordErrors.value, [mode]: r.error || '' } if (r.status === 'completed') { diff --git a/apps/music/src/main.rs b/apps/music/src/main.rs index f61cf00..83c2636 100644 --- a/apps/music/src/main.rs +++ b/apps/music/src/main.rs @@ -1397,7 +1397,8 @@ struct ChordModeQuery { fn chord_mode_to_role(mode: &str) -> &'static str { match mode { "letters" => "chord_letters", - _ => "chord_functional", + // 单 mode 简化后,数字级数版统一用 role 'chord',与手动上传 + 前端展示一致 + _ => "chord", } }