54 lines
1.4 KiB
PowerShell
54 lines
1.4 KiB
PowerShell
# 定义要处理的目录
|
||
$pagesDir = "./pages"
|
||
$packageADir = "./packageA"
|
||
|
||
# 定义要排除的文件(首页相关)
|
||
$excludePatterns = @("*index*", "*Index*", "*INDEX*")
|
||
|
||
# 函数:放大样式值
|
||
function Scale-Styles($filePath) {
|
||
Write-Host "Processing $filePath"
|
||
|
||
# 读取文件内容
|
||
$content = Get-Content -Path $filePath -Raw
|
||
|
||
# 正则表达式匹配所有数值(px 或 rpx 单位)
|
||
$pattern = '([:\s])(\d+)(px|rpx)'
|
||
|
||
# 替换函数
|
||
$replacement = {
|
||
param($match)
|
||
$value = [int]$match.Groups[2].Value
|
||
$scaledValue = [math]::Round($value * 1.5)
|
||
return "$($match.Groups[1].Value)$scaledValue$($match.Groups[3].Value)"
|
||
}
|
||
|
||
# 执行替换
|
||
$newContent = [regex]::Replace($content, $pattern, $replacement)
|
||
|
||
# 写回文件
|
||
Set-Content -Path $filePath -Value $newContent -Force
|
||
}
|
||
|
||
# 处理 pages 目录
|
||
Get-ChildItem -Path $pagesDir -Recurse -Filter "*.vue" | Where-Object {
|
||
$file = $_
|
||
$exclude = $false
|
||
foreach ($pattern in $excludePatterns) {
|
||
if ($file.FullName -like "*$pattern*") {
|
||
$exclude = $true
|
||
break
|
||
}
|
||
}
|
||
!$exclude
|
||
} | ForEach-Object {
|
||
Scale-Styles $_.FullName
|
||
}
|
||
|
||
# 处理 packageA 目录
|
||
Get-ChildItem -Path $packageADir -Recurse -Filter "*.vue" | ForEach-Object {
|
||
Scale-Styles $_.FullName
|
||
}
|
||
|
||
Write-Host "Processing completed!"
|