91 lines
2.4 KiB
PowerShell
91 lines
2.4 KiB
PowerShell
# IPTV Windows 构建脚本
|
|
|
|
Write-Host "🚀 开始构建 IPTV Windows 桌面应用..." -ForegroundColor Green
|
|
Write-Host ""
|
|
|
|
# 检查 Rust
|
|
try {
|
|
$cargoVersion = cargo --version
|
|
Write-Host "✓ Rust 已安装 ($cargoVersion)" -ForegroundColor Green
|
|
} catch {
|
|
Write-Host "❌ Rust 未安装,请先安装:" -ForegroundColor Red
|
|
Write-Host " 访问 https://rustup.rs/ 下载安装程序"
|
|
Read-Host "按 Enter 退出"
|
|
exit 1
|
|
}
|
|
|
|
Write-Host ""
|
|
|
|
# 步骤1: 构建 ui
|
|
Write-Host "📦 步骤 1/4: 构建 ui 应用..." -ForegroundColor Cyan
|
|
Set-Location ui
|
|
npm install
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "❌ npm install 失败" -ForegroundColor Red
|
|
Read-Host "按 Enter 退出"
|
|
exit 1
|
|
}
|
|
|
|
npm run build
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "❌ 构建 ui 失败" -ForegroundColor Red
|
|
Read-Host "按 Enter 退出"
|
|
exit 1
|
|
}
|
|
|
|
# 复制 API 数据
|
|
if (Test-Path "dist-web/api") {
|
|
Remove-Item "dist-web/api" -Recurse -Force
|
|
}
|
|
Copy-Item -Path "public/api" -Destination "dist-web/api" -Recurse -Force
|
|
Set-Location ..
|
|
|
|
# 步骤2: 安装依赖
|
|
Write-Host "📦 步骤 2/4: 安装 Tauri 依赖..." -ForegroundColor Cyan
|
|
Set-Location desktop
|
|
npm install
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "❌ npm install 失败" -ForegroundColor Red
|
|
Read-Host "按 Enter 退出"
|
|
exit 1
|
|
}
|
|
|
|
# 步骤3: 构建
|
|
Write-Host "🔨 步骤 3/4: 构建 Windows 应用(这可能需要几分钟)..." -ForegroundColor Cyan
|
|
npx tauri build
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "❌ 构建失败" -ForegroundColor Red
|
|
Read-Host "按 Enter 退出"
|
|
exit 1
|
|
}
|
|
|
|
# 步骤4: 检查输出
|
|
Write-Host "✅ 步骤 4/4: 检查输出..." -ForegroundColor Green
|
|
Write-Host ""
|
|
|
|
$msiPath = "src-tauri/target/release/bundle/msi"
|
|
$nsisPath = "src-tauri/target/release/bundle/nsis"
|
|
|
|
Write-Host "🎉 构建成功!" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "📦 安装包位置:" -ForegroundColor Yellow
|
|
|
|
if (Test-Path $msiPath) {
|
|
Get-ChildItem "$msiPath/*.msi" | ForEach-Object {
|
|
Write-Host " MSI: $($_.FullName)" -ForegroundColor Gray
|
|
}
|
|
}
|
|
|
|
if (Test-Path $nsisPath) {
|
|
Get-ChildItem "$nsisPath/*.exe" | ForEach-Object {
|
|
Write-Host " EXE: $($_.FullName)" -ForegroundColor Gray
|
|
}
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "🚀 运行方式:" -ForegroundColor Green
|
|
Write-Host " 1. 安装 MSI 版本(推荐,有自动更新)"
|
|
Write-Host " 2. 或直接运行 EXE 版本(便携版)"
|
|
Write-Host ""
|
|
Read-Host "按 Enter 退出"
|