🔖V1.2.2

This commit is contained in:
mrdong916 2020-10-27 03:12:15 +08:00
parent becb337b96
commit cd0905c75c
21 changed files with 1520 additions and 1483 deletions

View File

@ -6,6 +6,23 @@ Project versioning adheres to [Semantic Versioning](http://semver.org/).
Commit convention is based on [Conventional Commits](http://conventionalcommits.org). Commit convention is based on [Conventional Commits](http://conventionalcommits.org).
Change log format is based on [Keep a Changelog](http://keepachangelog.com/). Change log format is based on [Keep a Changelog](http://keepachangelog.com/).
## [1.2.2](https://github.com/lyswhut/lx-music-desktop/compare/v1.2.1...v1.2.2) - 2020-10-18
### 修复
- 降级 Electron 到 9.x.x 版本修复 Linux 版桌面歌词窗口变白的问题
## [1.2.1](https://github.com/lyswhut/lx-music-desktop/compare/v1.2.0...v1.2.1) - 2020-10-18
### 优化
- Linux版的软件界面默认使用圆角与阴影顺便修复了桌面歌词窗口变白的问题已在Ubuntu 18.10测试正常,若显示异常可尝试添加`-nt`参数启动
### 修复
- 修复聚合搜索的分页问题
- 修复代理输入框输入的内容不生效的问题
## [1.2.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.1.1...v1.2.0) - 2020-09-30 ## [1.2.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.1.1...v1.2.0) - 2020-09-30
提前祝大家中秋&国庆快乐~ 提前祝大家中秋&国庆快乐~

5
FAQ.md
View File

@ -87,11 +87,11 @@ Windows 7 未开启 Aero 效果时桌面歌词会有问题,详情看下面的*
因此,当 win7 没有使用**AERO**主题时界面将会显示异常开启AERO的方法请自行百度`win7开启aero效果`(开启后可看到任务栏变透明)。<br> 因此,当 win7 没有使用**AERO**主题时界面将会显示异常开启AERO的方法请自行百度`win7开启aero效果`(开启后可看到任务栏变透明)。<br>
从`0.14.0`版本起不再强制要求开启透明效果,若你实在不想开启(若非电脑配置太低,墙裂建议开启!),可通过添加运行参数`-nt`来运行程序即可,例如:`.\lx-music-desktop.exe -nt`,添加方法可自行百度“给快捷方式加参数”,该参数的作用是用来控制程序是否使用非透明窗口运行。 从`0.14.0`版本起不再强制要求开启透明效果,若你实在不想开启(若非电脑配置太低,墙裂建议开启!),可通过添加运行参数`-nt`来运行程序即可,例如:`.\lx-music-desktop.exe -nt`,添加方法可自行百度“给快捷方式加参数”,该参数的作用是用来控制程序是否使用非透明窗口运行。
对于一些完全无法正常显示界面的情况,请阅读下面的 **软件启动后,界面无法显示** 对于一些完全无法正常显示界面、开启了AERO后问题仍未解决的情况,请阅读下面的 **软件启动后,界面无法显示** 解决
## 软件启动后,界面无法显示 ## 软件启动后,界面无法显示
软件启动后,可以在任务栏看到软件,但软件界面在桌面上无任何显示。<br> 对于软件启动后,可以在任务栏看到软件,但软件界面在桌面上无任何显示,或者整个界面偶尔闪烁的情况<br>
原始问题看:<https://github.com/electron/electron/issues/19569#issuecomment-522231083><br> 原始问题看:<https://github.com/electron/electron/issues/19569#issuecomment-522231083><br>
解决办法:下载`.NET Framework 4.7.1`或**更高**版本安装即可(建议安装最新版,若安装过程中遇到问题可尝试自行百度解决)。<br> 解决办法:下载`.NET Framework 4.7.1`或**更高**版本安装即可(建议安装最新版,若安装过程中遇到问题可尝试自行百度解决)。<br>
微软官方下载地址:<https://dotnet.microsoft.com/download/dotnet-framework><br> 微软官方下载地址:<https://dotnet.microsoft.com/download/dotnet-framework><br>
@ -136,5 +136,6 @@ Windows 7 未开启 Aero 效果时桌面歌词会有问题,详情看下面的*
## 无法打开外部歌单 ## 无法打开外部歌单
不支持垮源打开歌单,请确认你需要打开的歌单平台是否与软件标签所写的歌单源对应;<br>
对于分享出来的歌单若打开失败可尝试先在浏览器中打开后再从浏览器地址栏复制URL地址到软件打开<br> 对于分享出来的歌单若打开失败可尝试先在浏览器中打开后再从浏览器地址栏复制URL地址到软件打开<br>
或者如果你知道歌单 id 也可以直接输入歌单 id 打开。<br> 或者如果你知道歌单 id 也可以直接输入歌单 id 打开。<br>

View File

@ -23,7 +23,7 @@ module.exports = merge(baseConfig, {
onErrors(severity, errors) { // Silent warning from electron-debug onErrors(severity, errors) { // Silent warning from electron-debug
if (severity != 'warning') return if (severity != 'warning') return
for (let i = errors.length; i > -1; i--) { for (let i = errors.length - 1; i > -1; i--) {
const error = errors[i] const error = errors[i]
if (error.file == './node_modules/electron-debug/index.js') errors.splice(i, 1) if (error.file == './node_modules/electron-debug/index.js') errors.splice(i, 1)
} }

View File

@ -32,15 +32,11 @@ module.exports = merge(baseConfig, {
NODE_ENV: '"production"', NODE_ENV: '"production"',
}, },
}), }),
new webpack.NamedChunksPlugin(),
], ],
optimization: { optimization: {
chunkIds: 'named',
minimizer: [ minimizer: [
new TerserPlugin({ new TerserPlugin(),
cache: true,
parallel: true,
sourceMap: false, // set to true if you want JS source maps
}),
new OptimizeCSSAssetsPlugin({}), new OptimizeCSSAssetsPlugin({}),
], ],
}, },

