Admin Panel Startseite funktioniert jetzt
This commit is contained in:
16
src/adminpanellib.ts
Normal file
16
src/adminpanellib.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import RitzenbergenLib from "./ritzenbergenlib";
|
||||||
|
class AdminPanelLib {
|
||||||
|
static async getUserInfo(token:string){
|
||||||
|
const url=new URL(RitzenbergenLib.RitzenbergenLib.api("/admin/userinfo.php"));
|
||||||
|
return fetch(url.toString(), {
|
||||||
|
headers: {
|
||||||
|
"Authorization": "Bearer "+token
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((response)=>response.json());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
AdminPanelLib
|
||||||
|
}
|
||||||
@@ -1,17 +1,25 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import Navbar from "../../components/Navbar.vue";
|
import Navbar from "../../components/Navbar.vue";
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import bcrypt from "bcryptjs";
|
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
import RitzenbergenLib from "../../ritzenbergenlib.ts";
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const saltRounds = 12;
|
|
||||||
|
|
||||||
async function login(){
|
async function login(){
|
||||||
const username2=username.value;
|
const url=new URL(RitzenbergenLib.RitzenbergenLib.api("/admin/login.php"));
|
||||||
const password2=await bcrypt.hash(password.value,saltRounds);
|
url.searchParams.append("username",username.value);
|
||||||
|
url.searchParams.append("password",password.value);
|
||||||
router.push({ name: "adminpanel-main", params: { token: password2 } })
|
const token=await fetch(url)
|
||||||
|
.then((result)=>result.json())
|
||||||
|
.then((result)=>{
|
||||||
|
if(result.success) return result.token;
|
||||||
|
else{
|
||||||
|
window.alert(result.error);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(token!="") router.push({ name: "adminpanel-main", params: { token } })
|
||||||
}
|
}
|
||||||
|
|
||||||
const username=ref("");
|
const username=ref("");
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
|
import AdminPanelLib from "../../adminpanellib.ts";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
const token=ref(route.params.token);
|
const token=ref(route.params.token);
|
||||||
|
const userinfo=ref({})
|
||||||
|
|
||||||
|
AdminPanelLib.AdminPanelLib.getUserInfo(token.value).then((result)=>userinfo.value=result);
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<h1>Admin Panel</h1>
|
<h1>Admin Panel</h1>
|
||||||
<p>Token: {{ token }}</p>
|
<h2>Moin {{ userinfo.username }}!</h2>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user