You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
3.1 KiB
80 lines
3.1 KiB
import axios from "axios";
|
|
import AdminApi from "@/api/AdminApi";
|
|
|
|
export default class GlobalApi {
|
|
stats = {
|
|
'statistic':null,
|
|
'servers': null,
|
|
'uniq': null
|
|
}
|
|
loading = false;
|
|
|
|
admin = new AdminApi()
|
|
|
|
constructor() {
|
|
}
|
|
|
|
async fillThis(value) {
|
|
console.log(`[API] load: ${value}`);
|
|
return await axios.get(`/api/stats?filter=${value}`)
|
|
.then(response => response.data)
|
|
.then(response => {
|
|
this.stats[value] = response[value];
|
|
})
|
|
.catch(err => {
|
|
console.log(`[API] cannot request ${value}, err: ${err}`);
|
|
})
|
|
}
|
|
|
|
async fillServers() {
|
|
console.log(`[API] load: servers`);
|
|
return axios.get("/api/stats?filter=servers")
|
|
.then(response => response.data['servers'])
|
|
.then(response => {
|
|
let srvs = {
|
|
'w':[],
|
|
"e":[],
|
|
'n':[]
|
|
};
|
|
for (let srv in response) {
|
|
if (response[srv]['status'] == false) srvs.n.push(response[srv]);
|
|
else if (response[srv]['player_count'] > 0) srvs.w.push(response[srv]);
|
|
else srvs.e.push(response[srv]);
|
|
}
|
|
this.stats['servers'] = srvs;
|
|
})
|
|
.catch(err => {
|
|
console.log(`[API] cannot request servers, err: ${err}`);
|
|
});
|
|
}
|
|
|
|
async load() {
|
|
this.loading = true;
|
|
await this.fillThis('statistic');
|
|
await this.fillThis('uniq');
|
|
await this.fillServers();
|
|
await this.admin.load();
|
|
this.loading = false;
|
|
}
|
|
|
|
getRandomBackground() {
|
|
const backgrounds = [
|
|
require('../assets/images/backgrounds/1.png'),
|
|
require('../assets/images/backgrounds/2.png'),
|
|
require('../assets/images/backgrounds/3.png'),
|
|
require('../assets/images/backgrounds/4.png')
|
|
];
|
|
return backgrounds[Math.floor(Math.random() * backgrounds.length)];
|
|
}
|
|
|
|
getRules(){
|
|
return [
|
|
[{"name":"Читы", "about":"Бан навсегда сука", "image": require('@/assets/images/rules/cheats.jpg')},
|
|
{"name":"Реклама серверов", "about":"Кроме мге, бан навсегда сука", "image": require('@/assets/images/rules/ads.jpg')},
|
|
{"name":"Багоюз", "about":"Пиздец тебе, бан навсегда", "image": require('@/assets/images/rules/bug_use.jpg')}],
|
|
[{"name":"Абуз команды !mir", "about":"Блокировка дверей, открытие спавна и т.д", "image":require('@/assets/images/rules/abuse.jpg')},
|
|
{"name":"Абуз випки на сервере", "about":"Модеры сам решат как и за что", "image":require('@/assets/images/rules/abuse_vip.jpg')},
|
|
{"name":"Делай короче чё хочешь", "about":":troll_face:", "image":require('@/assets/images/rules/make_everyone.jpg')}]
|
|
];
|
|
}
|
|
}
|
|
|