完善token获取机制
parent
82843b14b4
commit
b0d6181bd7
|
@ -80,7 +80,7 @@ npm run pack
|
||||||
### 免责声明
|
### 免责声明
|
||||||
|
|
||||||
本项目**不开发或者破解直接获取音频数据**的功能,所有音频数据均来自**第三方接口**!<br>
|
本项目**不开发或者破解直接获取音频数据**的功能,所有音频数据均来自**第三方接口**!<br>
|
||||||
本软件仅用于**测试 `electron 6.x` 在各种系统上的兼容性**及用于**对比各大音乐平台歌单、排行榜等数据列表的差异性**,使用本软件产生的**任何涉及版权相关的数据**请于**24小时内删除**。<br>
|
本软件仅用于**测试 `electron 7` 在各种系统上的兼容性**及用于**对比各大音乐平台歌单、排行榜等数据列表的差异性**,使用本软件产生的**任何涉及版权相关的数据**请于**24小时内删除**。<br>
|
||||||
本软件仅用于学习交流使用,禁止用于商业用途,使用本软件所造成的的后果由使用者承担!<br>
|
本软件仅用于学习交流使用,禁止用于商业用途,使用本软件所造成的的后果由使用者承担!<br>
|
||||||
若对此有疑问请 mail to: lyswhut@qq.com
|
若对此有疑问请 mail to: lyswhut@qq.com
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
|
|
||||||
#### 修复
|
#### 修复
|
||||||
|
|
||||||
- 修复酷我源**搜索提示、排行榜**无法获取的问题
|
- 修复酷我源**搜索提示**、**排行榜**无法获取的问题
|
||||||
- 修复咪咕源无法播放的问题
|
- 修复咪咕源无法播放的问题
|
||||||
|
|
|
@ -66,8 +66,6 @@ export default {
|
||||||
|
|
||||||
},
|
},
|
||||||
limit: 30,
|
limit: 30,
|
||||||
token: null,
|
|
||||||
isGetingToken: false,
|
|
||||||
_cancelRequestObj: null,
|
_cancelRequestObj: null,
|
||||||
_cancelPromiseCancelFn: null,
|
_cancelPromiseCancelFn: null,
|
||||||
_cancelRequestObj2: null,
|
_cancelRequestObj2: null,
|
||||||
|
@ -95,13 +93,8 @@ export default {
|
||||||
cancelHttp(this._cancelRequestObj2)
|
cancelHttp(this._cancelRequestObj2)
|
||||||
this._cancelPromiseCancelFn2(new Error('取消http请求'))
|
this._cancelPromiseCancelFn2(new Error('取消http请求'))
|
||||||
}
|
}
|
||||||
if (this.isGetingToken) throw new Error('正在获取token')
|
let token = window.kw_token.token
|
||||||
let token = this.token
|
if (!token) token = await getToken()
|
||||||
if (!token) {
|
|
||||||
this.isGetingToken = true
|
|
||||||
token = await getToken()
|
|
||||||
this.isGetingToken = false
|
|
||||||
}
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this._cancelPromiseCancelFn2 = reject
|
this._cancelPromiseCancelFn2 = reject
|
||||||
this._cancelRequestObj2 = httpGet(url, {
|
this._cancelRequestObj2 = httpGet(url, {
|
||||||
|
@ -115,9 +108,9 @@ export default {
|
||||||
this._cancelPromiseCancelFn2 = null
|
this._cancelPromiseCancelFn2 = null
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
reject(err)
|
return reject(err)
|
||||||
}
|
}
|
||||||
this.token = matchToken(resp.headers)
|
window.kw_token.token = matchToken(resp.headers)
|
||||||
resolve(body)
|
resolve(body)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -17,8 +17,12 @@ export const matchToken = headers => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const wait = time => new Promise(resolve => setTimeout(() => resolve(), time))
|
||||||
|
|
||||||
|
|
||||||
export const getToken = () => new Promise((resolve, reject) => {
|
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
|
window.kw_token.isGetingToken = true
|
||||||
httpGet('http://www.kuwo.cn', (err, resp) => {
|
httpGet('http://www.kuwo.cn', (err, resp) => {
|
||||||
window.kw_token.isGetingToken = false
|
window.kw_token.isGetingToken = false
|
||||||
|
|
Loading…
Reference in New Issue