Skip to content

Commit a4d3c06

Browse files
committed
Merge branch 'dev'
2 parents 5ccf6f0 + 246412c commit a4d3c06

38 files changed

Lines changed: 2426 additions & 1329 deletions

File tree

.ncurc.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
module.exports = {
22
upgrade: true,
33
reject: [
4-
'vue-loader'
4+
'vue-loader',
5+
'webpack-dev-server',
56
// 'eslint-config-standard'
67
]
78
}

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,27 @@ Project versioning adheres to [Semantic Versioning](http://semver.org/).
66
Commit convention is based on [Conventional Commits](http://conventionalcommits.org).
77
Change log format is based on [Keep a Changelog](http://keepachangelog.com/).
88

9+
## [1.13.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.12.2...v1.13.0) - 2021-09-05
10+
11+
如果你喜欢并经常使用洛雪音乐,并想要第一时间尝鲜洛雪的新功能,可以加入测试企鹅群768786588,
12+
注意:测试版的功可能会不稳定,打算潜水的勿加。
13+
14+
### 新增
15+
16+
- 歌曲搜索框新增清理按钮,点击此按钮可以清理搜索框并返回初始搜索界面
17+
- 新增“下载的歌词文件编码格式”设置,默认下载的歌词编码仍是`UTF-8`,对于某些在设备(如车机)上出现歌词中文乱码的用户可以尝试选择以`GBK`编码格式保存歌词文件
18+
- 新增设置-桌面歌词-歌词字体设置,此设置可用于设置桌面歌词的字体(已知的问题:Windows 7 下可能会出现字体列表为空的情况,这是当前系统的 Powershell 版本小于5.1导致的,请自行**尝试**看常见解决)
19+
20+
### 优化
21+
22+
- 支持网易源“我喜欢”歌单以注入token的方式打开。由于网易源的“我喜欢”歌单需要登录才能打开(若你看不懂后半句就去阅读 常见问题-无法打开外部歌单),现若想要打开此类歌单,需要在歌单链接后面拼上 `###` 再加上有效的token,拼接格式:`[id|url]###token`,例子(最后面的xxxxxx替换成你的token):`https://music.163.com/#/playlist?id=123456&userid=123456###xxxxxx`
23+
- 软件内快捷键的最小化触发时,如果已启用托盘,则隐藏程序,否则最小化程序
24+
25+
### 修复
26+
27+
- 修复某些情况下同步功能会导致切歌混乱的问题
28+
- 修复从电脑浏览器复制的企鹅歌单链接无法打开的问题
29+
930
## [1.12.2](https://github.com/lyswhut/lx-music-desktop/compare/v1.12.1...v1.12.2) - 2021-08-11
1031

1132
### 修复

FAQ.md

Lines changed: 52 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
若网页无法打开或打开来不是404,则可能是DNS的问题,可以尝试以下办法:
2020

2121
1. 将DNS改成自动获取试试(注:改完可能需要清理下系统DNS缓存才生效)
22-
2. 手动把DNS改一下,不要用360的DNS,可以把DNS改成`114.114.114.114``8.8.8.8`(注:改完可能需要清理下系统DNS缓存才生效)
22+
2. 手动把DNS改一下,不要用360的DNS,可以把DNS改成`223.6.6.6``8.8.8.8`(注:改完可能需要清理下系统DNS缓存才生效)
2323

2424
改完DNS后可能需要重启软件才生效
2525

@@ -38,7 +38,7 @@
3838
若网页无法打开或打来不是404,则应该是DNS的问题,可以尝试以下办法:
3939

4040
1. 将DNS改成自动获取试试
41-
2. 手动把DNS改一下,不要用360的DNS,可以把DNS改成`114.114.114.114``8.8.8.8`
41+
2. 手动把DNS改一下,不要用360的DNS,可以把DNS改成`223.6.6.6``8.8.8.8`
4242

4343
## 列表多选
4444

@@ -64,6 +64,35 @@
6464

6565
注:网易源的“我喜欢”歌单无法在未登录的情况下打开,所以你需要手动创建一个歌单后将“我喜欢”里的歌曲移动到该歌单打开
6666

67+
### 打开网易源“我喜欢”歌单
68+
69+
由于网易源的“我喜欢”歌单需要登录才能打开,从v1.13.0起提供了可以以注入token的方式打开网易源“我喜欢”歌单的功能,现若想要打开此类歌单,需要在歌单链接或id后面拼上 `###` 再加上有效的token,拼接格式:`[id|url]###token`,例子(最后面的xxxxxx替换成你的token):
70+
- `https://music.163.com/#/playlist?id=11332&userid=123456###xxxxxx`
71+
- `11332###xxxxxx`
72+
73+
即:将 `歌单链接或者歌单ID``###``token` 这三者拼到一起。
74+
75+
#### `token`的获取方法
76+
77+
**注:`token`是你账号的临时身份令牌,不要随便泄露给他人**<br>
78+
在浏览器打开登录网易云音乐并**登录**后,按`F12`,此时将会打开开发者窗口,然后按你使用的浏览器操作:
79+
80+
##### Chrome、360、QQ等浏览器
81+
82+
这些浏览器打开此窗口时界面可能是中文也可能是英文,英文的话按括号里的来
83+
84+
1. 点击窗口顶部`应用程序(application)`
85+
2. 展开左侧 `Cookies`
86+
3. 点击 `https://music.163.com`
87+
4. 在右侧窗口找到 `名称(Name)``MUSIC_U` 的这行,这行的第二列(`值(Value)`)内的那串内容就是`token`,双击它进入编辑状态,然后按`ctrl + c`键就可以将它复制
88+
89+
##### 火狐浏览器
90+
91+
1. 点击窗口顶部`存储`
92+
2. 展开左侧 `Cookie`
93+
3. 点击 `https://music.163.com`
94+
4. 在右侧窗口找到 `名称``MUSIC_U` 的这行,这行的最后一列(``)内的那串内容就是`token`,双击它进入编辑状态,然后按`ctrl + c`键就可以将它复制
95+
6796
## 更新已收藏的在线歌单
6897

6998
该功能仅对直接从歌单详情页点“收藏”按钮收藏的歌单有效,可右击已收藏的列表名从弹出的菜单中选择“更新”使用该功能,
@@ -81,12 +110,16 @@
81110
3. 输入完这两项后点击“启动同步”
82111
4. 若连接成功,对于首次同步时,若两边的设备的列表不为空,则PC端会弹出选择列表同步方式的弹窗,同步方式的说明弹窗下面有介绍
83112

84-
对于连接同步服务失败的可能原因:
113+
#### 关于同步弹窗的说明
114+
115+
对于首次同步时,若两边的设备的列表不为空,则PC端会弹出选择列表同步方式的弹窗,此弹窗内的同步方式仅针对**首次同步**,<br>
116+
第一次同步成功后,以后再同步时将会自动根据两边设备的列表内容合并同步,不信你可以在同步完成后断开两边的连接,然后在两边增删一些歌曲或列表后再同步试试看~😉
117+
118+
#### 连接同步服务失败的可能原因
85119

86120
- 此功能需要PC端与移动端都连接在同一个路由器下的网络才能使用
87-
- 路由器若开启了AP隔离,则此功能无法使用
88121
- 检查防火墙是否拦截了PC端的服务端口
89-
122+
- 路由器若开启了AP隔离,则此功能无法使用
90123

91124
## 界面异常(界面显示不完整)
92125

@@ -123,6 +156,14 @@
123156
- 添加启动参数`-dha`运行(添加的方法请自行百度“给快捷方式加参数”)
124157
- 尝试将绿色版的软件放在**桌面****我的文档**运行
125158

159+
## Windows 7 下桌面歌词字体列表为空
160+
161+
Windows 7 系统系统需要安装 Powershell 5.1及以上版本才可正常获取系统字体列表。
162+
163+
想要查看当前 Powershell 版本可以在 Powershell 窗口输入命令:`Get-Host`
164+
165+
最新 Powershell 安装包可以去官方 [Github releases](https://github.com/PowerShell/PowerShell/releases) 页下载,安装过程中若出现错误,请自行按照提示或者百度/Google解决。
166+
126167
## 安装版安装失败,提示安装程序并未成功地运行完成
127168

128169
对于部分电脑出现安装失败的问题,可以做出以下尝试:
@@ -178,23 +219,23 @@ Windows 7 未开启 Aero 效果时桌面歌词会有问题,详情看上面的
178219

179220
**`.dmg`** 结尾的文件为 MAC 版本;
180221

181-
**`.AppImage`****`.deb`** 结尾的为 Linux 版本。
222+
**`.AppImage`****`.deb`****`.rpm`****`.pacman`** 结尾的为 Linux 版本。
182223

183-
带有`x64`的为64位的系统版本,带`x86`的为32位的系统版本;若两个都带有的则为集合版,安装时会自动根据系统位数选择对应的版本安装。
224+
带有`x64`的为64位的系统版本,带`x86`的为32位的系统版本;若两个都带有的则为集合版,安装时会自动根据系统位数选择对应的版本安装;带有`arm`的为arm架构系统的版本
184225

185226
## 软件更新
186227

187228
软件启动时若发现新版本时会自动从本仓库下载安装包,下载完毕会弹窗提示更新。<br>
188229
若下载未完成时软件被关闭,下次启动软件会再次自动下载。<br>
189230
若还是**更新失败**,可能是无法访问GitHub导致的,这时需要手动更新,即下载最新安装包直接覆盖安装即可。<br>
190231
注意:**绿色版**的软件自动更新功能**不可用**,建议使用安装版!!<br>
191-
注意:**Mac版****Linux deb**版不支持自动更新!
232+
注意:**Mac版****Linux**版不支持自动更新!
192233

193-
## 更新已收藏的在线歌单
234+
### Windows 安装版在升级后,卸载了旧版本,但没有安装新版本
194235

195-
该功能仅对直接从歌单详情页点“收藏”按钮收藏的歌单有效,可右击已收藏的列表名从弹出的菜单中选择“同步”使用该功能,
236+
出现这个问题的原因一般是你当初在安装本软件的时候是以管理员身份安装的,运行软件的时候没有以管理员身份运行,所以卸载后无法再装上。
196237

197-
需要注意的是:这将会覆盖本地的目标列表,歌曲将被替换成最新的在线列表
238+
安装本软件时建议选择 `为当前用户安装`,并安装在当前用户目录或者安装在不需要管理员权限的目录(即其他分区下),不要选`为所有用户安装`
198239

199240
## 缺少`xxx.dll`
200241

build-config/main/webpack.config.base.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,10 @@ module.exports = {
2929
exclude: /node_modules/,
3030
enforce: 'pre',
3131
},
32-
// {
33-
// test: /\.js$/,
34-
// loader: 'babel-loader',
35-
// exclude: /node_modules/,
36-
// },
32+
{
33+
test: /\.node$/,
34+
use: 'node-loader',
35+
},
3736
],
3837
},
3938
performance: {

build-config/main/webpack.config.prod.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module.exports = merge(baseConfig, {
1515
},
1616
externals: [
1717
...Object.keys(dependencies || {}),
18+
// 'font-list',
1819
],
1920
node: {
2021
__dirname: false,

build-config/renderer-lyric/webpack.config.base.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ module.exports = {
4444
exclude: /node_modules/,
4545
enforce: 'pre',
4646
},
47+
{
48+
test: /\.node$/,
49+
use: 'node-loader',
50+
},
4751
{
4852
test: /\.vue$/,
4953
loader: 'vue-loader',
@@ -72,15 +76,6 @@ module.exports = {
7276
},
7377
}),
7478
},
75-
{
76-
test: /\.styl(:?us)?$/,
77-
oneOf: mergeCSSLoader({
78-
loader: 'stylus-loader',
79-
options: {
80-
sourceMap: true,
81-
},
82-
}),
83-
},
8479
{
8580
test: /\.pug$/,
8681
oneOf: [

build-config/renderer/webpack.config.base.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ module.exports = {
4444
exclude: /node_modules/,
4545
enforce: 'pre',
4646
},
47+
{
48+
test: /\.node$/,
49+
use: 'node-loader',
50+
},
4751
{
4852
test: /\.vue$/,
4953
loader: 'vue-loader',
@@ -72,15 +76,6 @@ module.exports = {
7276
},
7377
}),
7478
},
75-
{
76-
test: /\.styl(:?us)?$/,
77-
oneOf: mergeCSSLoader({
78-
loader: 'stylus-loader',
79-
options: {
80-
sourceMap: true,
81-
},
82-
}),
83-
},
8479
{
8580
test: /\.pug$/,
8681
oneOf: [

build-config/runner-dev.js

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,32 @@ const rendererLyricConfig = require('./renderer-lyric/webpack.config.dev')
1616

1717
let electronProcess = null
1818
let manualRestart = false
19-
let hotMiddleware
19+
let hotMiddlewareRenderer
20+
let hotMiddlewareRendererLyric
2021

2122

2223
function startRenderer() {
2324
return new Promise((resolve, reject) => {
2425
// rendererConfig.entry.renderer = [path.join(__dirname, 'dev-client')].concat(rendererConfig.entry.renderer)
2526
// rendererConfig.mode = 'development'
2627
const compiler = webpack(rendererConfig)
27-
hotMiddleware = webpackHotMiddleware(compiler, {
28+
hotMiddlewareRenderer = webpackHotMiddleware(compiler, {
2829
log: false,
2930
heartbeat: 2500,
3031
})
3132

3233
compiler.hooks.compilation.tap('compilation', compilation => {
3334
// console.log(Object.keys(compilation.hooks))
3435
HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('html-webpack-plugin-after-emit', (data, cb) => {
35-
hotMiddleware.publish({ action: 'reload' })
36+
hotMiddlewareRenderer.publish({ action: 'reload' })
3637
cb()
3738
})
3839
})
3940

40-
compiler.hooks.done.tap('done', stats => {
41-
// logStats('Renderer', 'Compile done')
42-
// logStats('Renderer', stats)
43-
})
41+
// compiler.hooks.done.tap('done', stats => {
42+
// // logStats('Renderer', 'Compile done')
43+
// // logStats('Renderer', stats)
44+
// })
4445

4546
const server = new WebpackDevServer(
4647
compiler,
@@ -54,7 +55,7 @@ function startRenderer() {
5455
errors: true,
5556
},
5657
before(app, ctx) {
57-
app.use(hotMiddleware)
58+
app.use(hotMiddlewareRenderer)
5859
ctx.middleware.waitUntilValid(() => {
5960
resolve()
6061
})
@@ -71,23 +72,23 @@ function startRendererLyric() {
7172
// rendererConfig.entry.renderer = [path.join(__dirname, 'dev-client')].concat(rendererConfig.entry.renderer)
7273
// rendererConfig.mode = 'development'
7374
const compiler = webpack(rendererLyricConfig)
74-
hotMiddleware = webpackHotMiddleware(compiler, {
75+
hotMiddlewareRendererLyric = webpackHotMiddleware(compiler, {
7576
log: false,
7677
heartbeat: 2500,
7778
})
7879

7980
compiler.hooks.compilation.tap('compilation', compilation => {
8081
// console.log(Object.keys(compilation.hooks))
8182
HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('html-webpack-plugin-after-emit', (data, cb) => {
82-
hotMiddleware.publish({ action: 'reload' })
83+
hotMiddlewareRendererLyric.publish({ action: 'reload' })
8384
cb()
8485
})
8586
})
8687

87-
compiler.hooks.done.tap('done', stats => {
88-
// logStats('Renderer', 'Compile done')
89-
// logStats('Renderer', stats)
90-
})
88+
// compiler.hooks.done.tap('done', stats => {
89+
// // logStats('Renderer', 'Compile done')
90+
// // logStats('Renderer', stats)
91+
// })
9192

9293
const server = new WebpackDevServer(
9394
compiler,
@@ -101,7 +102,7 @@ function startRendererLyric() {
101102
errors: true,
102103
},
103104
before(app, ctx) {
104-
app.use(hotMiddleware)
105+
app.use(hotMiddlewareRendererLyric)
105106
ctx.middleware.waitUntilValid(() => {
106107
resolve()
107108
})
@@ -120,7 +121,8 @@ function startMain() {
120121
const compiler = webpack(mainConfig)
121122

122123
compiler.hooks.watchRun.tapAsync('watch-run', (compilation, done) => {
123-
hotMiddleware.publish({ action: 'compiling' })
124+
hotMiddlewareRenderer.publish({ action: 'compiling' })
125+
hotMiddlewareRendererLyric.publish({ action: 'compiling' })
124126
done()
125127
})
126128

0 commit comments

Comments
 (0)