#!/bin/bash # HD4K下载器 - 跨平台构建脚本 # 构建 Windows 和 macOS 版本到 build 文件夹 echo "========================================" echo "HD4K下载器 - 跨平台构建" echo "========================================" # 设置变量 APP_NAME="hd4k-downloader" VERSION="1.0.0" BUILD_DIR="./build" echo "创建构建目录..." # 创建build目录(如果不存在) mkdir -p "${BUILD_DIR}" echo "清理旧文件..." # 清理build目录中的旧文件 rm -f "${BUILD_DIR}/${APP_NAME}-windows.exe" rm -f "${BUILD_DIR}/${APP_NAME}-macos" rm -f "${BUILD_DIR}/${APP_NAME}-macos-arm64" echo "" echo "开始构建 Windows 版本 (amd64)..." echo "----------------------------------------" GOOS=windows GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-windows.exe" main.go handler.go downloader.go if [ $? -eq 0 ]; then echo "✅ Windows 版本构建成功" echo " 文件: ${BUILD_DIR}/${APP_NAME}-windows.exe" echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-windows.exe" | awk '{print $5}') else echo "❌ Windows 版本构建失败" fi echo "" echo "开始构建 macOS 版本 (Intel amd64)..." echo "----------------------------------------" GOOS=darwin GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-macos-intel" main.go handler.go downloader.go if [ $? -eq 0 ]; then echo "✅ macOS Intel 版本构建成功" echo " 文件: ${BUILD_DIR}/${APP_NAME}-macos-intel" echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-macos-intel" | awk '{print $5}') chmod +x "${BUILD_DIR}/${APP_NAME}-macos-intel" else echo "❌ macOS Intel 版本构建失败" fi echo "" echo "开始构建 macOS 版本 (Apple Silicon arm64)..." echo "----------------------------------------" GOOS=darwin GOARCH=arm64 go build -o "${BUILD_DIR}/${APP_NAME}-macos-arm" main.go handler.go downloader.go if [ $? -eq 0 ]; then echo "✅ macOS Apple Silicon 版本构建成功" echo " 文件: ${BUILD_DIR}/${APP_NAME}-macos-arm" echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-macos-arm" | awk '{print $5}') chmod +x "${BUILD_DIR}/${APP_NAME}-macos-arm" else echo "❌ macOS Apple Silicon 版本构建失败" fi echo "" echo "========================================" echo "构建完成!" echo "========================================" echo "" echo "生成的文件在 build/ 目录:" echo "----------------------------------------" ls -lh "${BUILD_DIR}/" | grep -v "^total" echo "" echo "使用方法:" echo "----------------------------------------" echo "" echo "Windows:" echo " 双击 ${APP_NAME}-windows.exe" echo " 或命令行: ${BUILD_DIR}/${APP_NAME}-windows.exe -port=8888 -dir=./downloads" echo "" echo "macOS (Intel芯片):" echo " 终端执行: ${BUILD_DIR}/${APP_NAME}-macos-intel -port=8888 -dir=./downloads" echo "" echo "macOS (Apple Silicon M1/M2/M3芯片):" echo " 终端执行: ${BUILD_DIR}/${APP_NAME}-macos-arm -port=8888 -dir=./downloads" echo "" echo "常用参数:" echo " -port=端口号 指定服务端口(默认: 8888)" echo " -dir=目录路径 指定下载目录(默认: ./downloads)" echo "" echo "示例:" echo " # 使用自定义端口" echo " ${BUILD_DIR}/${APP_NAME}-macos-intel -port=9999" echo "" echo " # 使用自定义下载目录" echo " ${BUILD_DIR}/${APP_NAME}-windows.exe -dir=D:\\下载" echo "" echo " # 完整示例" echo " ${BUILD_DIR}/${APP_NAME}-macos-arm -port=9000 -dir=~/Downloads/" echo "" echo "服务启动后访问:" echo " API接口: http://127.0.0.1:端口号/api/save_imgs" echo " 测试页面: http://127.0.0.1:端口号/index.html" echo "========================================"