From b0d6181bd7cae70c252a7d26abb79737c08baa20 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Thu, 31 Oct 2019 20:26:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84token=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- publish/changeLog.md | 2 +- src/renderer/utils/music/kw/leaderboard.js | 15 ++++----------- src/renderer/utils/music/kw/util.js | 6 +++++- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 5981922c..8ca92b85 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ npm run pack ### 免责声明 本项目**不开发或者破解直接获取音频数据**的功能,所有音频数据均来自**第三方接口**!
-本软件仅用于**测试 `electron 6.x` 在各种系统上的兼容性**及用于**对比各大音乐平台歌单、排行榜等数据列表的差异性**,使用本软件产生的**任何涉及版权相关的数据**请于**24小时内删除**。
+本软件仅用于**测试 `electron 7` 在各种系统上的兼容性**及用于**对比各大音乐平台歌单、排行榜等数据列表的差异性**,使用本软件产生的**任何涉及版权相关的数据**请于**24小时内删除**。
本软件仅用于学习交流使用,禁止用于商业用途,使用本软件所造成的的后果由使用者承担!
若对此有疑问请 mail to: lyswhut@qq.com diff --git a/publish/changeLog.md b/publish/changeLog.md index da521d70..14019c0b 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -4,5 +4,5 @@ #### 修复 -- 修复酷我源**搜索提示、排行榜**无法获取的问题 +- 修复酷我源**搜索提示**、**排行榜**无法获取的问题 - 修复咪咕源无法播放的问题 diff --git a/src/renderer/utils/music/kw/leaderboard.js b/src/renderer/utils/music/kw/leaderboard.js index 7c9a7b6a..1de9f1e4 100644 --- a/src/renderer/utils/music/kw/leaderboard.js +++ b/src/renderer/utils/music/kw/leaderboard.js @@ -66,8 +66,6 @@ export default { }, limit: 30, - token: null, - isGetingToken: false, _cancelRequestObj: null, _cancelPromiseCancelFn: null, _cancelRequestObj2: null, @@ -95,13 +93,8 @@ export default { cancelHttp(this._cancelRequestObj2) this._cancelPromiseCancelFn2(new Error('取消http请求')) } - if (this.isGetingToken) throw new Error('正在获取token') - let token = this.token - if (!token) { - this.isGetingToken = true - token = await getToken() - this.isGetingToken = false - } + let token = window.kw_token.token + if (!token) token = await getToken() return new Promise((resolve, reject) => { this._cancelPromiseCancelFn2 = reject this._cancelRequestObj2 = httpGet(url, { @@ -115,9 +108,9 @@ export default { this._cancelPromiseCancelFn2 = null if (err) { console.log(err) - reject(err) + return reject(err) } - this.token = matchToken(resp.headers) + window.kw_token.token = matchToken(resp.headers) resolve(body) }) }) diff --git a/src/renderer/utils/music/kw/util.js b/src/renderer/utils/music/kw/util.js index faf7220d..854773b8 100644 --- a/src/renderer/utils/music/kw/util.js +++ b/src/renderer/utils/music/kw/util.js @@ -17,8 +17,12 @@ export const matchToken = headers => { } } +const wait = time => new Promise(resolve => setTimeout(() => resolve(), time)) + + export const getToken = () => new Promise((resolve, reject) => { - if (window.kw_token.isGetingToken) reject(new Error('正在获取token')) + if (window.kw_token.isGetingToken) return wait(1000).then(() => getToken().then(token => resolve(token))) + if (window.kw_token.token) return resolve(window.kw_token.token) window.kw_token.isGetingToken = true httpGet('http://www.kuwo.cn', (err, resp) => { window.kw_token.isGetingToken = false