export class UserGroup { id: string; name: string; comment: string; } export class User { id: string; name: string; username: string; password: string; phone: string; avatar: string; role: string; email: string; wechat: string; comment: string; is_active: boolean; is_superuser: boolean; date_joined: string; last_login: string; date_expired: string; groups: Array <UserGroup>; logined: boolean; } export class SystemUser { id: string; name: string; login_mode: string; username: string; priority: number; protocol: string; password: string; actions: Array<string>; } export class TreeNode { id: string; name: string; comment: string; title: string; isParent: boolean; pId: string; open: boolean; iconSkin: string; meta: any; } export class Node { id: string; key: string; value: string; } export class Asset { id: string; hostname: string; ip: string; comment: string; domain: string; os: string; platform: string; protocols: Array<string>; } export class GuacObjAddResp { code: number; result: string; } export class ConnectEvt { node: TreeNode; action: string; constructor(node: TreeNode, action: string) { this.node = node; this.action = action; } } export class Nav { id: string; name: string; children?: Array<Nav>; hide?: boolean = false; click?: string; href?: string; disable?: boolean = false; } export class NavEvt { name: string; value: any; constructor(name: string, value: any) { this.name = name; this.value = value; } } export class View { id: string; nick: string; type: string; editable: boolean; active: boolean; connected: boolean; hide: boolean; closed: boolean; host: any; user: any; remoteApp: string; room: string; Rdp: any; Term: any; } export class ViewAction { view: View; name: string; constructor(view: View, name: string) { this.view = view; this.name = name; } } export class DataStore { socket: any; Nav: Array<object>; NavShow = true; Path: {}; error: {}; msg: {}; logLevel: number; showLeftBar = true; windowSize: Array<number>; autoLogin: boolean; guacamoleToken: string; guacamoleTokenTime: number; } export class Browser { userAgent: string; appCodeName: string; appName: string; appVersion: string; language: string; platform: string; product: string; productSub: string; vendor: string; constructor() { this.userAgent = navigator.userAgent; this.appCodeName = navigator.appCodeName; this.appName = navigator.appName; this.appVersion = navigator.appVersion; this.language = navigator.language; this.platform = navigator.platform; this.product = navigator.product; this.productSub = navigator.productSub; this.vendor = navigator.vendor; } } export class Video { id: string; src: string; type: string; height: number; width: number; json: object; timeList: Array<number>; totalTime: number; } export class Monitor { token: string; room: string; type: string; } export class Setting { rdpSolution: string = '1024x768'; fontSize: number = 14; isLoadTreeAsync: string = '1'; isSkipAllManualPassword: string = '0'; }