feat: v0.3.0 版本 - SSH终端、SFTP、端口转发功能实现
核心功能: - SSH终端: 密码/密钥认证、XTerm.js终端、多主题配色、IP高亮 - SFTP管理: 双栏文件管理、上传下载、传输队列 - 端口转发: 本地/远程转发、SOCKS5动态代理、规则管理 架构改进: - 拆分大型组件 (SFTPView/TabBar/Sidebar) - 添加统一日志和错误处理 - 修复React严格模式下的终端黑屏问题 UI更新: - 新增端口转发视图 - 更新UI预览文档 - 左侧栏右键菜单支持SFTP快捷打开
This commit is contained in:
1 parent
cf1c054381
commit
484d850abd
105 files changed
+25330
-64
No files matched your search
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* IPC Handler Registration
|
||||
* 统一注册所有 IPC 处理器
|
||||
*/
|
||||
|
||||
import type { SSHService } from '../services/ssh-service'
|
||||
import type { DatabaseService } from '../services/database-service'
|
||||
import type { ZmodemService } from '../services/zmodem-service'
|
||||
import type { BrowserWindow } from 'electron'
|
||||
import { createLogger } from '../utils/logger'
|
||||
|
||||
const logger = createLogger('IPC')
|
||||
|
||||
import { registerSSHIPCHandlers } from './ssh.ipc'
|
||||
import { registerSFTPIPCHandlers } from './sftp.ipc'
|
||||
import { registerSessionIPCHandlers } from './session.ipc'
|
||||
import { registerSettingsIPCHandlers } from './settings.ipc'
|
||||
import { registerDialogIPCHandlers } from './dialog.ipc'
|
||||
import { registerFileIPCHandlers } from './file.ipc'
|
||||
import { registerZmodemIPCHandlers } from './zmodem.ipc'
|
||||
import { registerAppIPCHandlers } from './app.ipc'
|
||||
|
||||
export interface IPCOptions {
|
||||
sshService: SSHService
|
||||
databaseService: DatabaseService
|
||||
zmodemService: ZmodemService
|
||||
mainWindowGetter: () => BrowserWindow | null
|
||||
}
|
||||
|
||||
export function registerAllIPCHandlers(options: IPCOptions): void {
|
||||
const { sshService, databaseService, zmodemService, mainWindowGetter } = options
|
||||
|
||||
// SSH handlers
|
||||
registerSSHIPCHandlers({ sshService, zmodemService, mainWindowGetter })
|
||||
|
||||
// SFTP handlers
|
||||
registerSFTPIPCHandlers({ sshService, mainWindowGetter })
|
||||
|
||||
// Session handlers
|
||||
registerSessionIPCHandlers({ dbService: databaseService })
|
||||
|
||||
// Settings handlers
|
||||
registerSettingsIPCHandlers({ dbService: databaseService })
|
||||
|
||||
// Dialog handlers
|
||||
registerDialogIPCHandlers({ mainWindowGetter })
|
||||
|
||||
// File handlers
|
||||
registerFileIPCHandlers()
|
||||
|
||||
// Zmodem handlers
|
||||
registerZmodemIPCHandlers({ sshService, zmodemService, mainWindowGetter })
|
||||
|
||||
// App handlers
|
||||
registerAppIPCHandlers()
|
||||
|
||||
logger.info('[IPC] All handlers registered')
|
||||
}
|
||||
|
||||
// Re-export channel constants for external use
|
||||
export { SSH_CHANNELS } from './ssh.ipc'
|
||||
export { SFTP_CHANNELS } from './sftp.ipc'
|
||||
export { SESSION_CHANNELS } from './session.ipc'
|
||||
export { SETTINGS_CHANNELS } from './settings.ipc'
|
||||
export { DIALOG_CHANNELS } from './dialog.ipc'
|
||||
export { FILE_CHANNELS } from './file.ipc'
|
||||
export { ZMODEM_CHANNELS } from './zmodem.ipc'
|
||||
export { APP_CHANNELS } from './app.ipc'
|
||||
Reference in new issue
Block a user