Bye bye spot.js
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
export default class Api {
|
||||
|
||||
constructor({server, processPage, timezone, errorCode, lang}) {
|
||||
this.server = server;
|
||||
this.processPage = processPage;
|
||||
this.timezone = timezone;
|
||||
this.errorCode = errorCode;
|
||||
this.lang = lang;
|
||||
}
|
||||
|
||||
async get(action, params = {}) {
|
||||
const requestParams = {
|
||||
...params,
|
||||
a: action,
|
||||
t: this.timezone
|
||||
};
|
||||
|
||||
const url = new URL(this.processPage, this.server);
|
||||
url.search = new URLSearchParams(requestParams).toString();
|
||||
|
||||
const request = await fetch(url, {
|
||||
method: 'GET',
|
||||
headers: {'Content-Type': 'application/json'}
|
||||
});
|
||||
|
||||
if(!request.ok) {
|
||||
throw new Error('Error HTTP ' + request.status + ': ' + request.statusText);
|
||||
}
|
||||
|
||||
const response = await request.json();
|
||||
response.desc = this.lang.parse(response.desc);
|
||||
|
||||
if(response.result == this.errorCode) {
|
||||
throw response.desc;
|
||||
}
|
||||
|
||||
return response.data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user