File tree 4 files changed +19
-53
lines changed
src/main/worker/dbService
4 files changed +19
-53
lines changed Original file line number Diff line number Diff line change 1
1
目前本项目的原始发布地址只有 ** GitHub** 及 ** 蓝奏网盘** ,其他渠道均为第三方转载发布,可信度请自行鉴别。
2
2
本项目无微信公众号之类的官方账号,谨防被骗。
3
3
4
- ### 不兼容性变更
5
-
6
- 该版本修改了同步协议逻辑,同步功能至少需要PC端v2.4.0或移动端v1.1.0版本或同步服务v2.0.0才能连接使用。
7
-
8
- ### 新增
9
-
10
- - 新增我的列表名右键菜单-排序歌曲-随机乱序功能,使用它可以对选中列表内歌曲进行随机重排(#1440 )
11
- - 新增数据同步服务端模式已认证设备列表管理,该功能位置:设置-数据同步-服务端模式-已认证设备列表
12
- - 新增“不喜欢歌曲”功能,可以在我的列表或者在线列表内歌曲的右击菜单使用,还可以去“设置-其他”手动编辑不喜欢规则,注:“上一曲”、“下一曲”功能将跳过符合“不喜欢歌曲”规则的歌曲,但你仍可以手动播放这些歌曲
13
- - 新增同步功能对“不喜欢歌曲”列表的同步
14
- - 新增软件内快捷键“不喜欢该歌曲”设置,全局快捷键“收藏歌曲”、“取消收藏”、“不喜欢该歌曲”设置
15
- - 新增设置-播放设置-点击相同列表内的歌曲切歌时是否清空已播放列表(随机模式下列表内所有歌曲会重新参与随机)选项,默认关闭
16
-
17
- ### 优化
18
-
19
- - 优化音效设置-环境音效启用、禁用时的操作效果显示,修复禁用环境音效时仍然可以调整增益、新增预设的问题
20
- - 过滤翻译歌词或罗马音歌词中只有“//”的行(#1499 )
21
- - 点击打开歌单弹窗背景将不再自动关闭弹窗,防止选择输入框里的内容时意外关闭弹窗
22
- - 优化数据传输逻辑,列表同步指令使用队列机制,保证列表同步操作的顺序
23
- - 优化桌面歌词在开启 缩放当前播放的歌词 并关闭 延迟歌词滚动 时的歌词滚动位置计算问题,现在歌词滚动应该可以正确滚动到目标位置了
24
- - 优化歌词在短时间内快速播放时的滚动效果,现在遇到这种情况时滚动将更平滑
25
-
26
4
### 修复
27
5
28
- - 修复字体设置某些字体无法应用的问题
29
- - 修复搜索提示功能失效的问题(#1452 , @Folltoshe )
30
- - 修复我的列表名右键菜单-排序歌曲按专辑名排序无效的问题(#1440 )
31
- - 修复若路径存在 # 字符时,软件无法启动的问题
32
- - 修复搜索框在某些情况下输入内容后搜索时会自动清空的问题(#1472 )
33
- - 修复某些tx源歌词因数据异常解析失败的问题
34
- - 修复windows平台下隐藏窗口后再显示时任务栏按钮丢失的问题
35
- - 修复首句歌词被提前播放的问题
36
- - 修复潜在导致列表数据不同步的问题
37
- - 修复kg无评论时的加载处理问题
38
-
39
- ### 变更
40
-
41
- - 播放模式应该只适用于列表内的歌曲,所以单曲循环模式不应对“稍后播放”的歌曲有效,该行为现在与移动端一致
42
- - 随机模式下,通过点击与播放列表相同的列表切歌时,将不再清空已播放列表,即已播放的歌曲不再重新参与随机,若想恢复之前的行为可以去设置-播放设置启用清空已播放列表选项
43
-
44
- ### 其他
45
-
46
- - 更新 electron 到 v22.3.23
47
- - 重构同步服务端功能部分代码,使其更易扩展新功能
6
+ - 修复 v2.4.0 的默认数据库版本号不对导致无法启动问题
Original file line number Diff line number Diff line change 1
1
import Database from 'better-sqlite3'
2
2
import path from 'path'
3
- import tables from './tables'
3
+ import tables , { DB_VERSION } from './tables'
4
4
import verifyDB from './verifyDB'
5
5
import migrateData from './migrate'
6
6
@@ -10,7 +10,7 @@ let db: Database.Database
10
10
const initTables = ( db : Database . Database ) => {
11
11
db . exec ( `
12
12
${ Array . from ( tables . values ( ) ) . join ( '\n' ) }
13
- INSERT INTO "main"."db_info" ("field_name", "field_value") VALUES ('version', '1 ');
13
+ INSERT INTO "main"."db_info" ("field_name", "field_value") VALUES ('version', '${ DB_VERSION } ');
14
14
` )
15
15
}
16
16
Original file line number Diff line number Diff line change 1
1
import type Database from 'better-sqlite3'
2
+ import { DB_VERSION } from './tables'
2
3
3
4
// const migrateV1 = (db: Database.Database) => {
4
5
// const sql = `
@@ -26,15 +27,19 @@ import type Database from 'better-sqlite3'
26
27
// }
27
28
28
29
const migrateV1 = ( db : Database . Database ) => {
29
- const sql = `
30
- CREATE TABLE "dislike_list" (
31
- "type" TEXT NOT NULL,
32
- "content" TEXT NOT NULL,
33
- "meta" TEXT
34
- );
35
- `
36
- db . exec ( sql )
37
- db . prepare ( 'UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name' ) . run ( { name : 'version' , value : '2' } )
30
+ // 修复 v2.4.0 的默认数据库版本号不对的问题
31
+ const existsTable = db . prepare ( 'SELECT name FROM "main".sqlite_master WHERE type=\'table\' AND name=\'dislike_list\';' ) . get ( )
32
+ if ( ! existsTable ) {
33
+ const sql = `
34
+ CREATE TABLE "dislike_list" (
35
+ "type" TEXT NOT NULL,
36
+ "content" TEXT NOT NULL,
37
+ "meta" TEXT
38
+ );
39
+ `
40
+ db . exec ( sql )
41
+ }
42
+ db . prepare ( 'UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name' ) . run ( { name : 'version' , value : DB_VERSION } )
38
43
}
39
44
40
45
export default ( db : Database . Database ) => {
Original file line number Diff line number Diff line change @@ -214,3 +214,5 @@ tables.set('dislike_list', `
214
214
` )
215
215
216
216
export default tables
217
+
218
+ export const DB_VERSION = '2'
You can’t perform that action at this time.
0 commit comments