优化代码逻辑

pull/1686/head
lyswhut 2023-10-03 15:10:48 +08:00
parent ac7daa70f7
commit d7816729d0
4 changed files with 19 additions and 11 deletions

View File

@ -82,6 +82,7 @@ declare namespace LX {
interface MusicInfoOtherSource extends Omit<MusicInfoOnline, 'listId'> { interface MusicInfoOtherSource extends Omit<MusicInfoOnline, 'listId'> {
source_id: string source_id: string
order: number
} }
} }

View File

@ -1,5 +1,5 @@
import type Database from 'better-sqlite3' import type Database from 'better-sqlite3'
import { DB_VERSION } from './tables' import tables, { DB_VERSION } from './tables'
// const migrateV1 = (db: Database.Database) => { // const migrateV1 = (db: Database.Database) => {
// const sql = ` // const sql = `
@ -30,16 +30,9 @@ const migrateV1 = (db: Database.Database) => {
// 修复 v2.4.0 的默认数据库版本号不对的问题 // 修复 v2.4.0 的默认数据库版本号不对的问题
const existsTable = db.prepare('SELECT name FROM "main".sqlite_master WHERE type=\'table\' AND name=\'dislike_list\';').get() const existsTable = db.prepare('SELECT name FROM "main".sqlite_master WHERE type=\'table\' AND name=\'dislike_list\';').get()
if (!existsTable) { if (!existsTable) {
const sql = ` const sql = tables.get('dislike_list') as string
CREATE TABLE "dislike_list" (
"type" TEXT NOT NULL,
"content" TEXT NOT NULL,
"meta" TEXT
);
`
db.exec(sql) 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) => { export default (db: Database.Database) => {
@ -50,6 +43,7 @@ export default (db: Database.Database) => {
switch (version) { switch (version) {
case '1': case '1':
migrateV1(db) migrateV1(db)
db.prepare('UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name').run({ name: 'version', value: DB_VERSION })
break break
} }
} }

View File

@ -24,7 +24,7 @@ const toDBMusicInfo = (id: string, musicInfos: LX.Music.MusicInfo[]): LX.DBServi
* @returns * @returns
*/ */
export const getMusicInfoOtherSource = (id: string): LX.Music.MusicInfoOnline[] => { 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 { return {
id: info.id, id: info.id,
name: info.name, name: info.name,

View File

@ -101,7 +101,20 @@
// 'table_download_list', // 'table_download_list',
// ] // ]
const tables = new Map<string, string>() 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, string>()
tables.set('db_info', ` tables.set('db_info', `