Files
assetx/landingpage/scripts/fix-asset-paths.sh
default 2ee4553b71 init: 初始化 AssetX 项目仓库
包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、
antdesign(管理后台)、landingpage(营销落地页)、
数据库 SQL 和配置文件。
2026-03-27 11:26:43 +00:00

44 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# 批量更新组件中的图片路径以使用 getAssetUrl 函数
echo "🔧 修复静态资源路径..."
# 需要更新的组件列表
components=(
"components/HowItWorksSection.tsx"
"components/WhyAssetXSection.tsx"
"components/Navbar.tsx"
"components/Footer.tsx"
"components/ResourceMenu.tsx"
"components/ProductMenu.tsx"
"components/SecuritySection.tsx"
)
for component in "${components[@]}"; do
if [ -f "$component" ]; then
echo " 处理: $component"
# 添加 import 语句(如果不存在)
if ! grep -q "getAssetUrl" "$component"; then
# 在 'use client' 之后或第一个 import 之前添加
if grep -q "'use client'" "$component"; then
sed -i "/'use client';/a import { getAssetUrl } from '@/lib/assetUrl';" "$component"
else
sed -i "1i import { getAssetUrl } from '@/lib/assetUrl';" "$component"
fi
fi
# 替换 src="/xxx.svg" 为 src={getAssetUrl("/xxx.svg")}
sed -i 's/src="\/\([^"]*\.svg\)"/src={getAssetUrl("\/\1")}/g' "$component"
# 替换 icon: '/xxx.svg' 为 icon: getAssetUrl('/xxx.svg')
sed -i "s/icon: '\/\([^']*\.svg\)'/icon: getAssetUrl('\/\1')/g" "$component"
# 替换 icon: "/xxx.svg" 为 icon: getAssetUrl("/xxx.svg")
sed -i 's/icon: "\/\([^"]*\.svg\)"/icon: getAssetUrl("\/\1")/g' "$component"
fi
done
echo "✅ 完成!"