feat: 添加“终端右键粘贴”设置
This commit is contained in:
@@ -48,13 +48,9 @@ export const settingsRepository = {
|
||||
updated_at = excluded.updated_at`;
|
||||
const params = [key, value, now, now];
|
||||
|
||||
// console.log(`[仓库] 尝试设置设置项。键: ${key}, 值: ${value}`);
|
||||
// console.log(`[仓库] 执行 SQL: ${sql},参数: ${JSON.stringify(params)}`);
|
||||
|
||||
try {
|
||||
const db = await getDbInstance();
|
||||
const result = await runDb(db, sql, params);
|
||||
// console.log(`[仓库] 成功设置键为 ${key} 的设置项。影响行数: ${result.changes}`);
|
||||
} catch (err: any) {
|
||||
console.error(`[Repository] 设置设置项 ${key} 时出错:`, err.message);
|
||||
throw new Error(`设置设置项 ${key} 失败`);
|
||||
@@ -265,8 +261,9 @@ export const ensureDefaultSettingsExist = async (db: sqlite3.Database): Promise<
|
||||
statusMonitorIntervalSeconds: '3',
|
||||
[SIDEBAR_CONFIG_KEY]: JSON.stringify(defaultSidebarPanesStructure),
|
||||
[CAPTCHA_CONFIG_KEY]: JSON.stringify(defaultCaptchaSettings),
|
||||
timezone: 'UTC', // NEW: 添加时区默认值
|
||||
terminalScrollbackLimit: '5000', // NEW: 添加终端回滚行数默认值
|
||||
timezone: 'UTC', // 添加时区默认值
|
||||
terminalScrollbackLimit: '5000', // 添加终端回滚行数默认值
|
||||
terminalEnableRightClickPaste: 'true', // 添加终端右键粘贴默认值
|
||||
};
|
||||
const nowSeconds = Math.floor(Date.now() / 1000);
|
||||
const sqlInsertOrIgnore = `INSERT OR IGNORE INTO settings (key, value, created_at, updated_at) VALUES (?, ?, ?, ?)`;
|
||||
|
||||
@@ -45,15 +45,16 @@ export const settingsController = {
|
||||
'fileManagerRowSizeMultiplier', // +++ 添加文件管理器行大小键 +++
|
||||
'fileManagerColWidths', // +++ 添加文件管理器列宽键 +++
|
||||
'commandInputSyncTarget', // +++ 添加命令输入同步目标键 +++
|
||||
'timezone', // NEW: 添加时区键
|
||||
'rdpModalWidth', // NEW: 添加 RDP 模态框宽度键
|
||||
'rdpModalHeight', // NEW: 添加 RDP 模态框高度键
|
||||
'vncModalWidth', // NEW: 添加 VNC 模态框宽度键
|
||||
'vncModalHeight', // NEW: 添加 VNC 模态框高度键
|
||||
'timezone', // 添加时区键
|
||||
'rdpModalWidth', // 添加 RDP 模态框宽度键
|
||||
'rdpModalHeight', // 添加 RDP 模态框高度键
|
||||
'vncModalWidth', // 添加 VNC 模态框宽度键
|
||||
'vncModalHeight', // 添加 VNC 模态框高度键
|
||||
'ipBlacklistEnabled', // <-- 添加 IP 黑名单启用键
|
||||
'layoutLocked', // +++ 添加布局锁定键 +++
|
||||
'terminalScrollbackLimit', // NEW: 添加终端回滚行数键
|
||||
'fileManagerShowDeleteConfirmation' // NEW: 添加文件管理器删除确认键
|
||||
'terminalScrollbackLimit', // 添加终端回滚行数键
|
||||
'fileManagerShowDeleteConfirmation', // 添加文件管理器删除确认键
|
||||
'terminalEnableRightClickPaste' // 添加终端右键粘贴键
|
||||
];
|
||||
const filteredSettings: Record<string, string> = {};
|
||||
for (const key in settingsToUpdate) {
|
||||
@@ -64,7 +65,7 @@ export const settingsController = {
|
||||
|
||||
if (Object.keys(filteredSettings).length > 0) {
|
||||
await settingsService.setMultipleSettings(filteredSettings);
|
||||
}
|
||||
}
|
||||
|
||||
const updatedKeys = Object.keys(filteredSettings);
|
||||
if (updatedKeys.length > 0) {
|
||||
|
||||
@@ -18,7 +18,7 @@ export interface ClientState { // 导出以便 Service 可以导入
|
||||
connectionName?: string; // 添加连接名称字段
|
||||
sftp?: SFTPWrapper; // 添加 sftp 实例 (由 SftpService 管理)
|
||||
statusIntervalId?: NodeJS.Timeout; // 添加状态轮询 ID (由 StatusMonitorService 管理)
|
||||
dockerStatusIntervalId?: NodeJS.Timeout; // NEW: Docker 状态轮询 ID
|
||||
dockerStatusIntervalId?: NodeJS.Timeout; // Docker 状态轮询 ID
|
||||
ipAddress?: string; // 添加 IP 地址字段
|
||||
isShellReady?: boolean; // 标记 Shell 是否已准备好处理输入和调整大小
|
||||
isSuspendedByService?: boolean; // 标记此会话是否已被 SshSuspendService 接管
|
||||
|
||||
Reference in New Issue
Block a user