UNPKG

nuxtify-api

Version:

Lightweight music API for client without third-party libraries.

1 lines 1.69 kB
"use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{c(i.next(e))}catch(e){n(e)}}function o(e){try{c(i.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}c((i=i.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Search=void 0;const base_1=require("../base");class Search extends base_1.Base{getResult(e){return __awaiter(this,void 0,void 0,(function*(){try{if(!e.trim())throw new Error("Invalid query string");const t=this.createNoIdSig("/api/v2/search/multi");return yield this.createRequest("/api/v2/search/multi",{q:e,sig:t})}catch(e){throw e}}))}getResultByType(e){return __awaiter(this,void 0,void 0,(function*(){try{const{q:t,type:r,page:i=1}=e;if(!t.trim())throw new Error("Invalid query string");if(!["song","playlist","artist","video"].includes(r))throw new Error("Invalid type");const a=this.createSearchSig("/api/v2/search",r,i);return yield this.createRequest("/api/v2/search",{q:t,sig:a,type:r,count:20,page:i})}catch(e){throw e}}))}getRecommendKeyword(){return __awaiter(this,void 0,void 0,(function*(){try{const e=this.createNoIdSig("/api/v2/app/get/recommend-keyword");return yield this.createRequest("/api/v2/app/get/recommend-keyword",{sig:e})}catch(e){throw e}}))}getSuggestion(e){return __awaiter(this,void 0,void 0,(function*(){try{const t=this.createNoIdSig("/v1/web/ac-suggestions"),r=yield fetch("https://ac.zingmp3.vn/v1/web/ac-suggestions?"+new URLSearchParams({sig:t,query:e,language:"vi",num:"10"}));return yield r.json()}catch(e){throw e}}))}}exports.Search=Search;