View File

@ -32,15 +32,11 @@ module.exports = merge(baseConfig, {
NODE_ENV: '"production"', NODE_ENV: '"production"',
}, },
}), }),
new webpack.NamedChunksPlugin(),
], ],
optimization: { optimization: {
chunkIds: 'named',
minimizer: [ minimizer: [
new TerserPlugin({ new TerserPlugin(),
cache: true,
parallel: true,
sourceMap: false, // set to true if you want JS source maps
}),
new OptimizeCSSAssetsPlugin({}), new OptimizeCSSAssetsPlugin({}),
], ],
}, },

2470
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "lx-music-desktop", "name": "lx-music-desktop",
"version": "1.2.0", "version": "1.2.2",
"description": "一个免费的音乐下载助手", "description": "一个免费的音乐下载助手",
"main": "./dist/electron/main.js", "main": "./dist/electron/main.js",
"productName": "洛雪音乐助手(五音版)", "productName": "洛雪音乐助手(五音版)",
@ -158,12 +158,12 @@
}, },
"homepage": "https://github.com/sixyin/lx-music-desktop#readme", "homepage": "https://github.com/sixyin/lx-music-desktop#readme",
"devDependencies": { "devDependencies": {
"@babel/core": "^7.11.6", "@babel/core": "^7.12.3",
"@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-modules-umd": "^7.10.4", "@babel/plugin-transform-modules-umd": "^7.12.1",
"@babel/plugin-transform-runtime": "^7.11.5", "@babel/plugin-transform-runtime": "^7.12.1",
"@babel/polyfill": "^7.11.5", "@babel/polyfill": "^7.12.1",
"@babel/preset-env": "^7.11.5", "@babel/preset-env": "^7.12.1",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"babel-minify-webpack-plugin": "^0.3.1", "babel-minify-webpack-plugin": "^0.3.1",
@ -171,16 +171,16 @@
"cfonts": "^2.8.6", "cfonts": "^2.8.6",
"chalk": "^4.1.0", "chalk": "^4.1.0",
"changelog-parser": "^2.8.0", "changelog-parser": "^2.8.0",
"copy-webpack-plugin": "^6.1.1", "copy-webpack-plugin": "^6.2.1",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
"css-loader": "^4.3.0", "css-loader": "^4.3.0",
"del": "^6.0.0", "del": "^6.0.0",
"electron": "^10.1.3", "electron": "^9.3.2",
"electron-builder": "^22.8.1", "electron-builder": "^22.9.1",
"electron-debug": "^3.1.0", "electron-debug": "^3.1.0",
"electron-devtools-installer": "^3.1.1", "electron-devtools-installer": "^3.1.1",
"eslint": "^7.10.0", "eslint": "^7.11.0",
"eslint-config-standard": "^14.1.1", "eslint-config-standard": "^14.1.1",
"eslint-formatter-friendly": "^7.0.0", "eslint-formatter-friendly": "^7.0.0",
"eslint-loader": "^4.0.2", "eslint-loader": "^4.0.2",
@ -189,39 +189,39 @@
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1", "eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1", "eslint-plugin-standard": "^4.0.1",
"file-loader": "^6.1.0", "file-loader": "^6.1.1",
"friendly-errors-webpack-plugin": "^1.7.0", "friendly-errors-webpack-plugin": "^1.7.0",
"html-webpack-plugin": "^4.5.0", "html-webpack-plugin": "^4.5.0",
"less": "^3.12.2", "less": "^3.12.2",
"less-loader": "^7.0.1", "less-loader": "^7.0.2",
"markdown-it": "^11.0.1", "markdown-it": "^11.0.1",
"mini-css-extract-plugin": "^0.11.2", "mini-css-extract-plugin": "^0.12.0",
"optimize-css-assets-webpack-plugin": "^5.0.4", "optimize-css-assets-webpack-plugin": "^5.0.4",
"postcss-loader": "^4.0.2", "postcss-loader": "^4.0.4",
"postcss-pxtorem": "^5.1.1", "postcss-pxtorem": "^5.1.1",
"pug": "^3.0.0", "pug": "^3.0.0",
"pug-loader": "^2.4.0", "pug-loader": "^2.4.0",
"pug-plain-loader": "^1.0.0", "pug-plain-loader": "^1.0.0",
"raw-loader": "^4.0.1", "raw-loader": "^4.0.2",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"spinnies": "^0.5.1", "spinnies": "^0.5.1",
"stylus": "^0.54.8", "stylus": "^0.54.8",
"stylus-loader": "^3.0.2", "stylus-loader": "^4.1.1",
"terser-webpack-plugin": "^4.2.2", "terser-webpack-plugin": "^4.2.3",
"url-loader": "^4.1.0", "url-loader": "^4.1.1",
"vue-loader": "^15.9.3", "vue-loader": "^15.9.3",
"vue-template-compiler": "^2.6.12", "vue-template-compiler": "^2.6.12",
"webpack": "^4.44.2", "webpack": "^4.44.2",
"webpack-cli": "^3.3.12", "webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0", "webpack-dev-server": "^3.11.0",
"webpack-hot-middleware": "^2.25.0", "webpack-hot-middleware": "^2.25.0",
"webpack-merge": "^5.1.4" "webpack-merge": "^5.2.0"
}, },
"dependencies": { "dependencies": {
"crypto-js": "^4.0.0", "crypto-js": "^4.0.0",
"dnscache": "^1.0.2", "dnscache": "^1.0.2",
"electron-log": "^4.2.4", "electron-log": "^4.2.4",
"electron-store": "^6.0.0", "electron-store": "^6.0.1",
"electron-updater": "^4.3.5", "electron-updater": "^4.3.5",
"iconv-lite": "^0.6.2", "iconv-lite": "^0.6.2",
"image-size": "^0.9.1", "image-size": "^0.9.1",
@ -231,8 +231,8 @@
"node-id3": "^0.1.19", "node-id3": "^0.1.19",
"request": "^2.88.2", "request": "^2.88.2",
"vue": "^2.6.12", "vue": "^2.6.12",
"vue-i18n": "^8.21.1", "vue-i18n": "^8.22.0",
"vue-router": "^3.4.5", "vue-router": "^3.4.7",
"vuex": "^3.5.1", "vuex": "^3.5.1",
"vuex-router-sync": "^5.0.0" "vuex-router-sync": "^5.0.0"
} }

