feat:基础功能实现
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
param(
|
||||
[switch]$StartMaui = $false,
|
||||
[switch]$Force = $false
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
Write-Host "====================================" -ForegroundColor Cyan
|
||||
Write-Host " TodoList 服务重启脚本" -ForegroundColor Cyan
|
||||
Write-Host "====================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "[1/3] 停止现有服务..." -ForegroundColor Yellow
|
||||
|
||||
$stopScriptPath = Join-Path $PSScriptRoot "stop-service.ps1"
|
||||
|
||||
if (!(Test-Path $stopScriptPath)) {
|
||||
Write-Host "❌ 停止脚本不存在: $stopScriptPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
try {
|
||||
if ($Force) {
|
||||
& $stopScriptPath -Force
|
||||
} else {
|
||||
& $stopScriptPath
|
||||
}
|
||||
Write-Host "✅ 服务已停止" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host "❌ 停止服务失败: $_" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "[2/3] 等待进程完全关闭..." -ForegroundColor Yellow
|
||||
|
||||
$timeout = 10
|
||||
$elapsed = 0
|
||||
|
||||
while ($elapsed -lt $timeout) {
|
||||
$apiRunning = Get-Process -Name "dotnet" -ErrorAction SilentlyContinue | Where-Object { $_.MainWindowTitle -like "*TodoList.Api*" }
|
||||
$mauiRunning = Get-Process -Name "TodoList.Maui" -ErrorAction SilentlyContinue
|
||||
|
||||
if (-not $apiRunning -and -not $mauiRunning) {
|
||||
Write-Host "✅ 所有进程已关闭" -ForegroundColor Green
|
||||
break
|
||||
}
|
||||
|
||||
Start-Sleep -Seconds 1
|
||||
$elapsed++
|
||||
|
||||
if ($elapsed -lt $timeout) {
|
||||
Write-Host " 等待中... ($elapsed/$timeout 秒)" -ForegroundColor Gray
|
||||
}
|
||||
}
|
||||
|
||||
if ($elapsed -ge $timeout) {
|
||||
Write-Host "⚠️ 等待超时,继续启动..." -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "[3/3] 启动服务..." -ForegroundColor Yellow
|
||||
|
||||
$startScriptPath = Join-Path $PSScriptRoot "start-service.ps1"
|
||||
|
||||
if (!(Test-Path $startScriptPath)) {
|
||||
Write-Host "❌ 启动脚本不存在: $startScriptPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
try {
|
||||
if ($StartMaui) {
|
||||
& $startScriptPath -StartMaui
|
||||
} else {
|
||||
& $startScriptPath
|
||||
}
|
||||
Write-Host "✅ 服务已启动" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host "❌ 启动服务失败: $_" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "====================================" -ForegroundColor Cyan
|
||||
Write-Host " 重启完成" -ForegroundColor Green
|
||||
Write-Host "====================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "💡 提示:" -ForegroundColor Yellow
|
||||
Write-Host " - 按 Ctrl+C 可以停止服务" -ForegroundColor Gray
|
||||
Write-Host " - 运行 stop-service.bat 可以关闭服务" -ForegroundColor Gray
|
||||
Write-Host " - 运行 restart-service.bat 可以重启服务" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
Reference in New Issue
Block a user