You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/ui/layout/app.html

124 lines
2.8 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Auth Layout</title>
<style>
.layout-container {
display: flex;
flex-direction: column;
height: 100vh;
width: 100%;
3 weeks ago
background-color: var(--bg-color);
color: var(--text-color);
}
.header {
user-select: none;
height: 60px;
3 weeks ago
background: var(--color-primary);
color: var(--color-primary-text);
display: flex;
align-items: center;
3 weeks ago
padding: 0 var(--spacing-lg);
box-shadow: var(--shadow-sm);
}
.header-title {
3 weeks ago
font-size: var(--font-size-lg);
font-weight: var(--font-weight-bold);
}
.header-title a {
color: inherit;
text-decoration: none;
}
.main-container {
display: flex;
flex: 1;
overflow: hidden;
}
.menu {
3 weeks ago
border-right: 1px solid var(--border-color);
background-color: var(--bg-color-secondary);
}
.content {
flex: 1;
overflow-y: auto;
width: 100%;
height: 100%;
3 weeks ago
padding: var(--spacing-md);
}
.footer {
height: 40px;
3 weeks ago
background: var(--bg-color-secondary);
border-top: 1px solid var(--border-color);
display: flex;
align-items: center;
justify-content: center;
3 weeks ago
font-size: var(--font-size-xs);
color: var(--text-color-secondary);
}
.nav-link {
color: var(--color-primary-text);
text-decoration: none;
margin-left: var(--spacing-md);
font-size: var(--font-size-md);
opacity: 0.9;
transition: opacity var(--transition-base);
}
.nav-link:hover {
opacity: 1;
}
</style>
</head>
<body style="height: 100%;width: 100%;margin: 0;">
<div class="layout-container">
<header class="header">
<div class="header-title">
<a href="@/">首页</a>
</div>
3 weeks ago
<a class="nav-link ml-auto" href="/">应用权限管理</a>
<div vsrc='ico.html' class="ml-auto" style="margin-left: auto;"></div>
</header>
<div class="main-container">
<vslot v='user' class="menu" name='menu'>
3 weeks ago
<v-sidebar :items="menuItems" width="220px" style="height: 100%;"></v-sidebar>
</vslot>
<vslot class="content">
</vslot>
</div>
<footer class="footer">
3 weeks ago
Copyright © 2025 veypi. All Rights Reserved.
</footer>
</div>
</body>
<script setup>
id = $router.params.id;
3 weeks ago
menuItems = [
{ label: "应用简介", path: `/app/${id}` },
{ label: "用户管理", path: `/app/${id}/user` },
{ label: "权限管理", path: `/app/${id}/auth` },
{ label: "应用设置", path: `/app/${id}/settings` }
];
try {
7 months ago
app = await $axios.get(`/api/app/${id}`)
document.title = `${app.name} - 项目主页`
7 months ago
$G.app = app
} catch (e) {
$router.push('/')
console.log(e)
}
</script>
</html>