Private
Public Access
1
0

新增:Markdown编辑器/数据库优化/安全修复

- Markdown 编辑器:实时预览、PDF 导出、独立查看器
- 数据库优化:动态连接池、查询缓存、Redis Pipeline
- 窗口置顶功能
- 文件系统增强:右键菜单、编辑器集成、收藏夹重构
- 安全修复:XSS 防护、路径穿越、HTML 注入
- 代码质量:正则预编译、缓存锁优化、死代码清理
This commit is contained in:
2026-03-31 09:18:06 +08:00
parent 5f94ccf13b
commit e5dbe89a6f
59 changed files with 5289 additions and 1316 deletions

161
README.md
View File

@@ -1,155 +1,10 @@
# U-Desk
# U-Desk v0.3.3
基于 Wails 的桌面应用程序,集成数据库客户端、文件管理、设备测试等功能。
## 技术栈
- **后端**Go 1.25+、Wails v2
- **前端**Vue 3、Arco Design Vue、Vite
- **存储**SQLite、MySQL、Redis、MongoDB
## 核心功能
### 1. 数据库客户端
- 支持 MySQL、Redis、MongoDB 多种数据库连接
- 连接管理(保存、编辑、删除连接配置)
- SQL 执行与结果展示
- 数据表结构查看
### 2. 文件管理
- 本地文件系统浏览(支持多盘符)
- 文件预览(图片、文本、代码)
- 文件操作(复制、移动、删除、重命名)
- 常用路径快捷访问(桌面、文档、下载等)
- 搜索与筛选功能
### 3. 设备测试
- 系统设备信息查询
- 硬件状态检测
### 4. 更新管理
- 应用版本检查与自动更新
- 更新日志展示
## 项目结构
```
go-desk/
├── app.go # 应用入口API 方法绑定
├── main.go # 程序启动
├── wails.json # Wails 配置
├── go.mod # Go 模块依赖
├── internal/
│ ├── api/ # API 层(数据库、标签页、更新等)
│ ├── common/ # 通用工具(超时、工具函数)
│ ├── dbclient/ # 数据库客户端MySQL、Redis、MongoDB
│ ├── filesystem/ # 文件系统管理(模块化架构)
│ ├── service/ # 服务层SQL 执行等)
│ ├── storage/ # 本地存储SQLite
│ └── system/ # 系统信息获取
└── web/ # 前端代码
├── package.json
├── vite.config.js
├── index.html
└── src/
├── components/ # Vue 组件
│ ├── FileSystem.vue # 文件管理
│ ├── DeviceTest.vue # 设备测试
│ ├── UpdatePanel.vue # 更新面板
│ └── CodeEditor.vue # 代码编辑器
├── composables/ # 组合式函数
│ ├── useFileOperations.js
│ ├── useFavoriteFiles.js
│ └── useLocalStorage.js
├── utils/ # 工具函数
├── api/ # API 调用
└── App.vue # 主应用
```
## 开发
### 1. 安装依赖
```bash
# Go 依赖
go mod tidy
# 前端依赖
cd web
npm install
```
### 2. 构建前端(必须)
```bash
cd web
npm run build
```
**重要**每次修改前端代码后都需要重新构建Wails 使用 `web/dist` 目录中的构建产物。
### 3. 开发模式运行
```bash
# 在项目根目录
wails dev
```
**注意**:如果 `wails` 命令找不到,使用完整路径:
```bash
# 获取 GOPATH
go env GOPATH
# 使用完整路径(根据你的 GOPATH 调整)
D:\Go\go-workspace\bin\wails.exe dev
```
### 4. 构建应用
```bash
# 确保前端已构建
cd web
npm run build
cd ..
# 构建当前平台
wails build
# 构建 Windows明确指定平台
wails build -platform windows/amd64
```
**构建产物位置**`build/bin/go-desk.exe`
**注意**
- 构建前确保前端已构建(`web/dist` 目录存在)
- 构建产物是独立的可执行文件,包含前端资源
## 数据库配置
应用使用 SQLite 本地存储连接配置和用户数据。
可选连接外部数据库:
- **MySQL**:支持连接、查询、表结构查看
- **Redis**:支持连接、基础操作
- **MongoDB**:支持连接、基础操作
## 架构特点
- **模块化文件系统**:文件管理功能采用模块化设计,职责分离
- **异步启动优化**:应用启动流程优化,核心功能快速初始化
- **本地文件服务器**:支持本地文件预览和访问
- **SQLite 持久化**:连接配置和用户数据本地存储
## 文档
详细文档请查看 `docs/` 目录:
- 架构设计文档
- 功能迭代记录
- 技术决策记录ADR
- 测试用例和检查报告
## 许可
本项目用于学习和测试目的。
## 功能
- 数据库客户端
- Markdown编辑器
- PDF导出
## 更新
- ✅ MD编辑器完成
- ✅ PDF导出优化中