const { Client } = require('ssh2'); const config = { host: 'hs.yifenbao.cn', port: 22, username: 'root', password: 'Torch1112' }; const conn = new Client(); conn.on('ready', () => { console.log('SSH连接成功'); // 检查容器内是否有旧的JS文件 conn.exec('docker exec huishou ls /usr/share/nginx/html/h5/assets/', (err, stream) => { if (err) { console.error('检查容器文件失败:', err.message); conn.end(); return; } let files = ''; stream.stdout.on('data', (data) => { files += data.toString(); }); stream.on('close', () => { console.log('容器内assets文件:', files); // 查找首页JS文件 const jsFiles = files.split('\n').filter(f => f.includes('pages-index-index')); console.log('首页JS文件:', jsFiles); if (jsFiles.length > 0) { const jsFile = jsFiles[0].trim(); // 检查文件内容是否包含旧的"新增商户" conn.exec(`docker exec huishou grep -o "新增商户" /usr/share/nginx/html/h5/assets/${jsFile} | head -3`, (err, stream) => { if (err) { console.error('搜索失败:', err.message); conn.end(); return; } let result = ''; stream.stdout.on('data', (data) => { result += data.toString(); }); stream.on('close', () => { console.log('搜索结果:', result); if (result.includes('新增商户')) { console.log('找到旧的"新增商户",进行替换...'); // 使用sed命令替换 conn.exec(`docker exec huishou sed -i 's/新增商户/新商户/g' /usr/share/nginx/html/h5/assets/${jsFile}`, (err, stream) => { if (err) { console.error('替换失败:', err.message); conn.end(); return; } stream.on('close', () => { console.log('替换"新增商户"完成'); conn.exec(`docker exec huishou sed -i 's/新增个人/新个人/g' /usr/share/nginx/html/h5/assets/${jsFile}`, (err, stream) => { if (err) { console.error('替换失败:', err.message); conn.end(); return; } stream.on('close', () => { console.log('替换"新增个人"完成'); // 验证替换结果 conn.exec(`docker exec huishou grep -o "新商户" /usr/share/nginx/html/h5/assets/${jsFile} | head -3`, (err, stream) => { let verify = ''; stream.stdout.on('data', data => verify += data); stream.on('close', () => { console.log('验证结果:', verify); console.log(verify ? '✓ 替换成功' : '✗ 替换失败'); conn.end(); }); }); }); }); }); }); } else { console.log('没有找到旧的"新增商户",可能文件已被清空'); conn.end(); } }); }); } else { console.log('没有找到首页JS文件'); conn.end(); } }); }); }); conn.on('error', (err) => { console.error('SSH连接错误:', err.message); }); conn.connect(config);