feat(admin): rebuild page display settings

This commit is contained in:
2026-08-19 00:07:13 +08:00
parent 09b1e8fd35
commit 480e2bf07e
117 changed files with 1815 additions and 9081 deletions
+78 -4
View File
@@ -3,7 +3,15 @@
<n-message-provider>
<n-dialog-provider>
<n-notification-provider>
<n-layout v-if="!isMobile" class="aksrt-admin-layout" has-sider>
<div v-if="!isMobile" class="aksrt-csf-shell">
<header class="aksrt-csf-header">
<div>
<h1>AKSRT主题设置 <small>页面与功能配置</small></h1>
<p>欢迎使用 AKSRT 主题</p>
</div>
<span class="aksrt-csf-version">V{{ themeVersion }}</span>
</header>
<n-layout class="aksrt-admin-layout" has-sider>
<n-layout-sider
bordered
collapse-mode="width"
@@ -47,6 +55,7 @@
</div>
</n-layout>
</n-layout>
</div>
<div v-else class="aksrt-admin-mobile">
<MobileTopBar :title="currentPageTitle" @toggle="drawerActive = true" />
@@ -101,6 +110,7 @@ const collapsed = ref(false)
const pageError = ref(null)
const isMobile = ref(false)
const drawerActive = ref(false)
const themeVersion = window.aksrtAdminData?.version || '9.0'
function checkMobile() {
isMobile.value = window.innerWidth < 768
@@ -205,7 +215,7 @@ function handleMenuClick(key) {
display: flex;
align-items: center;
justify-content: center;
height: 60px;
height: 72px;
gap: 10px;
border-bottom: 1px solid var(--n-border-color, #efeff5);
}
@@ -222,7 +232,7 @@ function handleMenuClick(key) {
width: 28px;
height: 28px;
border-radius: 8px;
background: #18a058;
background: linear-gradient(135deg, #65bff7 10%, #0d67b9 100%);
color: #fff;
font-size: 12px;
font-weight: 700;
@@ -237,7 +247,71 @@ function handleMenuClick(key) {
}
.aksrt-admin-content__inner {
padding: 24px 28px;
padding: 30px;
}
.aksrt-csf-shell {
max-width: 1380px;
margin: 20px auto;
overflow: hidden;
border-radius: 8px;
box-shadow: 0 0 20px rgba(82, 82, 82, .1);
}
.aksrt-csf-header {
position: relative;
display: flex;
min-height: 108px;
align-items: center;
justify-content: space-between;
overflow: hidden;
padding: 22px 34px;
color: #fff;
background: linear-gradient(135deg, #f97794 10%, #623aa2 100%);
}
.aksrt-csf-header::before {
position: absolute;
left: 10%;
bottom: -25px;
content: 'AKSRT';
color: rgba(255, 255, 255, .05);
font-size: 100px;
font-weight: 800;
font-style: oblique;
transform: rotate(-5deg) scaleX(1.5);
}
.aksrt-csf-header h1,
.aksrt-csf-header p {
position: relative;
z-index: 1;
margin: 0;
color: #fff;
}
.aksrt-csf-header h1 {
font-size: 26px;
}
.aksrt-csf-header h1 small {
margin-left: 8px;
font-size: 13px;
font-weight: 400;
}
.aksrt-csf-header p {
margin-top: 7px;
opacity: .78;
}
.aksrt-csf-version {
position: relative;
z-index: 1;
padding: 5px 12px;
border: 1px solid rgba(255, 255, 255, .3);
border-radius: 20px;
background: rgba(255, 255, 255, .1);
}
.aksrt-admin-mobile {