feat: 添加 Tauri 桌面应用

- 创建 packages/desktop 模块
- 实现 Tauri 2.0 + React 桌面应用
- 复用 Web 前端代码
- 添加系统托盘功能
- 实现本地文件访问命令
- 配置 Vite + Tauri 集成
- 更新 .gitignore 添加 Rust/Tauri 相关规则
This commit is contained in:
2025-12-12 13:19:00 +08:00
parent b5d3b7df57
commit 6ef9d95172
86 changed files with 14495 additions and 1 deletions
+40
View File
@@ -0,0 +1,40 @@
import { invoke } from '@tauri-apps/api/core';
export interface AppInfo {
name: string;
version: string;
tauri_version: string;
}
export interface FileContent {
path: string;
content: string;
size: number;
}
export interface DirectoryEntry {
name: string;
path: string;
is_dir: boolean;
size: number;
}
export async function getAppInfo(): Promise<AppInfo> {
return invoke('get_app_info');
}
export async function openDirectoryDialog(): Promise<string | null> {
return invoke('open_directory_dialog');
}
export async function readLocalFile(path: string): Promise<FileContent> {
return invoke('read_local_file', { path });
}
export async function listDirectory(path: string): Promise<DirectoryEntry[]> {
return invoke('list_directory', { path });
}
export function isTauri(): boolean {
return typeof window !== 'undefined' && '__TAURI__' in window;
}