mirror of
https://github.com/koel/koel
synced 2025-01-04 16:58:49 +00:00
40 lines
1 KiB
JavaScript
40 lines
1 KiB
JavaScript
import Vue from 'vue';
|
|
import NProgress from 'nprogress';
|
|
|
|
/**
|
|
* Responsible for all HTTP requests.
|
|
*/
|
|
export default {
|
|
request(method, url, data, successCb = null, errorCb = null) {
|
|
return Vue.http[method](url, data).then(successCb).catch(() => {
|
|
NProgress.done();
|
|
|
|
if (errorCb) {
|
|
errorCb();
|
|
}
|
|
});
|
|
},
|
|
|
|
get(url, successCb = null, errorCb = null) {
|
|
return this.request('get', url, {}, successCb, errorCb);
|
|
},
|
|
|
|
post(url, data, successCb = null, errorCb = null) {
|
|
return this.request('post', url, data, successCb, errorCb);
|
|
},
|
|
|
|
put(url, data, successCb = null, errorCb = null) {
|
|
return this.request('put', url, data, successCb, errorCb);
|
|
},
|
|
|
|
delete(url, data = {}, successCb = null, errorCb = null) {
|
|
return this.request('delete', url, data, successCb, errorCb);
|
|
},
|
|
|
|
/**
|
|
* A shortcut method to ping and check if the user session is still valid.
|
|
*/
|
|
ping() {
|
|
return this.get('/');
|
|
},
|
|
};
|