Files
orion-visor/orion-visor-ui/src/api/asset/host-terminal.ts

74 lines
1.6 KiB
TypeScript
Raw Normal View History

2024-01-04 17:10:07 +08:00
import axios from 'axios';
2024-05-09 00:06:08 +08:00
import { createAppWebSocket } from '@/utils/http';
2024-01-04 17:10:07 +08:00
2024-01-10 19:30:25 +08:00
// 终端主题
export interface TerminalTheme {
name: string;
dark: boolean;
schema: TerminalThemeSchema;
}
// 终端主题 schema
export interface TerminalThemeSchema {
background: string;
foreground: string;
cursor: string;
cursorAccent?: string;
selectionBackground?: string;
selectionForeground?: string;
selectionInactiveBackground?: string;
black: string;
red: string;
green: string;
yellow: string;
blue: string;
magenta: string;
cyan: string;
white: string;
brightBlack: string;
brightRed: string;
brightGreen: string;
brightYellow: string;
brightBlue: string;
brightMagenta: string;
brightCyan: string;
brightWhite: string;
[key: string]: unknown;
}
/**
*
*/
export function getTerminalThemes() {
return axios.get<Array<TerminalTheme>>('/asset/host-terminal/themes');
}
2024-01-04 17:10:07 +08:00
/**
* accessToken
*/
2024-01-10 19:30:25 +08:00
export function getTerminalAccessToken() {
2024-01-05 23:28:36 +08:00
return axios.get<string>('/asset/host-terminal/access');
2024-01-04 17:10:07 +08:00
}
2024-05-09 00:06:08 +08:00
2024-08-05 09:11:54 +08:00
/**
* transferToken
*/
export function getTerminalTransferToken() {
return axios.get<string>('/asset/host-terminal/transfer');
}
2024-05-09 00:06:08 +08:00
/**
* websocket
*/
export const openHostTerminalChannel = (accessToken: string) => {
return createAppWebSocket(`/host/terminal/${accessToken}`);
};
/**
* websocket
*/
export const openHostTransferChannel = (accessToken: string) => {
return createAppWebSocket(`/host/transfer/${accessToken}`);
};