Files
nj/scripts/mpsync.ps1
iven c539e6fd83 feat: initialize Nuanji (Warm Notes) project
- Base platform from base.git (ERP base: auth, core, config, message, workflow, plugin)
- Created erp-diary module skeleton (lib.rs, dto.rs, error.rs, event.rs, state.rs)
- Integrated erp-diary into workspace and erp-server
- Added DiaryModule registration in main.rs
- Added DiaryState FromRef in state.rs
- Diary routes mounted (empty routes, ready for implementation)
- Product design spec v1.2 preserved in docs/
- Implementation plan preserved in plans/

Cargo check: OK
Cargo test: OK (78+ base tests passing)
2026-05-31 20:52:19 +08:00

63 lines
2.5 KiB
PowerShell

# MPSync — auto clean stale DevTools + open automation port
# Usage: powershell -File scripts/mpsync.ps1 [-Build]
param([switch]$Build)
$Port = 9420
Write-Host "[MPSync] Step 1: Kill stale DevTools processes..." -ForegroundColor Cyan
$procs = Get-Process -Name "wechatdevtools" -ErrorAction SilentlyContinue
if ($null -ne $procs) {
Write-Host "[MPSync] Found $($procs.Count) stale processes, killing..." -ForegroundColor Yellow
Stop-Process -Name "wechatdevtools" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
$left = Get-Process -Name "wechatdevtools" -ErrorAction SilentlyContinue
if ($null -ne $left) {
Write-Host "[MPSync] Still $($left.Count) remaining, second attempt..." -ForegroundColor Yellow
Stop-Process -Name "wechatdevtools" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 3
}
Write-Host "[MPSync] Cleanup done" -ForegroundColor Green
} else {
Write-Host "[MPSync] No stale processes" -ForegroundColor Green
}
Start-Sleep -Seconds 2
# Optional build
if ($Build) {
Write-Host "[MPSync] Building miniprogram..." -ForegroundColor Cyan
Set-Location "G:\hms\apps\miniprogram"
pnpm build:weapp 2>&1 | Select-Object -Last 3
Write-Host "[MPSync] Build done" -ForegroundColor Green
}
# Open DevTools with project
$DevToolsExe = "D:\微信web开发者工具\微信web开发者工具.exe"
$DistPath = "G:\hms\apps\miniprogram\dist"
$running = Get-Process -Name "wechatdevtools" -ErrorAction SilentlyContinue
if ($null -eq $running) {
Write-Host "[MPSync] Starting DevTools..." -ForegroundColor Cyan
Start-Process $DevToolsExe -ArgumentList $DistPath
Write-Host "[MPSync] Waiting for DevTools to initialize..." -ForegroundColor Cyan
Start-Sleep -Seconds 15
} else {
Write-Host "[MPSync] DevTools already running ($($running.Count) processes)" -ForegroundColor Green
}
# Open automation port via CLI
Write-Host "[MPSync] Opening automation port $Port..." -ForegroundColor Cyan
$cliShort = (New-Object -ComObject Scripting.FileSystemObject).GetFile("D:\微信web开发者工具\cli.bat").ShortPath
$cliResult = & $cliShort auto --project $DistPath --auto-port $Port 2>&1
$cliResult | ForEach-Object { Write-Host $_ }
Start-Sleep -Seconds 3
# Verify port
$listener = Get-NetTCPConnection -LocalPort $Port -State Listen -ErrorAction SilentlyContinue
if ($null -ne $listener) {
Write-Host "[MPSync] Port $Port is listening - ready for MCP" -ForegroundColor Green
} else {
Write-Host "[MPSync] WARNING: Port $Port not listening yet" -ForegroundColor Yellow
}