UNPKG

@seasongold4/webssh2-frontend-fixed

Version:

WebSSH2 前端终端库 - 修复版本,完全兼容原项目后端,解决终端显示乱码问题

95 lines (94 loc) 2.29 kB
export interface WebSSHClientConfig { socketUrl: string; socketPath?: string; onConnected?: () => void; onDisconnected?: () => void; onError?: (error: string) => void; onData?: (data: string) => void; } export declare class WebSSHClient { private terminal; private fitAddon; private socket; private container; private config; private sessionLogEnable; private loggedData; private allowreplay; private allowreauth; private sessionLog; private sessionFooter; private logDate; private currentDate; private myFile; private errorExists; private hasCountdownStarted; private logBtn; private credentialsBtn; private reauthBtn; private downloadLogBtn; private status; private header; private footer; private countdown; private terminalContainer; constructor(container: HTMLElement | string, config: WebSSHClientConfig); /** * 设置完全仿照原项目的WebSSH界面 */ private setupUI; /** * 获取DOM元素引用 - 完全仿照原项目 */ private getDOMElements; /** * 添加原项目的完整CSS样式 */ private addOriginalStyles; /** * 初始化终端 - 完全仿照原项目 */ private initTerminal; /** * 连接到SSH服务器 - 完全仿照原项目的连接方式 * 注意:不发送ssh-connect事件,只建立Socket.IO连接 */ connect(): void; /** * 设置完全仿照原项目的Socket事件处理 */ private setupOriginalSocketEvents; /** * 绘制菜单并重新附加监听器 - 完全仿照原项目 */ private drawMenu; /** * 调整屏幕大小 - 完全仿照原项目 */ private resizeScreen; /** * 切换日志记录 - 完全仿照原项目 */ private toggleLog; /** * 下载日志 - 完全仿照原项目 */ private downloadLog; /** * 重放凭据 - 完全仿照原项目 */ private replayCredentials; /** * 重新认证会话 - 完全仿照原项目 */ private reauthSession; /** * 断开连接 */ disconnect(): void; /** * 销毁组件 */ destroy(): void; } export default WebSSHClient;