import { httpFetch } from '../request.js' import { requestMsg } from '../message.js' import { headers, timeout } from '../options.js' import { dnsLookup } from '../utils.js' const api_test = { getMusicUrl(songInfo, type) { const requestObj = httpFetch(`http://ts.tempmusics.tk/url/kg/${songInfo._types[type].hash}/${type}`, { method: 'get', timeout, headers, lookup: dnsLookup, family: 4, }) requestObj.promise = requestObj.promise.then(({ statusCode, body }) => { if (statusCode == 429) return Promise.reject(new Error(requestMsg.tooManyRequests)) switch (body.code) { case 0: return Promise.resolve({ type, url: body.data }) default: return Promise.reject(new Error(requestMsg.fail)) } }) return requestObj }, getPic(songInfo) { const requestObj = httpFetch(`http://ts.tempmusics.tk/pic/kg/${songInfo.hash}`, { method: 'get', timeout, headers, family: 4, }) requestObj.promise = requestObj.promise.then(({ body }) => { return body.code === 0 ? Promise.resolve(body.data) : Promise.reject(new Error(requestMsg.fail)) }) return requestObj }, getLyric(songInfo) { const requestObj = httpFetch(`http://ts.tempmusics.tk/lrc/kg/${songInfo.hash}`, { method: 'get', timeout, headers, family: 4, }) requestObj.promise = requestObj.promise.then(({ body }) => { return body.code === 0 ? Promise.resolve(body.data) : Promise.reject(new Error(requestMsg.fail)) }) return requestObj }, } export default api_test