diff --git a/src/renderer/store/modules/player.ts b/src/renderer/store/modules/player.ts index 31b0385..9e64cfc 100644 --- a/src/renderer/store/modules/player.ts +++ b/src/renderer/store/modules/player.ts @@ -153,7 +153,15 @@ const getSongDetail = async (playMusic: SongResult) => { return { ...playMusic, backgroundColor, primaryColor } as SongResult; } + if (playMusic.expiredAt && playMusic.expiredAt < Date.now()) { + console.info(`歌曲已过期,重新获取: ${playMusic.name}`); + playMusic.playMusicUrl = undefined; + } + const playMusicUrl = playMusic.playMusicUrl || (await getSongUrl(playMusic.id, playMusic)); + playMusic.createdAt = Date.now(); + // 半小时后过期 + playMusic.expiredAt = playMusic.createdAt + 1800000; const { backgroundColor, primaryColor } = playMusic.backgroundColor && playMusic.primaryColor ? playMusic diff --git a/src/renderer/type/music.ts b/src/renderer/type/music.ts index 8b37717..c0cd037 100644 --- a/src/renderer/type/music.ts +++ b/src/renderer/type/music.ts @@ -38,6 +38,10 @@ export interface SongResult { cid: number; }; source?: 'netease' | 'bilibili'; + // 过期时间 + expiredAt?: number; + // 获取时间 + createdAt?: number; } export interface Song {