Files
Thing/README.md
T
2026-07-13 17:11:31 +08:00

188 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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