修复搜索提示失效的问题

pull/96/head
lyswhut 2019-10-25 21:36:07 +08:00
parent 0d612bd6df
commit fe44581a61
2 changed files with 15 additions and 18 deletions

View File

@ -2,3 +2,7 @@
- 新增窗口大小设置,若觉得软件窗口小可以到设置页调大点
- 新增定位当前播放歌曲,点击播放栏左侧的**歌曲图片**可在播放列表定位当前播放的歌曲(该功能对播放下载列表的歌曲无效)
#### 修复
- 修复搜索提示失效的问题

View File

@ -1,25 +1,21 @@
import { httpGet, cancelHttp } from '../../request'
import { httpFetch } from '../../request'
import { decodeName } from '../../index'
export default {
regExps: {
relWord: /RELWORD=(.+)/,
},
_musicTempSearchRequestObj: null,
_musicTempSearchPromiseCancelFn: null,
requestObj: null,
tempSearch(str) {
this.cancelTempSearch()
return new Promise((resolve, reject) => {
this._musicTempSearchPromiseCancelFn = reject
this._musicTempSearchRequestObj = httpGet(`http://www.kuwo.cn/api/www/search/searchKey?key=${encodeURIComponent(str)}`, (err, resp, body) => {
this._musicTempSearchRequestObj = null
this._musicTempSearchPromiseCancelFn = null
if (err) {
console.log(err)
reject(err)
}
resolve(body)
})
this.requestObj = httpFetch(`http://www.kuwo.cn/api/www/search/searchKey?key=${encodeURIComponent(str)}`, {
headers: {
Referer: 'http://www.kuwo.cn/',
},
})
return this.requestObj.promise.then(({ statusCode, body }) => {
if (statusCode != 200 || body.code !== 200) return Promise.reject(new Error('请求失败'))
return body
})
},
handleResult(rawData) {
@ -29,10 +25,7 @@ export default {
})
},
cancelTempSearch() {
if (this._musicTempSearchRequestObj != null) {
cancelHttp(this._musicTempSearchRequestObj)
this._musicTempSearchPromiseCancelFn(new Error('取消http请求'))
}
if (this.requestObj && this.requestObj.cancelHttp) this.requestObj.cancelHttp()
},
search(str) {
return this.tempSearch(str).then(result => this.handleResult(result.data))