feat: add super backend

This commit is contained in:
2025-12-16 17:59:53 +08:00
parent 9bc2155008
commit 55c40c4601
17 changed files with 1490 additions and 191 deletions

View File

@@ -1,23 +1,37 @@
<template>
<header style="display: flex; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #eee">
<strong>Super Admin</strong>
<router-link to="/">统计</router-link>
<router-link to="/tenants">租户</router-link>
<router-link to="/roles">角色</router-link>
<span style="flex: 1"></span>
<input v-model="token" placeholder="Bearer token可选" style="width: 320px" />
<button @click="applyToken">应用</button>
</header>
<router-view />
<Toast />
<div class="min-h-screen bg-slate-50 text-slate-900">
<header v-if="authed" class="border-b bg-white">
<div class="mx-auto flex max-w-6xl items-center gap-4 px-4 py-3">
<div class="flex items-center gap-2">
<i class="pi pi-shield text-slate-700"></i>
<span class="font-semibold">Super Admin</span>
</div>
<nav class="flex items-center gap-3 text-sm">
<router-link class="hover:text-indigo-600" to="/tenants">租户列表</router-link>
</nav>
<div class="flex-1"></div>
<Button size="small" severity="secondary" label="退出" @click="logout" />
</div>
</header>
<main class="mx-auto max-w-6xl px-4 py-6">
<router-view />
</main>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { setSuperToken } from './api'
import Toast from 'primevue/toast'
import Button from 'primevue/button'
import { computed } from 'vue'
import { isAuthed, setToken } from './auth'
import { useRouter } from 'vue-router'
const token = ref('')
const router = useRouter()
const authed = computed(() => isAuthed.value)
function applyToken() {
setSuperToken(token.value)
function logout() {
setToken('')
router.push('/login')
}
</script>