Initial commit: 风影 OA 全栈源码(API/Web/Flutter/IM)

含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。
排除 node_modules、构建产物、安装包与 .env 密钥。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-02 10:04:03 +00:00
commit 76f266645d
507 changed files with 99891 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
$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"