Files
Public/apps/native/build-windows.ps1
daiyongkang 76f266645d Initial commit: 风影 OA 全栈源码(API/Web/Flutter/IM)
含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。
排除 node_modules、构建产物、安装包与 .env 密钥。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 10:04:03 +00:00

50 lines
1.8 KiB
PowerShell
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
$ErrorActionPreference = 'Stop'
Set-Location $PSScriptRoot
$env:PUB_HOSTED_URL = 'https://pub.dev'
$env:FLUTTER_STORAGE_BASE_URL = 'https://storage.googleapis.com'
$flutter = $null
foreach ($c in @(
'D:\flutter\bin\flutter.bat',
'C:\flutter\bin\flutter.bat',
(Join-Path $env:LOCALAPPDATA 'flutter\bin\flutter.bat')
)) {
if (Test-Path $c) { $flutter = $c; break }
}
if (-not $flutter) {
$cmd = Get-Command flutter -ErrorAction SilentlyContinue
if ($cmd) { $flutter = $cmd.Source }
}
if (-not $flutter) {
throw '未找到 Flutter。请先运行 installer\bootstrap-windows.ps1'
}
& $flutter pub get
if ($LASTEXITCODE -ne 0) { throw "flutter pub get failed: $LASTEXITCODE" }
& $flutter build windows --release --build-name=3.1.10 --build-number=324
if ($LASTEXITCODE -ne 0) { throw "flutter build windows failed: $LASTEXITCODE" }
$release = Join-Path $PSScriptRoot 'build\windows\x64\runner\Release'
$exe = Join-Path $release 'fengying_oa.exe'
if (-not (Test-Path $exe)) { throw "missing $exe" }
$iscc = @(
"${env:ProgramFiles}\Inno Setup 7\ISCC.exe",
"${env:ProgramFiles(x86)}\Inno Setup 7\ISCC.exe",
"${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe",
"${env:ProgramFiles}\Inno Setup 6\ISCC.exe",
'C:\Program Files\Inno Setup 7\ISCC.exe',
'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'
) | Where-Object { Test-Path $_ } | Select-Object -First 1
if (-not $iscc) { throw '未找到 Inno SetupISCC.exe)。请先运行 installer\bootstrap-windows.ps1' }
$iss = Join-Path $PSScriptRoot 'installer\fengying-oa.iss'
& $iscc $iss
if ($LASTEXITCODE -ne 0) { throw "ISCC failed: $LASTEXITCODE" }
$setup = Join-Path $PSScriptRoot 'build\fengying-oa-setup.exe'
if (-not (Test-Path $setup)) { throw "missing $setup" }
Write-Host "Windows setup: $setup"
Write-Host "Windows exe: $exe"