feat:基础功能实现

This commit is contained in:
ShaoHua
2026-03-31 22:44:32 +08:00
parent ed3d90cd7a
commit 81c649cb23
131 changed files with 22903 additions and 196 deletions
+128
View File
@@ -0,0 +1,128 @@
param(
[string]$ServicePath = "src\TodoList.Api",
[string]$WebPath = "src\TodoList.Web",
[string]$MauiPath = "src\TodoList.Maui",
[switch]$StartMaui = $true
)
$ErrorActionPreference = "Stop"
Write-Host "====================================" -ForegroundColor Cyan
Write-Host " TodoList 服务启动脚本" -ForegroundColor Cyan
Write-Host "====================================" -ForegroundColor Cyan
Write-Host ""
$apiProjectPath = Join-Path $PSScriptRoot $ServicePath
$webProjectPath = Join-Path $PSScriptRoot $WebPath
$mauiProjectPath = Join-Path $PSScriptRoot $MauiPath
Write-Host "[1/3] 检查 TodoList.Api 服务..." -ForegroundColor Yellow
$apiProcess = Get-Process -Name "dotnet" -ErrorAction SilentlyContinue | Where-Object { $_.MainWindowTitle -like "*TodoList.Api*" }
if ($apiProcess) {
Write-Host "⚠️ TodoList.Api 服务已经在运行中" -ForegroundColor Yellow
Write-Host " 进程 ID: ($apiProcess.Id)" -ForegroundColor Gray
Write-Host " 如果需要重新启动,请先运行 stop-service.bat" -ForegroundColor Gray
Write-Host ""
if ($StartMaui) {
Write-Host "[2/3] 启动 TodoList.Maui 应用..." -ForegroundColor Yellow
$mauiPath = Join-Path $mauiProjectPath "bin\Debug\net10.0-windows10.0.19041.0\win-x64\TodoList.Maui.exe"
if (Test-Path $mauiPath) {
Write-Host "🚀 启动 TodoList.Maui..." -ForegroundColor Green
Start-Process -FilePath $mauiPath -WorkingDirectory $mauiProjectPath
Write-Host "✅ TodoList.Maui 已启动" -ForegroundColor Green
} else {
Write-Host "❌ TodoList.Maui 可执行文件不存在" -ForegroundColor Red
Write-Host " 路径: $mauiPath" -ForegroundColor Red
Write-Host " 请先构建项目: dotnet build src\TodoList.Maui\TodoList.Maui.csproj" -ForegroundColor Red
}
}
Write-Host ""
Write-Host "====================================" -ForegroundColor Cyan
Write-Host " 启动完成" -ForegroundColor Green
Write-Host "====================================" -ForegroundColor Cyan
exit 0
}
Write-Host "✓ TodoList.Api 服务未运行" -ForegroundColor Green
Write-Host ""
Write-Host "[2/3] 启动 TodoList.Api 服务..." -ForegroundColor Yellow
if (!(Test-Path $apiProjectPath)) {
Write-Host "❌ API 项目路径不存在: $apiProjectPath" -ForegroundColor Red
exit 1
}
Write-Host "📂 工作目录: $apiProjectPath" -ForegroundColor Gray
Write-Host "🚀 启动服务..." -ForegroundColor Green
$apiProcess = Start-Process -FilePath "dotnet" -ArgumentList "run" -WorkingDirectory $apiProjectPath -PassThru
Write-Host "✅ TodoList.Api 服务已启动" -ForegroundColor Green
Write-Host " 进程 ID: ($apiProcess.Id)" -ForegroundColor Gray
Write-Host " 访问地址: http://localhost:5057" -ForegroundColor Cyan
Write-Host " Swagger 文档: http://localhost:5057/swagger" -ForegroundColor Cyan
Write-Host ""
Write-Host "[3/3] 启动 TodoList.Web 服务..." -ForegroundColor Yellow
$webProcess = Get-Process -Name "node" -ErrorAction SilentlyContinue | Where-Object { $_.MainWindowTitle -like "*vite*" -or $_.Path -like "*TodoList.Web*" }
if ($webProcess) {
Write-Host "⚠️ TodoList.Web 服务已经在运行中" -ForegroundColor Yellow
Write-Host " 进程 ID: ($webProcess.Id)" -ForegroundColor Gray
Write-Host " 如果需要重新启动,请先运行 stop-service.bat" -ForegroundColor Gray
Write-Host ""
} else {
Write-Host "📂 工作目录: $webProjectPath" -ForegroundColor Gray
if (!(Test-Path $webProjectPath)) {
Write-Host "❌ Web 项目路径不存在: $webProjectPath" -ForegroundColor Red
exit 1
}
Write-Host "🚀 启动 Web 服务..." -ForegroundColor Green
$webProcess = Start-Process -FilePath "npm.cmd" -ArgumentList "run", "dev" -WorkingDirectory $webProjectPath -PassThru
Write-Host "✅ TodoList.Web 服务已启动" -ForegroundColor Green
Write-Host " 进程 ID: ($webProcess.Id)" -ForegroundColor Gray
Write-Host " 访问地址: http://localhost:5173" -ForegroundColor Cyan
Write-Host ""
}
if ($StartMaui) {
Write-Host ""
Write-Host "[4/4] 启动 TodoList.Maui 应用..." -ForegroundColor Yellow
Start-Sleep -Seconds 2
$mauiPath = Join-Path $mauiProjectPath "bin\Debug\net10.0-windows10.0.19041.0\win-x64\TodoList.Maui.exe"
if (Test-Path $mauiPath) {
Write-Host "🚀 启动 TodoList.Maui..." -ForegroundColor Green
Start-Process -FilePath $mauiPath -WorkingDirectory $mauiProjectPath
Write-Host "✅ TodoList.Maui 已启动" -ForegroundColor Green
} else {
Write-Host "❌ TodoList.Maui 可执行文件不存在" -ForegroundColor Red
Write-Host " 路径: $mauiPath" -ForegroundColor Red
Write-Host " 请先构建项目: dotnet build src\TodoList.Maui\TodoList.Maui.csproj" -ForegroundColor Red
}
}
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 ""