# Thing 一个基于 Tauri 2 + Vue 3 的 Windows 工具集,集成多个实用功能模块。 ## 技术栈 | 层次 | 技术 | 版本 | |------|------|------| | 框架 | Tauri | 2.x | | 前端 | Vue | 3.x | | 前端构建 | Vite | 6.x | | 状态管理 | Pinia | 2.x | | UI 组件 | shadcn-vue | 2.x | | 语言 | TypeScript | 5.x | | 后端 | Rust | 2021 Edition | | 包管理 | Bun | latest | ## 项目结构 ``` Thing/ ├── public/ # 静态资源 ├── src/ │ ├── assets/ # 前端资源 │ ├── components/ # 通用组件 │ │ ├── Layout/ # 布局组件 │ │ └── UI/ # UI 组件 │ ├── modules/ # 功能模块 │ │ ├── proxy/ # 代理管理模块 │ │ ├── clipboard/ # 剪贴板增强模块 │ │ ├── screenshot/ # 截图模块 │ │ ├── monitor/ # 硬件监控模块 │ │ ├── downloader/ # 下载器模块 │ │ └── finder/ # 文件搜索模块 │ ├── stores/ # Pinia 状态管理 │ ├── utils/ # 工具函数 │ ├── App.vue # 主应用组件 │ ├── main.ts # 入口文件 │ └── style.css # 全局样式 ├── src-tauri/ │ ├── capabilities/ # Tauri 权限配置 │ ├── icons/ # 应用图标 │ ├── src/ │ │ ├── commands/ # Rust 命令 │ │ │ ├── proxy.rs # 代理相关命令 │ │ │ ├── clipboard.rs # 剪贴板相关命令 │ │ │ ├── screenshot.rs # 截图相关命令 │ │ │ ├── monitor.rs # 监控相关命令 │ │ │ ├── downloader.rs # 下载器相关命令 │ │ │ └── finder.rs # 文件搜索相关命令 │ │ ├── modules/ # Rust 模块逻辑 │ │ ├── utils/ # Rust 工具函数 │ │ ├── main.rs # Rust 入口 │ │ └── lib.rs # Rust 库入口 │ ├── Cargo.toml # Rust 依赖配置 │ └── tauri.conf.json # Tauri 配置 ├── package.json # 前端依赖配置 ├── tsconfig.json # TypeScript 配置 └── vite.config.ts # Vite 配置 ``` ## 开发进程规划 ### 第一阶段:主体架构(当前阶段) - [x] 项目初始化 - [ ] 主界面布局(左侧模块导航 + 右侧内容区域) - [ ] 基础设置模块(主题切换、开机自启、语言设置) - [ ] 系统托盘(Tray) - [ ] 日志系统(Log) - [ ] 进程管理架构(子进程生命周期管理) - [ ] 模块注册机制 ### 第二阶段:核心模块开发 #### 🌐 代理管理 - [ ] 内置 mihomo (Clash.Meta) 内核集成 - [ ] 系统代理切换 - [ ] 规则配置管理 - [ ] 延迟测速 - [ ] 订阅管理 #### 📋 剪贴板增强 - [ ] 剪贴板历史记录 - [ ] 搜索功能 - [ ] 固定常用条目 - [ ] 多格式预览(文本、图片、文件) - [ ] SQLite 存储 #### 📸 截图 - [ ] 区域截图 - [ ] 窗口截图 - [ ] 全屏截图 - [ ] 滚动截图 - [ ] 图片编辑工具 #### 📊 硬件监控 - [ ] CPU 使用率监控 - [ ] GPU 使用率监控 - [ ] 内存使用率监控 - [ ] 硬盘温度及使用率 - [ ] 传感器数据可视化 #### ⬇️ 下载器 - [ ] HTTP 下载支持 - [ ] BT/磁力链接支持(aria2) - [ ] 下载任务管理 - [ ] 速度限制 - [ ] 断点续传 #### 🔍 文件 / 程序搜索 - [ ] 快速搜索弹窗(快捷键触发) - [ ] 文件搜索(Everything SDK) - [ ] 应用程序搜索 - [ ] 拼音模糊匹配 - [ ] 正则表达式支持 ### 第三阶段:优化与完善 - [ ] 性能优化 - [ ] 错误处理与日志完善 - [ ] 用户体验优化 - [ ] 自动更新机制 - [ ] 打包发布 ## 模块管理架构 项目采用模块化架构,每个模块独立开发,通过统一的注册机制接入主界面: 1. **左侧导航栏**:显示所有已注册模块的名称和图标 2. **右侧内容区域**:显示当前选中模块的详细设置和功能界面 3. **模块注册**:通过配置文件或代码注册模块信息(名称、图标、组件路径、权限等) ## 构建与运行 ### 前置依赖 - Node.js >= 18 - Rust >= 1.75 - Bun(推荐)或 npm/yarn - Windows SDK(用于 Tauri 构建) ### 开发模式 ```bash # 安装依赖 bun install # 启动开发服务器 bun run tauri dev ``` ### 生产构建 ```bash # 构建前端 bun run build # 构建应用 bun run tauri build ``` ## 开发规范 ### 代码风格 - TypeScript 代码遵循 ESLint 规则 - Rust 代码遵循 `cargo fmt` 规范 - 提交信息使用 Conventional Commits 格式 ### 命名规范 - 组件:PascalCase(如 `ProxyManager.vue`) - 函数:camelCase(如 `getSystemProxy()`) - 文件:kebab-case(如 `proxy-manager.ts`) - 常量:UPPER_CASE(如 `MAX_HISTORY_COUNT`) ### 分支策略 - `main`:主分支,稳定版本 - `develop`:开发分支,整合各模块开发 - `feature/*`:功能分支,单个模块开发 - `bugfix/*`:修复分支,bug 修复 ## 许可证 MIT License