修复权限验证问题:普通用户无法访问后台管理页面

This commit is contained in:
AIGC Developer
2025-10-23 09:59:54 +08:00
parent a294f61f3c
commit 08b737b1ef
59 changed files with 3586 additions and 607 deletions

View File

@@ -25,8 +25,8 @@
<el-icon><Picture /></el-icon>
<span>图生视频</span>
</div>
<div class="nav-item storyboard-item" @click="goToStoryboard">
<el-icon><VideoPlay /></el-icon>
<div class="nav-item storyboard-item" @click="goToStoryboardVideo">
<el-icon><Film /></el-icon>
<span>分镜视频</span>
<el-tag size="small" type="primary" class="sora-tag">Sora2.0</el-tag>
</div>
@@ -148,7 +148,7 @@
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import { ElIcon, ElButton, ElTag, ElMessage, ElDialog } from 'element-plus'
import { User, Compass, Document, VideoPlay, Picture } from '@element-plus/icons-vue'
import { User, Document, VideoPlay, Picture, Film, Compass } from '@element-plus/icons-vue'
const router = useRouter()
@@ -204,7 +204,7 @@ const goToImageToVideo = () => {
router.push('/image-to-video')
}
const goToStoryboard = () => {
const goToStoryboardVideo = () => {
router.push('/storyboard-video')
}
@@ -252,46 +252,54 @@ onMounted(() => {
/* 左侧导航栏 */
.sidebar {
width: 280px;
background: #1a1a1a;
border-right: 1px solid #333;
padding: 24px 0;
width: 280px !important;
background: #1a1a1a !important;
padding: 24px 0 !important;
border-right: 1px solid #1a1a1a !important;
flex-shrink: 0 !important;
z-index: 100 !important;
display: block !important;
position: relative !important;
}
.logo {
font-size: 18px;
font-weight: 600;
color: #fff;
text-align: center;
margin-bottom: 32px;
padding: 0 24px 32px;
font-size: 20px;
font-weight: 500;
color: white;
}
.nav-menu {
display: flex;
flex-direction: column;
gap: 8px;
padding: 0 20px;
padding: 0 24px;
}
.nav-item {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 16px;
padding: 14px 18px;
margin-bottom: 4px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
color: #d1d5db;
transition: all 0.3s ease;
position: relative;
}
.nav-item:hover {
background: #2a2a2a;
color: #fff;
}
.nav-item.active {
background: #3b82f6;
color: #fff;
background: #1e3a8a;
}
.nav-item .el-icon {
margin-right: 14px;
font-size: 20px;
}
.nav-item span {
font-size: 15px;
flex: 1;
}
.nav-divider {