-
Notifications
You must be signed in to change notification settings - Fork 2.7k
/
api.js
46 lines (39 loc) · 1013 Bytes
/
api.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
'use strict';
define('api', () => {
const api = {};
const baseUrl = config.relative_path + '/api/v3';
function call(options, onSuccess, onError) {
$.ajax(options)
.done((res) => {
if (onSuccess) {
onSuccess(res.response);
}
})
.fail((ev) => {
if (onError === 'default') {
app.alertError(ev.responseJSON.status.message);
} else if (onError) {
onError(ev.responseJSON);
}
});
}
api.get = (route, payload, onSuccess, onError) => call({
url: baseUrl + route + '?' + $.param(payload),
}, onSuccess, onError);
api.post = (route, payload, onSuccess, onError) => call({
url: baseUrl + route,
method: 'post',
data: payload,
}, onSuccess, onError);
api.put = (route, payload, onSuccess, onError) => call({
url: baseUrl + route,
method: 'put',
data: payload,
}, onSuccess, onError);
api.del = (route, payload, onSuccess, onError) => call({
url: baseUrl + route,
method: 'delete',
data: payload,
}, onSuccess, onError);
return api;
});