gsd 1 year ago
parent
commit
921c504885
  1. 13
      src/api/AdminApi.js
  2. 6
      src/components/Others/Loader/ProfileViewer.vue
  3. 40
      src/components/TabsMenuElements/ProfileView/Components/ProfileContainer.vue

13
src/api/AdminApi.js

@ -4,7 +4,8 @@ export default class AdminApi {
permition = {
ban:false,
mute:false,
kick:false
kick:false,
alt:false
}
async checkPermition(name) {
@ -17,6 +18,13 @@ export default class AdminApi {
});
}
async checkAltAccess(){
return axios.options('/api/admin/db/alt').then(
response => {if (response.status === 200) this.permition.alt = true;
else this.permition.alt = false;}
).catch(()=>this.permition.alt = false)
}
async load(stages) {
console.log(`[AdminAPI] request permissions`);
if (document.cookie.indexOf("steam64=") === -1) return;
@ -24,7 +32,8 @@ export default class AdminApi {
await Promise.all([
this.checkPermition('ban'),
this.checkPermition('mute'),
this.checkPermition('kick')
this.checkPermition('kick'),
this.checkAltAccess()
]);
stages.remove("permitions");
}

6
src/components/Others/Loader/ProfileViewer.vue

@ -34,11 +34,11 @@ export default {
showProfileDialog: false
}),
methods: {
getPlayer() {
if (this.steam64.length === 0) return;
getPlayer(s64) {
if (this.steam64.length === 0 && s64 === undefined) return;
this.showProfileDialog = true;
this.loading = true;
axios.get(`/api/profile/web?steam64=${this.steam64}&requests=${PLAYER_REQUESTS}`).then(response => {
axios.get(`/api/profile/web?steam64=${s64===undefined?this.steam64:s64}&requests=${PLAYER_REQUESTS}`).then(response => {
if (response.status === 200) this.player = response.data;
else console.log("not permition");
}).catch((err) => {

40
src/components/TabsMenuElements/ProfileView/Components/ProfileContainer.vue

@ -36,14 +36,14 @@
<md-menu-item v-for="g in usertime.store" :key="g[0]+'g'">{{g[0]}} - {{timeFormat(g[1])}}</md-menu-item>
</md-menu-content>
</md-menu>
<br>
<div style="padding: 1% 0%"/>
<md-menu md-direction="bottom-start" md-size="auto">
<md-button class="md-raised btn-strange" md-menu-trigger>Последние игры</md-button>
<md-menu-content>
<md-menu-item v-for="l in getLastPlay()" :key="l[0]+'l'">{{l[0]}} - {{l[1]}}</md-menu-item>
</md-menu-content>
</md-menu>
<br>
<div style="padding: 1% 0%"/>
<!--DONATES-->
<md-button v-on:click="loadingDonates()" v-if="donates.loaded === false" class="md-raised btn-strange" style="margin: 0% 0%" md-menu-trigger>{{donates.loading?'Загрузка':'Покупки VIP'}}</md-button>
<md-menu v-else md-direction="bottom-start" md-size="auto">
@ -52,7 +52,7 @@
<md-menu-item v-for="d in donates.store" :key="d['utime']+'d'">{{new Date(d['utime'] * 1000).toLocaleDateString()}} | {{d['status']}}</md-menu-item>
</md-menu-content>
</md-menu>
<br>
<div style="padding: 1% 0%"/>
<!--BAN LIST-->
<md-button v-on:click="loadingBanList()" v-if="ban_list.loaded === false" class="md-raised btn-strange" style="margin: 0% 0%" md-menu-trigger>{{ban_list.loading?'Загрузка':'История банов'}}</md-button>
<md-menu v-else md-direction="bottom-start" md-size="auto">
@ -61,6 +61,16 @@
<md-menu-item v-for="b in ban_list.store" :key="b['id']+'b'">#{{b['id']}} | {{new Date(b['ban_utime'] * 1000).toLocaleDateString()}} | {{b['ban_length']===0?'Навсегда':`${b['ban_length']} минут`}}</md-menu-item>
</md-menu-content>
</md-menu>
<div style="padding: 1% 0%"/>
<!--ALT ACCOUNTS-->
<md-button v-on:click="loadingAltList()" v-if="this.$API.admin.permition.alt === true && altaccount.loaded === false" class="md-raised btn-strange" style="margin: 0% 0%" md-menu-trigger>{{altaccount.loading?'Загрузка':'Альт.аккаунты'}}</md-button>
<md-menu v-if="this.$API.admin.permition.alt === true && altaccount.loaded === true" md-direction="bottom-start" md-size="auto">
<md-button class="md-raised btn-strange" md-menu-trigger>Альт.аккаунты</md-button>
<md-menu-content>
<md-menu-item class="clickable" v-for="b in altaccount.store" :key="b" v-on:click="$refs.ipv.getPlayer(b)">{{b}}</md-menu-item>
</md-menu-content>
<ProfileViewer :steam64="``" ref="ipv"/>
</md-menu>
</div>
<div :class="`md-layout-item md-size-${f_size} md-small-size-100`">
<div style="justify-content: right; display: flex; padding: 10% 0%">
@ -84,10 +94,11 @@
import DiscordSvg from "@/components/Others/CustomSvg/DiscordSvg.vue";
import SteamSvg from "@/components/Others/CustomSvg/SteamSvg.vue";
import axios from "axios";
import ProfileViewer from "@/components/Others/Loader/ProfileViewer.vue";
export default {
name: "ProfileContainer",
components: {SteamSvg, DiscordSvg},
components: {ProfileViewer, SteamSvg, DiscordSvg},
props: {
player: Object,
f_size: {
@ -112,6 +123,11 @@ export default {
loaded: false,
store: [],
total: "Показать"
},
altaccount: {
loading: false,
loaded: false,
store:[]
}
}),
methods: {
@ -189,6 +205,22 @@ export default {
})
.catch(() => this.usertime.loaded = false)
.finally(() => this.usertime.loading = false)
},
loadingAltList(){
if (this.altaccount.loading || this.altaccount.loaded) return;
this.altaccount.loading = true;
axios.get(`api/admin/db/alt?steam64=${this.player['steamids']['steam64']}`)
.then(response => {
if (response.status === 200) {
this.altaccount.store = response.data.map(url => url.split('/').pop()).filter(s64 => s64 !== this.player['steamids']['steam64']);
this.altaccount.loaded = true;
/*if (this.altaccount.store.length === 0) {
this.altaccount.store.push("Чист");
}*/
}
})
.catch(() => this.altaccount.loaded = false)
.finally(() => this.altaccount.loading = false)
}
}
}

Loading…
Cancel
Save