diff --git a/package.json b/package.json index bf6b81e..2c92294 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "repository": "github:qier222/YesPlayMusic", "main": "dist/main/index.js", "scripts": { - "install": "node scripts/build.sqlite3.mjs", + "install": "node scripts/build.sqlite3.mjs --x64", "dev": "concurrently -n=vite,main -c=#646cff,#74b1be \"npm run dev:renderer\" \"node scripts/build.main.mjs --watch\"", "dev:renderer": "vite dev", "build:main": "node scripts/build.main.mjs", diff --git a/scripts/build.sqlite3.mjs b/scripts/build.sqlite3.mjs index aa8f423..bb67243 100644 --- a/scripts/build.sqlite3.mjs +++ b/scripts/build.sqlite3.mjs @@ -23,6 +23,12 @@ const build = async arch => { './node_modules/better-sqlite3/build/Release/better_sqlite3.node', `./dist/main/better_sqlite3_${arch}.node` ) + if (process.platform === 'win32') { + fs.copyFileSync( + './node_modules/better-sqlite3/build/Release/sqlite3.dll', + './dist/main/sqlite3.dll' + ) + } }) .catch(e => { console.error(pc.red('Rebuild failed!')) diff --git a/src/main/utils.ts b/src/main/utils.ts index ecd9238..fb7391a 100644 --- a/src/main/utils.ts +++ b/src/main/utils.ts @@ -1,4 +1,5 @@ import fs from 'fs' +import path from 'path' export const createDirIfNotExist = (dir: string) => { if (!fs.existsSync(dir)) { @@ -7,7 +8,7 @@ export const createDirIfNotExist = (dir: string) => { } export const createFileIfNotExist = (file: string) => { - createDirIfNotExist(file.split('/').slice(0, -1).join('/')) + createDirIfNotExist(path.dirname(file)) if (!fs.existsSync(file)) { fs.writeFileSync(file, '') } diff --git a/src/renderer/utils/player.ts b/src/renderer/utils/player.ts index 2801691..1ce4ce7 100644 --- a/src/renderer/utils/player.ts +++ b/src/renderer/utils/player.ts @@ -171,7 +171,7 @@ export class Player { */ private async _fetchTrack(trackID: TrackID) { const response = await fetchTracksWithReactQuery({ ids: [trackID] }) - return response?.songs.length ? response.songs[0] : null + return response?.songs?.length ? response.songs[0] : null } /** @@ -211,6 +211,7 @@ export class Player { const { audio, id } = await this._fetchAudioSource(this.trackID) if (!audio) { toast('无法播放此歌曲') + this.nextTrack() return } if (this.trackID !== id) return @@ -269,11 +270,11 @@ export class Player { } } - if (this.fmTrackList.length === 0) await loadMoreTracks() this.fmTrackList.shift() + if (this.fmTrackList.length === 0) await loadMoreTracks() this._playTrack() - this.fmTrackList.length === 0 ? await loadMoreTracks() : loadMoreTracks() + this.fmTrackList.length <= 1 ? await loadMoreTracks() : loadMoreTracks() prefetchNextTrack() }