Files
huishou/check-and-modify-server.js
2026-07-27 14:07:26 +08:00

110 lines
3.6 KiB
JavaScript

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);