- Extend AppLanguage to 7 locales: zh-CN, zh-TW, en, ja, ko, vi, ru - Auto-detect system language via navigator.languages; fallback to English - Add BCP47 locale mapping for date formatting and sorting - Create 50 translation JSON files (5 languages × 10 namespaces, 1137 keys each) - Update language selector with native language names - Extend locale key parity test to cover all 7 languages (70 assertions) - Add VNC/RDP desktop, serial terminal, AI agent, port forwarding, and SFTP features - Add credential encryption, host metrics, session backup crypto, and zmodem bridge - Update Rust backend: desktop services, host metrics, SSH/SFTP enhancements
50 lines
1.0 KiB
TypeScript
50 lines
1.0 KiB
TypeScript
/**
|
|
* SFTP Types - 统一的 SFTP 类型定义
|
|
* 在主进程和渲染进程间共享
|
|
*/
|
|
|
|
// 文件项
|
|
export interface FileItem {
|
|
name: string
|
|
path: string
|
|
type: 'file' | 'directory' | 'symlink'
|
|
size: number
|
|
modified: number // Unix timestamp
|
|
permissions: string
|
|
}
|
|
|
|
// 传输任务
|
|
export interface TransferTask {
|
|
id: string
|
|
type: 'upload' | 'download'
|
|
fileName: string
|
|
filePath: string
|
|
status: 'pending' | 'transferring' | 'completed' | 'failed' | 'canceled'
|
|
progress: number
|
|
error?: string
|
|
total: number
|
|
transferred: number
|
|
speed?: number // bytes per second
|
|
startTime?: number
|
|
/** Directory recursive transfer (upload_dir / download_dir). */
|
|
isDirectory?: boolean
|
|
}
|
|
|
|
// 传输进度
|
|
export interface TransferProgress {
|
|
taskId: string
|
|
transferred: number
|
|
total: number
|
|
speed: number
|
|
}
|
|
|
|
// 文件列表排序
|
|
export type SortField = 'name' | 'size' | 'modified' | 'type'
|
|
export type SortOrder = 'asc' | 'desc'
|
|
|
|
// SFTP 操作结果
|
|
export interface SFTPOperationResult {
|
|
success: boolean
|
|
error?: string
|
|
}
|