chore: update project files
This commit is contained in:
@@ -52,15 +52,14 @@
|
||||
<header class="top-header">
|
||||
<div class="header-right">
|
||||
<div class="points">
|
||||
<el-icon><Star /></el-icon>
|
||||
<span>{{ userInfo.points - (userInfo.frozenPoints || 0) }} | 首购优惠</span>
|
||||
</div>
|
||||
<div class="notifications">
|
||||
<el-icon><Bell /></el-icon>
|
||||
<div class="notification-dot"></div>
|
||||
<div class="points-icon">
|
||||
<el-icon><Star /></el-icon>
|
||||
</div>
|
||||
<span class="points-number">{{ userStore.availablePoints }}</span>
|
||||
</div>
|
||||
<LanguageSwitcher />
|
||||
<div class="user-status" @click="showUserMenu = !showUserMenu" ref="userStatusRef">
|
||||
<div class="status-icon"></div>
|
||||
<img src="/images/backgrounds/avatar-default.svg" alt="用户头像" class="status-icon" />
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@@ -155,7 +154,7 @@
|
||||
<div class="detail-header">
|
||||
<div class="user-info">
|
||||
<div class="avatar">
|
||||
<el-icon><User /></el-icon>
|
||||
<img src="/images/backgrounds/avatar-default.svg" alt="用户头像" class="avatar-image" />
|
||||
</div>
|
||||
<div class="username">{{ (selectedItem && selectedItem.username) || '匿名用户' }}</div>
|
||||
</div>
|
||||
@@ -273,11 +272,10 @@ import { ref, onMounted, onUnmounted, computed, nextTick } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import {
|
||||
User,
|
||||
Document,
|
||||
Star,
|
||||
Bell,
|
||||
import {
|
||||
User,
|
||||
Document,
|
||||
Star,
|
||||
Setting,
|
||||
Compass,
|
||||
VideoPlay,
|
||||
@@ -285,6 +283,7 @@ import {
|
||||
Film
|
||||
} from '@element-plus/icons-vue'
|
||||
import { getMyWorks } from '@/api/userWorks'
|
||||
import LanguageSwitcher from '@/components/LanguageSwitcher.vue'
|
||||
import { getCurrentUser } from '@/api/auth'
|
||||
import { getWorkDetail } from '@/api/userWorks'
|
||||
|
||||
@@ -499,7 +498,7 @@ const transformWorkData = (work) => {
|
||||
cover: thumbnailUrl || resultUrl || '/images/backgrounds/welcome.jpg',
|
||||
resultUrl: resultUrl || '',
|
||||
type: work.workType === 'TEXT_TO_VIDEO' || work.workType === 'IMAGE_TO_VIDEO' || work.workType === 'STORYBOARD_VIDEO' ? 'video' : 'image',
|
||||
category: work.workType === 'TEXT_TO_VIDEO' ? '文生视频' : work.workType === 'IMAGE_TO_VIDEO' ? '图生视频' : work.workType === 'STORYBOARD_VIDEO' ? '分镜视频' : '未知',
|
||||
category: work.workType === 'TEXT_TO_VIDEO' ? '文生视频' : work.workType === 'IMAGE_TO_VIDEO' ? '图生视频' : work.workType === 'STORYBOARD_VIDEO' ? '分镜视频' : work.workType === 'STORYBOARD_IMAGE' ? '分镜图' : '未知',
|
||||
sizeText: work.fileSize || '未知大小',
|
||||
createTime: work.createdAt ? new Date(work.createdAt).toLocaleString('zh-CN') : '',
|
||||
date: work.createdAt ? new Date(work.createdAt).toLocaleDateString('zh-CN') : '',
|
||||
@@ -733,12 +732,15 @@ onUnmounted(() => {
|
||||
|
||||
/* 顶部栏 */
|
||||
.top-header {
|
||||
padding: 20px 30px;
|
||||
height: 80px;
|
||||
padding: 0 30px;
|
||||
border-bottom: 1px solid #333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
position: relative;
|
||||
z-index: 99999;
|
||||
background: #0a0a0a;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
@@ -751,30 +753,33 @@ onUnmounted(() => {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 6px 12px;
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
border-radius: 20px;
|
||||
border: 1px solid rgba(64, 158, 255, 0.3);
|
||||
}
|
||||
|
||||
.points-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: #409EFF;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.points-number {
|
||||
color: #409EFF;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.notifications {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.notification-dot {
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
right: -2px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #ff4757;
|
||||
border-radius: 50%;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.user-status {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border: 2px solid #409EFF;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -783,18 +788,18 @@ onUnmounted(() => {
|
||||
position: relative;
|
||||
z-index: 100000;
|
||||
transition: all 0.3s ease;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.user-status:hover {
|
||||
border-color: #66b1ff;
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.status-icon {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: white;
|
||||
border-radius: 2px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
/* 用户菜单样式 */
|
||||
@@ -1203,13 +1208,17 @@ onUnmounted(() => {
|
||||
.detail-right .avatar {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background: #409eff;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.detail-right .avatar .avatar-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.detail-right .username {
|
||||
|
||||
Reference in New Issue
Block a user