feat: 增加手动设置编辑器编码的功能

Related to #5
This commit is contained in:
Baobhan Sith
2025-05-03 18:18:00 +08:00
parent 2e34f4e1df
commit 53249947cb
14 changed files with 665 additions and 213 deletions
+13 -3
View File
@@ -1080,16 +1080,26 @@ connectionName: connInfo?.name || 'Unknown', // 添加连接名称 (使用可选
else throw new Error("Missing 'path' in payload for stat");
break;
case 'sftp:readfile':
if (payload?.path) sftpService.readFile(sessionId, payload.path, requestId);
else throw new Error("Missing 'path' in payload for readfile");
// --- 修改:提取并传递可选的 encoding 参数 ---
if (payload?.path) {
const requestedEncoding = payload?.encoding; // 获取可选的 encoding
sftpService.readFile(sessionId, payload.path, requestId, requestedEncoding); // 传递给 service 方法
} else {
throw new Error("Missing 'path' in payload for readfile");
}
break;
// --- 结束修改 ---
case 'sftp:writefile':
const fileContent = payload?.content ?? payload?.data ?? '';
// --- 修改:提取可选的 encoding 参数 ---
const encoding = payload?.encoding; // 获取可选的 encoding
if (payload?.path) {
const dataToSend = (typeof fileContent === 'string') ? fileContent : '';
sftpService.writefile(sessionId, payload.path, dataToSend, requestId);
// --- 修改:将 encoding 传递给 service 方法 ---
sftpService.writefile(sessionId, payload.path, dataToSend, requestId, encoding);
} else throw new Error("Missing 'path' in payload for writefile");
break;
// --- 结束修改 ---
case 'sftp:mkdir':
if (payload?.path) sftpService.mkdir(sessionId, payload.path, requestId);
else throw new Error("Missing 'path' in payload for mkdir");