@@ -34,7 +34,8 @@ if (!stepsFile || !fs.existsSync(stepsFile)) {
3434 process . exit ( 1 ) ;
3535}
3636
37- const input = JSON . parse ( fs . readFileSync ( stepsFile , 'utf8' ) ) ;
37+ const rawContent = fs . readFileSync ( stepsFile , 'utf8' ) . replace ( / ^ \uFEFF / , '' ) ;
38+ const input = JSON . parse ( rawContent ) ;
3839const PROJECT_PATH = input . project_path || '' ;
3940const WS_PORT = input . ws_port || 9420 ;
4041const steps = input . steps || [ ] ;
@@ -100,22 +101,27 @@ async function initConnect() {
100101 }
101102 }
102103
103- // 策略3: open+ auto(不做close!close会破坏模拟器状态 )
104- console . log ( '[策略3] 执行 open + auto(不close) ...' ) ;
105- runCli ( `open --project " ${ PROJECT_PATH } "` ) ;
104+ // 策略3: quit彻底杀进程 → open → auto(跟手动修复流程一致 )
105+ console . log ( '[策略3] cli quit 彻底杀进程后重启 ...' ) ;
106+ runCli ( 'quit' ) ;
106107 await sleep ( 5000 ) ;
108+ console . log ( '[策略3] cli open...' ) ;
109+ runCli ( `open --project "${ PROJECT_PATH } "` ) ;
110+ await sleep ( 8000 ) ;
111+ console . log ( '[策略3] cli auto...' ) ;
107112 runCli ( `auto --project "${ PROJECT_PATH } " --auto-port ${ WS_PORT } ` ) ;
108113 await sleep ( 3000 ) ;
109114 for ( let i = 0 ; i < 5 ; i ++ ) {
110115 try {
111116 const p = await tryConnect ( ) ;
112- console . log ( '[策略3] open+auto后连接成功 ,页面: ' + p ) ;
117+ console . log ( '[策略3] 重启后连接成功 ,页面: ' + p ) ;
113118 return p ;
114119 } catch ( e ) {
120+ console . log ( '[策略3] 重试 ' + ( i + 1 ) + '/5: ' + e . message ) ;
115121 if ( i < 4 ) await sleep ( 3000 ) ;
116122 }
117123 }
118- throw new Error ( '所有策略均失败。请手动在开发者工具中点编译(Ctrl+B)后重试 ' ) ;
124+ throw new Error ( '所有策略均失败。请确认: 1)微信开发者工具已安装 2)设置→安全设置→已开启服务端口 ' ) ;
119125}
120126
121127// ── 执行单个步骤 ──
0 commit comments