fix: songs cannot be played for users who are not logged in

This commit is contained in:
qier222 2021-01-15 12:27:10 +08:00
parent 01e5dbe652
commit f3c8576bd4

View File

@ -7,6 +7,7 @@ import { getAlbum } from "@/api/album";
import { getPlaylistDetail } from "@/api/playlist"; import { getPlaylistDetail } from "@/api/playlist";
import { getArtist } from "@/api/artist"; import { getArtist } from "@/api/artist";
import store from "@/store"; import store from "@/store";
import { isAccountLoggedIn } from "@/utils/auth";
const electron = const electron =
process.env.IS_ELECTRON === true ? window.require("electron") : null; process.env.IS_ELECTRON === true ? window.require("electron") : null;
@ -163,15 +164,22 @@ export default class {
}); });
} }
_getAudioSourceFromNetease(track) { _getAudioSourceFromNetease(track) {
return getMP3(track.id).then((data) => { if (isAccountLoggedIn()) {
if (!data.data[0]) return null; return getMP3(track.id).then((result) => {
if (data.data[0].freeTrialInfo !== null) return null; // 跳过只能试听的歌曲 if (!result.data[0]) return null;
const source = data.data[0].url.replace(/^http:/, "https:"); if (!result.data[0].url) return null;
if (result.data[0].freeTrialInfo !== null) return null; // 跳过只能试听的歌曲
const source = result.data[0].url.replace(/^http:/, "https:");
if (store.state.settings.automaticallyCacheSongs) { if (store.state.settings.automaticallyCacheSongs) {
cacheTrack(track.id, source); cacheTrack(track.id, source);
} }
return source; return source;
}); });
} else {
return new Promise((resolve) => {
resolve(`https://music.163.com/song/media/outer/url?id=${track.id}`);
});
}
} }
_getAudioSourceFromUnblockMusic(track) { _getAudioSourceFromUnblockMusic(track) {
if (process.env.IS_ELECTRON !== true) return null; if (process.env.IS_ELECTRON !== true) return null;