🚧 可配置预览阈值.

This commit is contained in:
lijiahang
2024-02-20 18:02:13 +08:00
parent 8acb8730bd
commit 9912130da1
10 changed files with 31 additions and 3 deletions

View File

@@ -11,6 +11,7 @@ interface ImportMetaEnv {
readonly VITE_API_BASE_URL: string;
readonly VITE_WS_BASE_URL: string;
readonly VITE_APP_VERSION: string;
readonly VITE_SFTP_PREVIEW_MB: number;
}
// editor

View File

@@ -152,6 +152,8 @@
import columns from './types/table.columns';
import { FILE_TYPE, openSftpChmodModalKey, openSftpMoveModalKey } from '../../types/terminal.const';
const previewSize = import.meta.env.VITE_SFTP_PREVIEW_MB;
const props = defineProps<{
session: ISftpSession | undefined;
list: Array<SftpFile>;
@@ -204,10 +206,10 @@
// 是否可编辑
const canEditable = (sizeByte: number, attr: string) => {
const typeValue = formatFileType(attr).value;
// 非文件夹和链接文件 并且文件大小小于 2MB 可以编辑
// 非文件夹和链接文件 并且文件小于 配置大小(MB) 可以编辑
return FILE_TYPE.DIRECTORY.value !== typeValue
&& FILE_TYPE.LINK_FILE.value !== typeValue
&& sizeByte <= 2 * 1024 * 1024;
&& sizeByte <= previewSize * 1024 * 1024;
};
// 点击文件名称

View File

@@ -19,6 +19,7 @@ const columns = [
title: '大小',
dataIndex: 'sizeByte',
slotName: 'size',
ellipsis: true,
sortable: {
sortDirections: ['ascend', 'descend'],
},
@@ -26,6 +27,7 @@ const columns = [
title: '属性',
dataIndex: 'attr',
slotName: 'attr',
ellipsis: true,
}, {
title: '修改时间',
dataIndex: 'modifyTime',

View File

@@ -4,7 +4,7 @@ import type { Terminal } from 'xterm';
import useCopy from '@/hooks/copy';
import html2canvas from 'html2canvas';
import { useTerminalStore, useUserStore } from '@/store';
import { TerminalShortcutItems } from '../types/terminal.const';
import { PanelSessionType, TerminalShortcutItems } from '../types/terminal.const';
import { saveAs } from 'file-saver';
import { Message } from '@arco-design/web-vue';
import { dateFormat } from '@/utils';
@@ -76,6 +76,7 @@ export default class SshSessionHandler implements ISshSessionHandler {
case 'interrupt':
case 'enter':
case 'commandEditor':
case 'openSftp':
case 'checkAppendMissing':
return this.session.canWrite;
case 'disconnect':
@@ -194,6 +195,16 @@ export default class SshSessionHandler implements ISshSessionHandler {
this.domRef.editorModal?.open('', '');
}
// 打开 sftp
openSftp() {
const terminalStore = useTerminalStore();
const host = terminalStore.hosts.hostList
.find(s => s.id === this.session.hostId);
if (host) {
terminalStore.openSession(host, PanelSessionType.SFTP);
}
}
// ctrl + c
interrupt() {
this.inst.paste(String.fromCharCode(3));

View File

@@ -159,6 +159,10 @@ export const ActionBarItems = [
item: 'commandEditor',
icon: 'icon-code-square',
content: '命令编辑器',
}, {
item: 'openSftp',
icon: 'icon-folder',
content: '打开 SFTP',
}, {
item: 'clear',
icon: 'icon-delete',

View File

@@ -288,6 +288,8 @@ export interface ISshSessionHandler {
fontSizeSubtract: () => void;
// 打开命令编辑器
commandEditor: () => void;
// 打开 sftp
openSftp: () => void;
// 中断
interrupt: () => void;
// 回车