# PowerShell script to fix gap compatibility issues in UTS Android # This script will create a comprehensive fix for all gap properties $ErrorActionPreference = "Stop" # Define the files to fix $files = @( "h:\blews\akmon\pages\sport\student\achievements.uvue", "h:\blews\akmon\pages\sport\student\assignment-detail.uvue", "h:\blews\akmon\pages\sport\student\assignments.uvue", "h:\blews\akmon\pages\sport\student\device-management.uvue", "h:\blews\akmon\pages\sport\student\favorite-exercises.uvue", "h:\blews\akmon\pages\sport\student\goal-settings.uvue", "h:\blews\akmon\pages\sport\student\preferences-analytics.uvue", "h:\blews\akmon\pages\sport\student\profile.uvue", "h:\blews\akmon\pages\sport\student\progress.uvue", "h:\blews\akmon\pages\sport\student\records.uvue", "h:\blews\akmon\pages\sport\student\record-detail.uvue", "h:\blews\akmon\pages\sport\student\reminder-settings.uvue", "h:\blews\akmon\pages\sport\student\simple-records.uvue" ) Write-Host "开始修复 gap 属性兼容性问题..." -ForegroundColor Green foreach ($file in $files) { if (Test-Path $file) { Write-Host "处理文件: $file" -ForegroundColor Yellow # 读取文件内容 $content = Get-Content $file -Raw -Encoding UTF8 # 创建备份 $backupFile = $file + ".pre-gap-fix" if (-not (Test-Path $backupFile)) { $content | Set-Content -Path $backupFile -Encoding UTF8 Write-Host " 备份已创建: $backupFile" -ForegroundColor Cyan } # 统计修改数量 $gapCount = ([regex]::Matches($content, "gap:\s*\d+(?:rpx|px)")).Count if ($gapCount -gt 0) { Write-Host " 发现 $gapCount 个 gap 属性需要修复" -ForegroundColor Red # 注释掉所有 gap 属性,添加 TODO 标记 $content = $content -replace "(\s*)(gap:\s*(\d+)(?:rpx|px));", "`$1/* TODO: Fix gap compatibility - was: gap: `$3 */ /* `$2 */" # 写回文件 $content | Set-Content -Path $file -Encoding UTF8 Write-Host " 已注释 $gapCount 个 gap 属性,需要手动修复" -ForegroundColor Yellow } else { Write-Host " 没有找到 gap 属性" -ForegroundColor Green } } else { Write-Host "文件不存在: $file" -ForegroundColor Red } } Write-Host "`n修复完成!" -ForegroundColor Green Write-Host "注意:gap 属性已被注释,需要手动替换为 margin 实现" -ForegroundColor Yellow Write-Host "请参考 UTS_ANDROID_GAP_FIX_GUIDE.md 文档进行手动修复" -ForegroundColor Yellow # 显示需要手动修复的文件列表 Write-Host "`n需要手动修复的文件:" -ForegroundColor Cyan foreach ($file in $files) { if (Test-Path $file) { $content = Get-Content $file -Raw -Encoding UTF8 $todoCount = ([regex]::Matches($content, "TODO: Fix gap compatibility")).Count if ($todoCount -gt 0) { Write-Host " $file - $todoCount 处需要修复" -ForegroundColor White } } }