优化项目结构

This commit is contained in:
eafonyang
2026-08-13 14:23:01 +08:00
parent e40d9d6b27
commit d01b0c8f47
29 changed files with 620 additions and 872 deletions
+4 -11
View File
@@ -33,16 +33,16 @@ const layoutComponent = computed(() => layoutComponents[props.section.layout] ??
const isDark = computed(() => props.section.theme === 'dark');
// 遮罩透明度(decimal 字符串 -> 数值)
const overlayOpacity = computed(() => Number(props.section.overlay_opacity) || 0);
const showOverlay = computed(() => !!props.section.overlay_enabled && overlayOpacity.value > 0);
// 背景样式
const bgStyle = computed(() => {
const { bg_type, bg_value } = props.section;
if (bg_type === 'color' && bg_value) {
return { backgroundColor: bg_value };
}
// 渐变:bg_value 为完整 CSS 渐变函数(如 linear-gradient(...));仅在形如渐变函数时应用,避免把普通字符串当背景
if (bg_type === 'gradient' && bg_value && bg_value.includes('gradient(')) {
return { background: bg_value };
}
return {};
});
@@ -144,13 +144,6 @@ const bgVideoClass = computed(() =>
playsinline
/>
<!-- 遮罩层 -->
<div
v-if="showOverlay"
class="absolute inset-0 bg-black"
:style="{ opacity: overlayOpacity }"
/>
<!-- 布局内容 -->
<div class="relative z-10">
<component :is="layoutComponent" v-if="layoutComponent" :section="section" />
+1 -3
View File
@@ -176,10 +176,8 @@ export interface SectionBlock {
overline_color: string;
title_color: string;
body_color: string;
bg_type: 'color' | 'image' | 'video';
bg_type: 'color' | 'image' | 'gradient' | 'video';
bg_value: string;
overlay_enabled: number;
overlay_opacity: string;
overline_zh: string;
overline_en: string;
title_zh: string;
-38
View File
@@ -1,38 +0,0 @@
#!/usr/bin/env bash
# ============================================================
# www 部署脚本:上传构建产物与部署配置到正式服务器
# 上传内容:.output/public/、nginx.conf、docker-compose.yml
# 目标:luxsin-api2:/data/project/dashboard/www
# 用法:./scripts/deploy-www.sh
# ============================================================
set -euo pipefail
REMOTE_HOST="luxsin-api2"
REMOTE_DIR="/data/project/dashboard/www"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WWW_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
# 本地需先完成静态构建(nuxt generatessr:false 产出 .output/public/index.html
if [ ! -f "${WWW_DIR}/.output/public/index.html" ]; then
echo "❌ 本地缺少 ${WWW_DIR}/.output/public/index.html,请先执行:"
echo " cd ${WWW_DIR} && pnpm generate"
exit 1
fi
echo "==> 确保远程目录存在"
ssh "${REMOTE_HOST}" "mkdir -p ${REMOTE_DIR}/.output/public"
echo "==> 同步 .output/public/--delete:删除远端已失效的旧产物)"
rsync -avz --delete -e ssh \
"${WWW_DIR}/.output/public/" "${REMOTE_HOST}:${REMOTE_DIR}/.output/public/"
echo "==> 上传 nginx.conf / docker-compose.yml"
rsync -avz -e ssh \
"${WWW_DIR}/nginx.conf" \
"${WWW_DIR}/docker-compose.yml" \
"${REMOTE_HOST}:${REMOTE_DIR}/"
echo "✅ 上传完成:${REMOTE_HOST}:${REMOTE_DIR}"
echo "下一步(在服务器上执行):"
echo " cd ${REMOTE_DIR} && docker compose up -d"