优化项目结构
This commit is contained in:
@@ -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" />
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 generate,ssr: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"
|
||||
Reference in New Issue
Block a user