diff --git a/src/main/types/db_service.d.ts b/src/main/types/db_service.d.ts index c8e64a76..261f8d7c 100644 --- a/src/main/types/db_service.d.ts +++ b/src/main/types/db_service.d.ts @@ -82,6 +82,7 @@ declare namespace LX { interface MusicInfoOtherSource extends Omit { source_id: string + order: number } } diff --git a/src/main/worker/dbService/migrate.ts b/src/main/worker/dbService/migrate.ts index 150c136c..901d1b6f 100644 --- a/src/main/worker/dbService/migrate.ts +++ b/src/main/worker/dbService/migrate.ts @@ -1,5 +1,5 @@ import type Database from 'better-sqlite3' -import { DB_VERSION } from './tables' +import tables, { DB_VERSION } from './tables' // const migrateV1 = (db: Database.Database) => { // const sql = ` @@ -30,16 +30,9 @@ const migrateV1 = (db: Database.Database) => { // 修复 v2.4.0 的默认数据库版本号不对的问题 const existsTable = db.prepare('SELECT name FROM "main".sqlite_master WHERE type=\'table\' AND name=\'dislike_list\';').get() if (!existsTable) { - const sql = ` - CREATE TABLE "dislike_list" ( - "type" TEXT NOT NULL, - "content" TEXT NOT NULL, - "meta" TEXT - ); - ` + const sql = tables.get('dislike_list') as string db.exec(sql) } - db.prepare('UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name').run({ name: 'version', value: DB_VERSION }) } export default (db: Database.Database) => { @@ -50,6 +43,7 @@ export default (db: Database.Database) => { switch (version) { case '1': migrateV1(db) + db.prepare('UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name').run({ name: 'version', value: DB_VERSION }) break } } diff --git a/src/main/worker/dbService/modules/music_other_source/index.ts b/src/main/worker/dbService/modules/music_other_source/index.ts index 19081246..4878b06b 100644 --- a/src/main/worker/dbService/modules/music_other_source/index.ts +++ b/src/main/worker/dbService/modules/music_other_source/index.ts @@ -24,7 +24,7 @@ const toDBMusicInfo = (id: string, musicInfos: LX.Music.MusicInfo[]): LX.DBServi * @returns 歌词信息 */ export const getMusicInfoOtherSource = (id: string): LX.Music.MusicInfoOnline[] => { - const list = queryMusicInfo(id).map(info => { + const list = queryMusicInfo(id).sort((a, b) => a.order - b.order).map(info => { return { id: info.id, name: info.name, diff --git a/src/main/worker/dbService/tables.ts b/src/main/worker/dbService/tables.ts index 0b71908d..73d55960 100644 --- a/src/main/worker/dbService/tables.ts +++ b/src/main/worker/dbService/tables.ts @@ -101,7 +101,20 @@ // 'table_download_list', // ] -const tables = new Map() +type Tables = 'db_info' +| 'my_list' +| 'my_list_music_info' +| 'index_my_list_music_info' +| 'my_list_music_info_order' +| 'index_my_list_music_info_order' +| 'music_info_other_source' +| 'index_music_info_other_source' +| 'lyric' +| 'music_url' +| 'download_list' +| 'dislike_list' + +const tables = new Map() tables.set('db_info', `