1、将发布文件加入到gitignore中
2、增加发布脚本
3、隆福寺模块试用动态图片加载,避免初次打开时再进行图片的下载
This commit is contained in:
Wenzhe 2026-01-31 22:54:50 +08:00
parent fd020b935d
commit b2ccf76fd0
3 changed files with 134 additions and 3 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/unpackage/

View File

@ -40,11 +40,16 @@ const handleFuClick = () => {
emit('collect-seal') emit('collect-seal')
} }
//
const getImageUrl = (name) => {
return new URL(`/static/lfs/${name}.png`, import.meta.url).href
}
// //
const lfsImages = [ const lfsImages = [
{ src: '/static/lfs/img1.png', title: '传艺承福阁' }, { src: getImageUrl('img1'), title: '传艺承福阁' },
{ src: '/static/lfs/img2.png', title: '京味福食巷' }, { src: getImageUrl('img2'), title: '京味福食巷' },
{ src: '/static/lfs/img3.png', title: '雅趣福玩斋' } { src: getImageUrl('img3'), title: '雅趣福玩斋' }
] ]
// //

125
dist.sh Normal file
View File

@ -0,0 +1,125 @@
#!/bin/bash
set -euo pipefail
WORKSPACE_PATH="/Users/wenzhe/dev/workspace/go/projs/qiusheng/xinchun2026/h5-poster-project"
APP_NAME="__UNI__86304DC"
VARIANT="jiangsu"
# App 发布路径
APP_SOURCE_DIR="./unpackage/resources/$APP_NAME"
APP_TARGET_DIR="$WORKSPACE_PATH/app/src/$VARIANT/assets/apps/$APP_NAME"
# H5 发布路径
H5_SOURCE_DIR="./unpackage/dist/build/web"
H5_TARGET_DIR="$WORKSPACE_PATH/h5"
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
# 日志函数
log_info() { echo -e "${GREEN}[INFO]${NC} $(date '+%Y-%m-%d %H:%M:%S') $*"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $(date '+%Y-%m-%d %H:%M:%S') $*"; }
log_error() { echo -e "${RED}[ERROR]${NC} $(date '+%Y-%m-%d %H:%M:%S') $*"; }
# 显示使用帮助
show_help() {
echo "用法: $0 [app|h5]"
echo ""
echo "参数:"
echo " app 发布 App 版本 (默认)"
echo " h5 发布 H5 版本"
echo ""
echo "示例:"
echo " $0 app # 发布 App"
echo " $0 h5 # 发布 H5"
}
# 检查 rsync 是否可用
check_rsync() {
if ! command -v rsync &> /dev/null; then
log_error "rsync 命令未找到,请确保已安装"
exit 1
fi
log_info "使用 rsync 版本: $(rsync --version | head -n1)"
}
# 同步文件函数
sync_files() {
local source_dir="$1"
local target_dir="$2"
local deploy_type="$3"
log_info "开始部署: $deploy_type"
# 检查源目录
if [ ! -d "$source_dir" ]; then
log_error "源目录不存在: $source_dir"
exit 1
fi
# 创建目标父目录
mkdir -p "$target_dir"
# 统计源目录信息
local source_size=$(du -sh "$source_dir" 2>/dev/null | cut -f1 || echo "未知")
local source_count=$(find "$source_dir" -type f 2>/dev/null | wc -l)
log_info "源目录信息: 大小=${source_size}, 文件数=${source_count}"
log_info "开始同步文件..."
# 使用 rsync 同步
if rsync -az --delete --progress --exclude='.DS_Store' "$source_dir/" "$target_dir/"; then
log_info "同步完成!"
# 验证同步结果
if [ -d "$target_dir" ]; then
local target_size=$(du -sh "$target_dir" 2>/dev/null | cut -f1 || echo "未知")
local target_count=$(find "$target_dir" -type f 2>/dev/null | wc -l)
log_info "目标目录信息: 大小=${target_size}, 文件数=${target_count}"
if [ "$source_count" -eq "$target_count" ]; then
log_info "✓ 文件数量验证通过"
else
log_warn "⚠ 文件数量不匹配: 源=$source_count, 目标=$target_count"
fi
fi
else
log_error "rsync 同步失败!"
exit 1
fi
}
main() {
local deploy_type="${1:-h5}"
# 检查 rsync
check_rsync
case "$deploy_type" in
app)
log_info "========== 开始 App 发布 =========="
sync_files "$APP_SOURCE_DIR" "$APP_TARGET_DIR" "App"
log_info "========== App 发布完成 =========="
;;
h5)
log_info "========== 开始 H5 发布 =========="
sync_files "$H5_SOURCE_DIR" "$H5_TARGET_DIR" "H5"
log_info "========== H5 发布完成 =========="
;;
help|--help|-h)
show_help
exit 0
;;
*)
log_error "未知的发布类型: $deploy_type"
show_help
exit 1
;;
esac
}
main "$@"