110 lines
3.6 KiB
JavaScript
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); |