View File

@ -1,25 +1,4 @@
提前祝大家中秋&国庆快乐~
### 新增
- 播放控制栏开启/关闭桌面歌词按钮 新增右击按钮时锁定/解锁桌面歌词功能
### 优化 ### 优化
- 优化我的列表滚动条位置的保存逻辑 - 修改播放详情页的歌曲图片的显示效果
- 更新设置-备份与恢复功能的描述
- 优化软件内鼠标悬停的提示界面
### 修复
- 修复桌面歌词窗口不允许拖出桌面之外的位置计算偏移Bug
- 修复网易云KTV嗨榜无法加载的问题
- 修复初始化搜索历史列表功能
- 修复重启软件后试听列表与收藏列表无法恢复上次的滚动位置的问题
- 修复歌曲封面无法嵌入的Bug
- 修复酷狗歌词格式问题
- 修复关闭切换动画时从搜索候选列表点击内容无效的问题
### 其他
- 更新 Electron 到 v10.1.3

File diff suppressed because one or more lines are too long

View File

@ -95,7 +95,7 @@ function createWindow() {
useContentSize: true, useContentSize: true,
width: windowSizeInfo.width, width: windowSizeInfo.width,
frame: false, frame: false,
transparent: !isLinux && !global.envParams.nt, transparent: !global.envParams.nt,
enableRemoteModule: false, enableRemoteModule: false,
// icon: path.join(global.__static, isWin ? 'icons/256x256.ico' : 'icons/512x512.png'), // icon: path.join(global.__static, isWin ? 'icons/256x256.ico' : 'icons/512x512.png'),
resizable: false, resizable: false,
@ -133,7 +133,8 @@ function init() {
createWindow() createWindow()
} }
app.on('ready', init) // https://github.com/electron/electron/issues/16809
app.on('ready', isLinux ? () => setTimeout(init, 300) : init)
app.on('activate', () => { app.on('activate', () => {
if (global.modules.mainWindow) { if (global.modules.mainWindow) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -23,6 +23,7 @@
@color-theme_2-font-label: fadeout(@color-theme_2-font, 50%); @color-theme_2-font-label: fadeout(@color-theme_2-font, 50%);
// @color-theme_2-line: transparent; // @color-theme_2-line: transparent;
@color-theme_2-line: lighten(@color-theme, 35%); @color-theme_2-line: lighten(@color-theme, 35%);
@color-reply-floor: fadeout(@color-theme, 95%);
@color-theme-sidebar: @color-theme; @color-theme-sidebar: @color-theme;
@color-btn: lighten(@color-theme, 5%); @color-btn: lighten(@color-theme, 5%);
@color-btn-background: fadeout(lighten(@color-theme, 35%), 70%); @color-btn-background: fadeout(lighten(@color-theme, 35%), 70%);
@ -91,6 +92,7 @@
@color-green-theme_2-font-label: fadeout(@color-green-theme_2-font, 50%); @color-green-theme_2-font-label: fadeout(@color-green-theme_2-font, 50%);
// @color-green-theme_2-line: transparent; // @color-green-theme_2-line: transparent;
@color-green-theme_2-line: lighten(@color-green-theme, 45%); @color-green-theme_2-line: lighten(@color-green-theme, 45%);
@color-green-reply-floor: lighten(@color-green-theme, 45%);
@color-green-theme-sidebar: @color-green-theme; @color-green-theme-sidebar: @color-green-theme;
@color-green-btn: lighten(@color-green-theme, 5%); @color-green-btn: lighten(@color-green-theme, 5%);
@color-green-btn-background: fadeout(lighten(@color-green-theme, 35%), 70%); @color-green-btn-background: fadeout(lighten(@color-green-theme, 35%), 70%);
@ -148,6 +150,7 @@
@color-yellow-theme_2-font-label: fadeout(@color-yellow-theme_2-font, 50%); @color-yellow-theme_2-font-label: fadeout(@color-yellow-theme_2-font, 50%);
// @color-yellow-theme_2-line: transparent; // @color-yellow-theme_2-line: transparent;
@color-yellow-theme_2-line: lighten(@color-yellow-theme, 28%); @color-yellow-theme_2-line: lighten(@color-yellow-theme, 28%);
@color-yellow-reply-floor: lighten(@color-yellow-theme, 28%);
@color-yellow-theme-sidebar: @color-yellow-theme; @color-yellow-theme-sidebar: @color-yellow-theme;
@color-yellow-btn: darken(@color-yellow-theme, 5%); @color-yellow-btn: darken(@color-yellow-theme, 5%);
@color-yellow-btn-background: fadeout(lighten(@color-yellow-theme, 25%), 60%); @color-yellow-btn-background: fadeout(lighten(@color-yellow-theme, 25%), 60%);
@ -204,6 +207,7 @@
@color-orange-theme_2-font-label: fadeout(@color-orange-theme_2-font, 50%); @color-orange-theme_2-font-label: fadeout(@color-orange-theme_2-font, 50%);
// @color-orange-theme_2-line: transparent; // @color-orange-theme_2-line: transparent;
@color-orange-theme_2-line: lighten(@color-orange-theme, 36%); @color-orange-theme_2-line: lighten(@color-orange-theme, 36%);
@color-orange-reply-floor: lighten(@color-orange-theme, 36%);
@color-orange-theme-sidebar: @color-orange-theme; @color-orange-theme-sidebar: @color-orange-theme;
@color-orange-btn: lighten(@color-orange-theme, 5%); @color-orange-btn: lighten(@color-orange-theme, 5%);
@color-orange-btn-background: fadeout(lighten(@color-orange-theme, 25%), 60%); @color-orange-btn-background: fadeout(lighten(@color-orange-theme, 25%), 60%);
@ -260,6 +264,7 @@
@color-blue-theme_2-font-label: fadeout(@color-blue-theme_2-font, 50%); @color-blue-theme_2-font-label: fadeout(@color-blue-theme_2-font, 50%);
// @color-blue-theme_2-line: transparent; // @color-blue-theme_2-line: transparent;
@color-blue-theme_2-line: lighten(@color-blue-theme, 42%); @color-blue-theme_2-line: lighten(@color-blue-theme, 42%);
@color-blue-reply-floor: lighten(@color-blue-theme, 42%);
@color-blue-theme-sidebar: @color-blue-theme; @color-blue-theme-sidebar: @color-blue-theme;
@color-blue-btn: lighten(@color-blue-theme, 5%); @color-blue-btn: lighten(@color-blue-theme, 5%);
@color-blue-btn-background: fadeout(lighten(@color-blue-theme, 35%), 50%); @color-blue-btn-background: fadeout(lighten(@color-blue-theme, 35%), 50%);
@ -316,6 +321,7 @@
@color-red-theme_2-font-label: fadeout(@color-red-theme_2-font, 50%); @color-red-theme_2-font-label: fadeout(@color-red-theme_2-font, 50%);
// @color-red-theme_2-line: transparent; // @color-red-theme_2-line: transparent;
@color-red-theme_2-line: lighten(@color-red-theme, 42%); @color-red-theme_2-line: lighten(@color-red-theme, 42%);
@color-red-reply-floor: lighten(@color-red-theme, 42%);
@color-red-theme-sidebar: @color-red-theme; @color-red-theme-sidebar: @color-red-theme;
@color-red-btn: lighten(@color-red-theme, 5%); @color-red-btn: lighten(@color-red-theme, 5%);
@color-red-btn-background: fadeout(lighten(@color-red-theme, 35%), 70%); @color-red-btn-background: fadeout(lighten(@color-red-theme, 35%), 70%);
@ -374,6 +380,7 @@
@color-pink-theme_2-font-label: fadeout(@color-pink-theme_2-font, 50%); @color-pink-theme_2-font-label: fadeout(@color-pink-theme_2-font, 50%);
// @color-pink-theme_2-line: transparent; // @color-pink-theme_2-line: transparent;
@color-pink-theme_2-line: lighten(@color-pink-theme, 25%); @color-pink-theme_2-line: lighten(@color-pink-theme, 25%);
@color-pink-reply-floor: lighten(@color-pink-theme, 25%);
@color-pink-theme-sidebar: @color-pink-theme; @color-pink-theme-sidebar: @color-pink-theme;
@color-pink-btn: darken(@color-pink-theme, 3%); @color-pink-btn: darken(@color-pink-theme, 3%);
@color-pink-btn-background: fadeout(lighten(@color-pink-theme, 20%), 50%); @color-pink-btn-background: fadeout(lighten(@color-pink-theme, 20%), 50%);
@ -430,6 +437,7 @@
@color-purple-theme_2-font-label: fadeout(@color-purple-theme_2-font, 50%); @color-purple-theme_2-font-label: fadeout(@color-purple-theme_2-font, 50%);
// @color-purple-theme_2-line: transparent; // @color-purple-theme_2-line: transparent;
@color-purple-theme_2-line: lighten(@color-purple-theme, 43%); @color-purple-theme_2-line: lighten(@color-purple-theme, 43%);
@color-purple-reply-floor: lighten(@color-purple-theme, 43%);
@color-purple-theme-sidebar: @color-purple-theme; @color-purple-theme-sidebar: @color-purple-theme;
@color-purple-btn: lighten(@color-purple-theme, 5%); @color-purple-btn: lighten(@color-purple-theme, 5%);
@color-purple-btn-background: fadeout(lighten(@color-purple-theme, 35%), 70%); @color-purple-btn-background: fadeout(lighten(@color-purple-theme, 35%), 70%);
@ -486,6 +494,7 @@
@color-grey-theme_2-font-label: fadeout(@color-grey-theme_2-font, 50%); @color-grey-theme_2-font-label: fadeout(@color-grey-theme_2-font, 50%);
// @color-grey-theme_2-line: transparent; // @color-grey-theme_2-line: transparent;
@color-grey-theme_2-line: lighten(@color-grey-theme, 47%); @color-grey-theme_2-line: lighten(@color-grey-theme, 47%);
@color-grey-reply-floor: lighten(@color-grey-theme, 47%);
@color-grey-theme-sidebar: @color-grey-theme; @color-grey-theme-sidebar: @color-grey-theme;
@color-grey-btn: lighten(@color-grey-theme, 5%); @color-grey-btn: lighten(@color-grey-theme, 5%);
@color-grey-btn-background: fadeout(lighten(@color-grey-theme, 35%), 70%); @color-grey-btn-background: fadeout(lighten(@color-grey-theme, 35%), 70%);
@ -543,6 +552,7 @@
@color-ming-theme_2-font-label: fadeout(@color-ming-theme_2-font, 50%); @color-ming-theme_2-font-label: fadeout(@color-ming-theme_2-font, 50%);
// @color-ming-theme_2-line: transparent; // @color-ming-theme_2-line: transparent;
@color-ming-theme_2-line: lighten(@color-ming-theme, 60%); @color-ming-theme_2-line: lighten(@color-ming-theme, 60%);
@color-ming-reply-floor: lighten(@color-ming-theme, 60%);
@color-ming-theme-sidebar: @color-ming-theme; @color-ming-theme-sidebar: @color-ming-theme;
@color-ming-btn: lighten(@color-ming-theme, 5%); @color-ming-btn: lighten(@color-ming-theme, 5%);
@color-ming-btn-background: fadeout(lighten(@color-ming-theme, 35%), 75%); @color-ming-btn-background: fadeout(lighten(@color-ming-theme, 35%), 75%);
@ -602,6 +612,7 @@
@color-blue2-theme_2-font-label: fadeout(@color-blue2-theme_2-font, 50%); @color-blue2-theme_2-font-label: fadeout(@color-blue2-theme_2-font, 50%);
// @color-blue2-theme_2-line: transparent; // @color-blue2-theme_2-line: transparent;
@color-blue2-theme_2-line: lighten(@color-blue2-theme, 41%); @color-blue2-theme_2-line: lighten(@color-blue2-theme, 41%);
@color-blue2-reply-floor: lighten(@color-blue2-theme, 41%);
@color-blue2-theme-sidebar: @color-blue2-theme; @color-blue2-theme-sidebar: @color-blue2-theme;
@color-blue2-btn: lighten(@color-blue2-theme, 5%); @color-blue2-btn: lighten(@color-blue2-theme, 5%);
@color-blue2-btn-background: fadeout(lighten(@color-blue2-theme, 30%), 70%); @color-blue2-btn-background: fadeout(lighten(@color-blue2-theme, 30%), 70%);
@ -659,6 +670,7 @@
@color-mid_autumn-theme_2-font-label: desaturate(lighten(@color-mid_autumn-theme, 30%), 45%); @color-mid_autumn-theme_2-font-label: desaturate(lighten(@color-mid_autumn-theme, 30%), 45%);
// @color-mid_autumn-theme_2-line: transparent; // @color-mid_autumn-theme_2-line: transparent;
@color-mid_autumn-theme_2-line: lighten(@color-mid_autumn-theme, 61%); @color-mid_autumn-theme_2-line: lighten(@color-mid_autumn-theme, 61%);
@color-mid_autumn-reply-floor: lighten(@color-mid_autumn-theme, 61%);
@color-mid_autumn-theme-sidebar: rgba(255, 255, 255, 0); @color-mid_autumn-theme-sidebar: rgba(255, 255, 255, 0);
@color-mid_autumn-btn: lighten(@color-mid_autumn-theme, 10%); @color-mid_autumn-btn: lighten(@color-mid_autumn-theme, 10%);
@color-mid_autumn-btn-background: fadeout(lighten(@color-mid_autumn-theme, 35%), 70%); @color-mid_autumn-btn-background: fadeout(lighten(@color-mid_autumn-theme, 35%), 70%);
@ -716,6 +728,7 @@
@color-mid_autumn-theme_2-font-label: desaturate(lighten(@color-mid_autumn-theme, 30%), 45%); @color-mid_autumn-theme_2-font-label: desaturate(lighten(@color-mid_autumn-theme, 30%), 45%);
// @color-mid_autumn-theme_2-line: transparent; // @color-mid_autumn-theme_2-line: transparent;
@color-mid_autumn-theme_2-line: darken(@color-mid_autumn-theme, 18%); @color-mid_autumn-theme_2-line: darken(@color-mid_autumn-theme, 18%);
@color-mid_autumn-reply-floor: darken(@color-mid_autumn-theme, 18%);
@color-mid_autumn-theme-sidebar: rgba(255, 255, 255, 0); @color-mid_autumn-theme-sidebar: rgba(255, 255, 255, 0);
@color-mid_autumn-btn: darken(@color-mid_autumn-theme, 10%); @color-mid_autumn-btn: darken(@color-mid_autumn-theme, 10%);
@color-mid_autumn-btn-background: fadeout(lighten(@color-mid_autumn-theme, 35%), 70%); @color-mid_autumn-btn-background: fadeout(lighten(@color-mid_autumn-theme, 35%), 70%);
@ -772,6 +785,7 @@
@color-naruto-theme_2-font-label: desaturate(lighten(@color-naruto-theme, 10%), 45%); @color-naruto-theme_2-font-label: desaturate(lighten(@color-naruto-theme, 10%), 45%);
// @color-naruto-theme_2-line: transparent; // @color-naruto-theme_2-line: transparent;
@color-naruto-theme_2-line: fadeout(lighten(@color-naruto-theme, 36%), 70%); @color-naruto-theme_2-line: fadeout(lighten(@color-naruto-theme, 36%), 70%);
@color-naruto-reply-floor: fadeout(lighten(@color-naruto-theme, 36%), 70%);
@color-naruto-theme-sidebar: rgba(255, 255, 255, .3); @color-naruto-theme-sidebar: rgba(255, 255, 255, .3);
@color-naruto-btn: lighten(@color-naruto-theme, 2%); @color-naruto-btn: lighten(@color-naruto-theme, 2%);
@color-naruto-btn-background: fadeout(lighten(@color-naruto-theme, 35%), 70%); @color-naruto-btn-background: fadeout(lighten(@color-naruto-theme, 35%), 70%);
@ -828,6 +842,7 @@
@color-happy_new_year-theme_2-font-label: desaturate(darken(@color-happy_new_year-theme, 5%), 50%); @color-happy_new_year-theme_2-font-label: desaturate(darken(@color-happy_new_year-theme, 5%), 50%);
// @color-happy_new_year-theme_2-line: transparent; // @color-happy_new_year-theme_2-line: transparent;
@color-happy_new_year-theme_2-line: fadeout(lighten(@color-happy_new_year-theme, 16%), 70%); @color-happy_new_year-theme_2-line: fadeout(lighten(@color-happy_new_year-theme, 16%), 70%);
@color-happy_new_year-reply-floor: fadeout(lighten(@color-happy_new_year-theme, 16%), 70%);
@color-happy_new_year-theme-sidebar: rgba(119, 37, 18, 0.1); @color-happy_new_year-theme-sidebar: rgba(119, 37, 18, 0.1);
@color-happy_new_year-btn: desaturate(@color-happy_new_year-theme, 10%); @color-happy_new_year-btn: desaturate(@color-happy_new_year-theme, 10%);
@color-happy_new_year-btn-background: fadeout(lighten(@color-happy_new_year-theme, 15%), 60%); @color-happy_new_year-btn-background: fadeout(lighten(@color-happy_new_year-theme, 15%), 60%);

View File

@ -16,23 +16,35 @@
svg(:class="$style.controBtnIcon" version='1.1' xmlns='http://www.w3.org/2000/svg' xlink='http://www.w3.org/1999/xlink' width='100%' viewBox='0 0 24 24' space='preserve') svg(:class="$style.controBtnIcon" version='1.1' xmlns='http://www.w3.org/2000/svg' xlink='http://www.w3.org/1999/xlink' width='100%' viewBox='0 0 24 24' space='preserve')
use(xlink:href='#icon-window-close') use(xlink:href='#icon-window-close')
div(:class="$style.main") div(:class="[$style.main, isShowComment ? $style.showComment : null]")
div(:class="$style.left") div(:class="$style.left")
//- div(:class="$style.info")
div(:class="$style.info") div(:class="$style.info")
div(:class="$style.img") img(:class="$style.img" :src="musicInfo.img" v-if="musicInfo.img")
img(:src="musicInfo.img" v-if="musicInfo.img") div(:class="$style.description" @click="isShowComment = true")
div(:class="$style.description")
p {{$t('core.player.name')}}{{musicInfo.name}} p {{$t('core.player.name')}}{{musicInfo.name}}
p {{$t('core.player.singer')}}{{musicInfo.singer}} p {{$t('core.player.singer')}}{{musicInfo.singer}}
p(v-if="musicInfo.album") {{$t('core.player.album')}}{{musicInfo.album}} p(v-if="musicInfo.album") {{$t('core.player.album')}}{{musicInfo.album}}
//- div(:class="$style.list")
ul
div(:class="$style.right") div(:class="$style.right")
div(:class="[$style.lyric, lyricEvent.isMsDown ? $style.draging : null]" @wheel="handleWheel" @mousedown="handleLyricMouseDown" ref="dom_lyric") div(:class="[$style.lyric, lyricEvent.isMsDown ? $style.draging : null]" @wheel="handleWheel" @mousedown="handleLyricMouseDown" ref="dom_lyric")
div(:class="$style.lyricSpace") div(:class="$style.lyricSpace")
p(v-for="(info, index) in lyricLines" :key="index" :class="lyric.line == index ? $style.lrcActive : null") {{info.text}} p(v-for="(info, index) in lyricLines" :key="index" :class="lyric.line == index ? $style.lrcActive : null") {{info.text}}
div(:class="$style.lyricSpace") div(:class="$style.lyricSpace")
div(:class="$style.comment")
div(:class="$style.commentHeader" @click="isShowComment = false")
h3 {{title}}
div.scroll(:class="$style.commentMain")
div
h2(:class="$style.commentType") 热门评论
material-comment-floor(v-if="comment.hotComments.length" :class="$style.reply_floor" :comments="comment.hotComments")
div
h2(:class="$style.commentType") 最新评论
material-comment-floor(v-if="comment.comments.length" :class="$style.reply_floor" :comments="comment.comments")
div(:class="$style.pagination")
material-pagination(:count="comment.total" :limit="comment.limit" :page="comment.page" @btn-click="handleToggleCommentPage")
div(:class="$style.footer") div(:class="$style.footer")
div(:class="$style.left") div(:class="$style.left")
div(:class="$style.progressContainer") div(:class="$style.progressContainer")
@ -205,6 +217,109 @@ export default {
_lyricLines: [], _lyricLines: [],
lyricLines: [], lyricLines: [],
isSetedLines: false, isSetedLines: false,
isShowComment: false,
comment: {
page: 1,
total: 10,
maxPage: 1,
limit: 5,
comments: [{
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [
{
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
},
],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [
{
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
},
{
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
},
],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [],
}, {
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [],
}],
hotComments: [{
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
reply: [
{
text: ['123123hhh'],
userName: 'dsads',
avatar: 'http://img4.kuwo.cn/star/userhead/39/52/1602393411654_512039239s.jpg',
time: '2020-10-22 22:14:17',
likedCount: 100,
},
],
}],
},
} }
}, },
mounted() { mounted() {
@ -224,6 +339,11 @@ export default {
computed: { computed: {
...mapGetters(['setting']), ...mapGetters(['setting']),
...mapGetters('player', ['isShowPlayerDetail']), ...mapGetters('player', ['isShowPlayerDetail']),
title() {
return this.musicInfo.name
? this.setting.download.fileName.replace('歌名', this.musicInfo.name).replace('歌手', this.musicInfo.singer)
: '^-^'
},
}, },
methods: { methods: {
...mapMutations('player', [ ...mapMutations('player', [
@ -325,6 +445,9 @@ export default {
close() { close() {
window.eventHub.$emit(eventBaseName.close) window.eventHub.$emit(eventBaseName.close)
}, },
handleToggleCommentPage(page) {
},
}, },
} }
</script> </script>
@ -452,33 +575,56 @@ export default {
overflow: hidden; overflow: hidden;
display: flex; display: flex;
padding: 0 30px; padding: 0 30px;
&.showComment {
.left {
flex-basis: 18%;
.description p {
font-size: 12px;
}
}
.right {
flex-basis: 30%;
.lyric {
font-size: 13px;
}
}
.comment {
flex-basis: 50%;
opacity: 1;
}
}
} }
.left { .left {
flex: 0 0 40%; flex: auto;
overflow: hidden;
}
.info {
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;
align-items: center; align-items: center;
padding: 13px;
overflow: hidden;
transition: flex-basis @transition-theme;
}
.info {
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
max-width: 300px;
} }
.img { .img {
width: 300px;
height: 300px;
display: flex;
justify-content: flex-start;
align-items: center;
img {
max-width: 100%; max-width: 100%;
max-height: 100%; max-height: 100%;
border: 5px solid @color-theme-hover; min-width: 100%;
box-shadow: 0 0 4px @color-theme-hover;
border-radius: 6px;
opacity: .8;
// border: 5px solid @color-theme-hover;
// border-radius: @radius-border; // border-radius: @radius-border;
// border: 5px solid #fff; // border: 5px solid #fff;
} }
}
.description { .description {
width: 300px; max-width: 300px;
padding: 15px 0; padding: 15px 0;
overflow: hidden; overflow: hidden;
p { p {
@ -492,6 +638,8 @@ export default {
flex: 0 0 60%; flex: 0 0 60%;
// padding: 0 30px; // padding: 0 30px;
position: relative; position: relative;
transition: flex-basis @transition-theme;
&:before { &:before {
position: absolute; position: absolute;
top: 0; top: 0;
@ -537,19 +685,48 @@ export default {
color: @color-theme; color: @color-theme;
font-size: 1.2em; font-size: 1.2em;
} }
.comment {
flex: 0 0 0;
display: flex;
flex-flow: column nowrap;
transition: @transition-theme;
transition-property: flex-basis opacity;
overflow: hidden;
opacity: 0;
}
.commentHeader {
flex: none;
padding-bottom: 10px;
// border-bottom: 1px solid #eee;
h3 {
font-size: 14px;
}
}
.commentMain {
flex: auto;
padding-left: 15px;
padding-right: 10px;
background-color: @color-reply-floor;
border-radius: 4px;
}
.commentType {
padding: 10px 0;
font-size: 13px;
color: @color-theme_2-font;
}
.pagination {
padding: 10px 0;
}
.footer { .footer {
flex: 0 0 100px; flex: 0 0 100px;
overflow: hidden; overflow: hidden;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.left {
flex: auto;
display: flex;
flex-flow: column nowrap;
align-items: center;
padding-top: 13px;
}
.progress-container { .progress-container {
width: 100%; width: 100%;
position: relative; position: relative;
@ -686,9 +863,8 @@ each(@themes, {
} }
} }
.img { .img {
img { box-shadow: 0 0 4px ~'@{color-@{value}-theme-hover}';
border-color: ~'@{color-@{value}-theme-hover}'; // border-color: ~'@{color-@{value}-theme-hover}';
}
} }
.lrc-active { .lrc-active {
color: ~'@{color-@{value}-theme}'; color: ~'@{color-@{value}-theme}';

View File

@ -0,0 +1,130 @@
<template lang="pug">
div(:class="$style.container")
ul
li(v-for="(item, index) in comments" :key="item.id" :class="$style.listItem")
div(:class="$style.content")
div(:class="$style.left")
img( :class="$style.avatar" :src="item.avatar || commentDefImg" @error="handleUserImg")
div(:class="$style.right")
div(:class="$style.info")
div(:class="$style.name") {{item.userName}}
time(:class="$style.time") {{timeFormat(item.time)}}
div(:class="$style.likes") {{item.likedCount}}
div(:class="$style.comment_text")
p(v-for="text in item.text") {{text}}
material-comment-floor(v-if="item.reply && item.reply.length" :class="$style.reply_floor" :comments="item.reply")
</template>
<script>
import commentDefImg from '../../assets/images/defaultUser.jpg'
export default {
props: {
comments: {
type: Array,
default() {
return []
},
},
},
data() {
return {
commentDefImg,
}
},
methods: {
timeFormat(time) {
return time
// return formatTime(new Date(time), true)
},
handleUserImg(event) {
event.target.src = this.commentDefImg
},
},
}
</script>
<style lang="less" module>
@import '../../assets/styles/layout.less';
@padding: 15px;
.container {
}
.listItem {
border-bottom: 1px dashed @color-theme_2-line;
}
.content {
padding: 12px 0;
font-size: 13px;
color: @color-theme_2-font;
display: flex;
}
.left {
flex: none;
}
.avatar {
width: 40px;
border-radius: 4px;
box-shadow: 0 0 2px rgba(0, 0, 0, .15);
}
.right {
flex: auto;
min-width: 0;
margin-left: 10px;
}
.info {
display: flex;
flex-flow: row nowrap;
align-items: flex-end;
min-width: 0;
}
.name {
flex: auto;
min-width: 0;
.mixin-ellipsis-1;
}
.time {
flex: none;
color: @color-theme_2-font-label;
font-size: 11px;
margin-left: 10px;
}
.likes {
flex: none;
margin-left: 10px;
color: @color-theme_2-font-label;
font-size: 11px;
align-self: flex-end;
}
.comment_text {
text-align: justify;
font-size: 14px;
p {
line-height: 1.5;
margin-top: 8px;
}
}
.reply_floor {
padding: 0 0 0 @padding;
margin-left: @padding * 2;
border-radius: .5rem;
&:last-child {
margin-bottom: 12px;
}
.listItem:last-child {
border-bottom: none;
}
.right {
margin-right: 10px;
}
background-color: @color-reply-floor;
}
</style>

View File

@ -1,7 +1,7 @@
<template lang="pug"> <template lang="pug">
input(:class="$style.input" :type="type" :placeholder="placeholder" :value="value" :disabled="disabled" input(:class="$style.input" :type="type" :placeholder="placeholder" :value="value" :disabled="disabled"
@focus="$emit('focus', $event)" @blur="$emit('blur', $event)" @input="$emit('input', $event.trim())" @change="$emit('change', text)" @focus="$emit('focus', $event)" @blur="$emit('blur', $event)" @input="$emit('input', $event.target.value.trim())" @change="$emit('change', $event.target.value.trim())"
@keyup.enter="$emit('submit', text)") @keyup.enter="$emit('submit', $event.target.value.trim())")
</template> </template>
<script> <script>

View File

@ -25,7 +25,7 @@ material-modal(:show="version.showModal" @close="handleClose" v-if="version.newV
| 自动更新~ | 自动更新~
material-btn(:class="$style.btn" @click.onec="handleRestartClick") 立即重启更新 material-btn(:class="$style.btn" @click.onec="handleRestartClick") 立即重启更新
main(:class="$style.main" v-else-if="version.isError && !version.isUnknow && version.newVersion.version != version.version") main(:class="$style.main" v-else-if="version.isError && !version.isUnknow && version.newVersion.version != version.version")
h2 版本更新出错 h2 🌟发现新版本🌟
div.scroll(:class="$style.info") div.scroll(:class="$style.info")
div(:class="$style.current") div(:class="$style.current")
@ -41,12 +41,8 @@ material-modal(:show="version.showModal" @close="handleClose" v-if="version.newV
div(:class="$style.footer") div(:class="$style.footer")
div(:class="$style.desc") div(:class="$style.desc")
p 发现有新版本啦但是自动更新功能出问题了 p 发现有新版本啦快去下载新版本吧
p material-btn(:class="$style.btn" @click.onec="handleOpenUrl('https://www.sixyin.com/544.html')" title="点击打开") 软件发布网站
| 你可以去&nbsp;
strong.hover.underline(@click="handleOpenUrl('https://www.sixyin.com/544.html')" title="点击打开") 软件发布网站
| &nbsp;下载新版本
material-btn(:class="$style.btn" @click.onec="handleIgnoreClick") {{ isIgnored ? '恢复当前版本的更新失败提醒' : '忽略当前版本的更新失败提醒'}}
main(:class="$style.main" v-else-if="version.isDownloading && version.isTimeOut && !version.isUnknow") main(:class="$style.main" v-else-if="version.isDownloading && version.isTimeOut && !version.isUnknow")
h2 新版本下载超时 h2 新版本下载超时
div(:class="$style.desc") div(:class="$style.desc")

View File

@ -106,7 +106,7 @@
"hot_key_desktop_lyric_toggle_always_top": "Top Desktop Lyrics Switch", "hot_key_desktop_lyric_toggle_always_top": "Top Desktop Lyrics Switch",
"network": "Network", "network": "Network",
"network_proxy_title": "Proxy (False setting would block Internet connections)", "network_proxy_title": "HTTP Proxy (False setting would block Internet connections)",
"network_proxy_host": "Host", "network_proxy_host": "Host",
"network_proxy_port": "Port", "network_proxy_port": "Port",
"network_proxy_username": "Username", "network_proxy_username": "Username",

View File

@ -107,7 +107,7 @@
"hot_key_desktop_lyric_toggle_always_top": "桌面歌词置顶切换", "hot_key_desktop_lyric_toggle_always_top": "桌面歌词置顶切换",
"network": "网络设置", "network": "网络设置",
"network_proxy_title": "代理设置(乱设置软件将无法联网)", "network_proxy_title": "HTTP代理设置(乱设置软件将无法联网)",
"network_proxy_host": "主机", "network_proxy_host": "主机",
"network_proxy_port": "端口", "network_proxy_port": "端口",
"network_proxy_username": "用户名", "network_proxy_username": "用户名",

View File

@ -100,7 +100,7 @@
"hot_key_desktop_lyric_toggle_lock": "桌面歌詞鎖定切換", "hot_key_desktop_lyric_toggle_lock": "桌面歌詞鎖定切換",
"hot_key_desktop_lyric_toggle_always_top": "桌面歌詞置頂切換", "hot_key_desktop_lyric_toggle_always_top": "桌面歌詞置頂切換",
"network": "網絡設置", "network": "網絡設置",
"network_proxy_title": "代理設置(亂設置軟件將無法聯網)", "network_proxy_title": "HTTP代理設置(亂設置軟件將無法聯網)",
"network_proxy_host": "主機", "network_proxy_host": "主機",
"network_proxy_port": "端口", "network_proxy_port": "端口",
"network_proxy_username": "用戶名", "network_proxy_username": "用戶名",
@ -141,7 +141,7 @@
"update_open_version_modal_btn": "打開更新窗口 🚀", "update_open_version_modal_btn": "打開更新窗口 🚀",
"update_checking": "檢查更新中...", "update_checking": "檢查更新中...",
"update_init": "更新初始化中...", "update_init": "更新初始化中...",
"about": "關於洛雪音樂(野雞版)", "about": "關於洛雪音樂(五音版)",
"is_enable": "是否啟用", "is_enable": "是否啟用",
"is_show": "是否顯示", "is_show": "是否顯示",
"click_open": "點擊打開", "click_open": "點擊打開",

View File

@ -1,11 +1,10 @@
// import api from 'api/connom' // import api from 'api/connom'
import { httpGet } from '../utils/request' import { httpGet } from '../utils/request'
import { author, name } from '../../../package.json'
export default { export default {
getVersionInfo(state, retryNum = 0) { getVersionInfo(state, retryNum = 0) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
httpGet(`https://raw.githubusercontent.com/${author.name}/${name}/master/publish/version.json`, { httpGet('https://www.sixyin.com/version/lx_music_by_wy/version.json', {
timeout: 20000, timeout: 20000,
}, (err, resp, body) => { }, (err, resp, body) => {
if (err) { if (err) {

View File

@ -84,12 +84,11 @@ export default {
if (limit != null) this.limit = limit if (limit != null) this.limit = limit
return this.musicSearch(str, page).then(result => { return this.musicSearch(str, page).then(result => {
if (!result || result.code !== 200) return this.search(str, page, { limit }, retryNum) if (!result || result.code !== 200) return this.search(str, page, { limit }, retryNum)
// console.log(result.result) let list = this.handleResult(result.result.songs || [])
let list = this.handleResult(result.result.songs)
if (list == null) return this.search(str, page, { limit }, retryNum) if (list == null) return this.search(str, page, { limit }, retryNum)
this.total = result.result.songCount this.total = result.result.songCount || 0
this.page = page this.page = page
this.allPage = Math.ceil(this.total / this.limit) this.allPage = Math.ceil(this.total / this.limit)