@seasongold4/webssh2-frontend-fixed
Version:
WebSSH2 前端终端库 - 修复版本,完全兼容原项目后端,解决终端显示乱码问题
95 lines (94 loc) • 2.29 kB
TypeScript
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;