优化后台功能

This commit is contained in:
jiangdong.cheng
2026-02-13 10:56:23 +08:00
parent a795b2c896
commit a7f1b7e331
27 changed files with 3725 additions and 197 deletions

View File

@@ -9,11 +9,8 @@
<link rel="canonical" href="@yield('canonical')">
@endif
<meta name="theme-color" content="#eef3fb" id="themeColorMeta">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">
<link href="{{ asset('vendor/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
<link href="{{ asset('vendor/bootstrap-icons/font/bootstrap-icons.min.css') }}" rel="stylesheet">
<style>
:root {
color-scheme: light;
@@ -893,6 +890,125 @@
background: linear-gradient(120deg, #edf4ff, #e9f0ff, #f0efff);
}
.page-detail .module-hero {
border-color: color-mix(in srgb, var(--line) 88%, #fff);
background: linear-gradient(180deg, color-mix(in srgb, #fff 84%, var(--bg-soft)) 0, color-mix(in srgb, #fff 92%, var(--bg-soft)) 100%);
box-shadow: var(--shadow-sm);
padding: .82rem .88rem;
}
.page-detail .module-hero::after {
opacity: .28;
transform: scale(.82);
transform-origin: top right;
}
.page-detail .module-hero h1,
.page-detail .module-hero h2,
.page-detail .module-hero h3 {
font-size: clamp(1.4rem, 2vw, 1.85rem);
font-weight: 700;
letter-spacing: .004em;
margin-bottom: .34rem;
color: color-mix(in srgb, var(--text-main) 90%, var(--text-muted));
}
.page-detail .module-hero p,
.page-detail .hero-subtext {
font-size: .92rem;
color: color-mix(in srgb, var(--text-muted) 92%, #8ca0c4) !important;
}
.page-detail .hero-chip,
.page-detail .module-hero .chip {
border-color: color-mix(in srgb, var(--line) 92%, #fff);
background: color-mix(in srgb, var(--bg-surface) 88%, transparent);
color: color-mix(in srgb, var(--text-muted) 86%, var(--brand));
font-size: .7rem;
font-weight: 500;
padding: .12rem .5rem;
}
.page-detail .section-title {
font-size: .96rem;
font-weight: 600;
letter-spacing: .01em;
color: color-mix(in srgb, var(--text-main) 72%, var(--text-muted));
}
.page-detail .section-title i {
opacity: .62;
}
.page-detail .chip {
border-color: color-mix(in srgb, var(--line) 94%, #fff);
background: color-mix(in srgb, var(--bg-soft) 75%, #fff);
color: color-mix(in srgb, var(--text-muted) 90%, #8094b6);
font-size: .72rem;
padding: .12rem .5rem;
}
.page-detail .lead {
font-size: 1.02rem;
color: color-mix(in srgb, var(--text-muted) 90%, var(--text-main));
margin-bottom: .92rem;
}
.page-detail .detail-content {
max-width: min(76ch, 100%);
margin-inline: auto;
font-size: 1.07rem;
line-height: 1.95;
color: color-mix(in srgb, var(--text-main) 94%, var(--text-muted));
text-wrap: pretty;
}
.page-detail .detail-content > :first-child {
margin-top: .1rem;
}
.page-detail .detail-content p {
margin-bottom: 1.12em;
color: color-mix(in srgb, var(--text-main) 92%, var(--text-muted));
}
.page-detail .detail-content h1,
.page-detail .detail-content h2,
.page-detail .detail-content h3,
.page-detail .detail-content h4,
.page-detail .detail-content h5,
.page-detail .detail-content h6 {
margin-top: 1.55em;
margin-bottom: .58em;
letter-spacing: .006em;
}
.page-detail .detail-content a {
font-weight: 500;
}
.page-detail .detail-content blockquote {
border-left-width: 2px;
background: color-mix(in srgb, var(--bg-soft) 78%, #fff);
}
@media (max-width: 575.98px) {
.page-detail .module-hero {
padding: .74rem .78rem;
}
.page-detail .module-hero h1,
.page-detail .module-hero h2,
.page-detail .module-hero h3 {
font-size: clamp(1.26rem, 6vw, 1.6rem);
}
.page-detail .detail-content {
font-size: 1.02rem;
line-height: 1.88;
}
}
@media (max-width: 991.98px) {
.channel-layout {
grid-template-columns: 1fr;
@@ -1003,8 +1119,7 @@
['route' => 'tools.index', 'label' => 'AI工具集'],
['route' => 'models.index', 'label' => '模型推荐'],
['route' => 'news.index', 'label' => '文章资讯'],
['route' => 'guides.index', 'label' => '教程学习'],
['route' => 'tools.list', 'label' => '工具列表'],
['route' => 'guides.index', 'label' => '教程学习']
];
@endphp
@@ -1021,21 +1136,10 @@
@endforeach
</nav>
<a class="admin-entry d-none d-lg-inline-flex" href="{{ route('admin.login') }}">
<i class="bi bi-speedometer2 me-1"></i>后台
</a>
</div>
<div class="mobile-nav d-lg-none">
<div class="container d-flex flex-wrap gap-2 py-2">
@foreach($topNavItems as $item)
<a class="site-nav-link @if(request()->routeIs($item['route'])) active @endif" href="{{ route($item['route']) }}">{{ $item['label'] }}</a>
@endforeach
<a class="admin-entry" href="{{ route('admin.login') }}">
<i class="bi bi-speedometer2 me-1"></i>后台
</a>
</div>
</div>
</header>
<main id="main-content" class="page-main" tabindex="-1">
@@ -1094,7 +1198,7 @@
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="{{ asset('vendor/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<script>
(() => {
const root = document.documentElement;