新增音乐sdk初始化方法
parent
c881f8e886
commit
0df3ca3c5f
|
@ -22,6 +22,7 @@ import dnscache from 'dnscache'
|
||||||
import { mapMutations, mapGetters, mapActions } from 'vuex'
|
import { mapMutations, mapGetters, mapActions } from 'vuex'
|
||||||
import { rendererOn } from '../common/icp'
|
import { rendererOn } from '../common/icp'
|
||||||
import { isLinux } from '../common/utils'
|
import { isLinux } from '../common/utils'
|
||||||
|
import music from './utils/music'
|
||||||
window.ELECTRON_DISABLE_SECURITY_WARNINGS = process.env.ELECTRON_DISABLE_SECURITY_WARNINGS
|
window.ELECTRON_DISABLE_SECURITY_WARNINGS = process.env.ELECTRON_DISABLE_SECURITY_WARNINGS
|
||||||
dnscache({
|
dnscache({
|
||||||
enable: true,
|
enable: true,
|
||||||
|
@ -145,6 +146,9 @@ export default {
|
||||||
this.globalObj.apiSource = this.setting.apiSource
|
this.globalObj.apiSource = this.setting.apiSource
|
||||||
this.globalObj.proxy = Object.assign({}, this.setting.network.proxy)
|
this.globalObj.proxy = Object.assign({}, this.setting.network.proxy)
|
||||||
window.globalObj = this.globalObj
|
window.globalObj = this.globalObj
|
||||||
|
|
||||||
|
// 初始化音乐sdk
|
||||||
|
music.init()
|
||||||
},
|
},
|
||||||
enableIgnoreMouseEvents() {
|
enableIgnoreMouseEvents() {
|
||||||
if (isLinux) return
|
if (isLinux) return
|
||||||
|
|
|
@ -4,7 +4,7 @@ import tx from './tx'
|
||||||
import wy from './wy'
|
import wy from './wy'
|
||||||
import mg from './mg'
|
import mg from './mg'
|
||||||
import bd from './bd'
|
import bd from './bd'
|
||||||
export default {
|
const sources = {
|
||||||
sources: [
|
sources: [
|
||||||
{
|
{
|
||||||
name: '酷我音乐',
|
name: '酷我音乐',
|
||||||
|
@ -38,3 +38,12 @@ export default {
|
||||||
mg,
|
mg,
|
||||||
bd,
|
bd,
|
||||||
}
|
}
|
||||||
|
export default {
|
||||||
|
...sources,
|
||||||
|
init() {
|
||||||
|
for (let source of sources.sources) {
|
||||||
|
let sm = sources[source.id]
|
||||||
|
sm && sm.init && sm.init()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { httpGet, cancelHttp } from '../../request'
|
import { httpGet, cancelHttp } from '../../request'
|
||||||
import tempSearch from './tempSearch'
|
import tempSearch from './tempSearch'
|
||||||
import musicSearch from './musicSearch'
|
import musicSearch from './musicSearch'
|
||||||
import { formatSinger } from './util'
|
import { formatSinger, getToken } from './util'
|
||||||
import leaderboard from './leaderboard'
|
import leaderboard from './leaderboard'
|
||||||
import lyric from './lyric'
|
import lyric from './lyric'
|
||||||
import pic from './pic'
|
import pic from './pic'
|
||||||
|
@ -96,6 +96,10 @@ const kw = {
|
||||||
getPic(songInfo) {
|
getPic(songInfo) {
|
||||||
return pic.getPic(songInfo)
|
return pic.getPic(songInfo)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
init() {
|
||||||
|
getToken()
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default kw
|
export default kw
|
||||||
|
|
|
@ -2,12 +2,11 @@ import { httpFetch } from '../../request'
|
||||||
import { decodeName } from '../../index'
|
import { decodeName } from '../../index'
|
||||||
import { getToken, matchToken } from './util'
|
import { getToken, matchToken } from './util'
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
regExps: {
|
regExps: {
|
||||||
relWord: /RELWORD=(.+)/,
|
relWord: /RELWORD=(.+)/,
|
||||||
},
|
},
|
||||||
token: null,
|
|
||||||
isGetingToken: false,
|
|
||||||
requestObj: null,
|
requestObj: null,
|
||||||
tempSearch(str, token) {
|
tempSearch(str, token) {
|
||||||
this.cancelTempSearch()
|
this.cancelTempSearch()
|
||||||
|
@ -20,7 +19,7 @@ export default {
|
||||||
})
|
})
|
||||||
return this.requestObj.promise.then(({ statusCode, body, headers }) => {
|
return this.requestObj.promise.then(({ statusCode, body, headers }) => {
|
||||||
if (statusCode != 200) return Promise.reject(new Error('请求失败'))
|
if (statusCode != 200) return Promise.reject(new Error('请求失败'))
|
||||||
this.token = matchToken(headers)
|
window.kw_token.token = matchToken(headers)
|
||||||
if (body.code !== 200) return Promise.reject(new Error('请求失败'))
|
if (body.code !== 200) return Promise.reject(new Error('请求失败'))
|
||||||
return body
|
return body
|
||||||
})
|
})
|
||||||
|
@ -35,13 +34,8 @@ export default {
|
||||||
if (this.requestObj && this.requestObj.cancelHttp) this.requestObj.cancelHttp()
|
if (this.requestObj && this.requestObj.cancelHttp) this.requestObj.cancelHttp()
|
||||||
},
|
},
|
||||||
async search(str) {
|
async search(str) {
|
||||||
let token = this.token
|
let token = window.kw_token.token
|
||||||
if (this.isGetingToken) throw new Error('正在获取token')
|
if (!token) token = await getToken()
|
||||||
if (!this.token) {
|
|
||||||
this.isGetingToken = true
|
|
||||||
token = await getToken()
|
|
||||||
this.isGetingToken = false
|
|
||||||
}
|
|
||||||
return this.tempSearch(str, token).then(result => this.handleResult(result.data))
|
return this.tempSearch(str, token).then(result => this.handleResult(result.data))
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,30 @@
|
||||||
import { httpGet } from '../../request'
|
import { httpGet } from '../../request'
|
||||||
|
|
||||||
|
if (!window.kw_token) {
|
||||||
|
window.kw_token = {
|
||||||
|
token: null,
|
||||||
|
isGetingToken: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export const formatSinger = rawData => rawData.replace(/&/g, '、')
|
export const formatSinger = rawData => rawData.replace(/&/g, '、')
|
||||||
|
|
||||||
export const matchToken = headers => headers['set-cookie'][0].match(/kw_token=(\w+)/)[1]
|
export const matchToken = headers => {
|
||||||
|
try {
|
||||||
|
return headers['set-cookie'][0].match(/kw_token=(\w+)/)[1]
|
||||||
|
} catch (err) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export const getToken = () => new Promise((resolve, reject) => {
|
export const getToken = () => new Promise((resolve, reject) => {
|
||||||
|
if (window.kw_token.isGetingToken) reject(new Error('正在获取token'))
|
||||||
|
window.kw_token.isGetingToken = true
|
||||||
httpGet('http://www.kuwo.cn', (err, resp) => {
|
httpGet('http://www.kuwo.cn', (err, resp) => {
|
||||||
|
window.kw_token.isGetingToken = false
|
||||||
if (err) return reject(err)
|
if (err) return reject(err)
|
||||||
if (resp.statusCode != 200) return reject(new Error('获取失败'))
|
if (resp.statusCode != 200) return reject(new Error('获取失败'))
|
||||||
const token = matchToken(resp.headers)
|
const token = window.kw_token.token = matchToken(resp.headers)
|
||||||
resolve(token)
|
resolve(token)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue