Private
Public Access
1
0
绝尘 4a1f0213df 重构:消除代码重复,提升可维护性
后端优化:
- 新增 resolvePassword 函数,消除密码获取重复逻辑
- 新增 parseMongoOptions 函数,消除 Options 解析重复
- 新增 testConnectionByType 统一连接测试调用
- 重构 loadMongoDatabasesWithOptions 接收解析后参数
- 删除重复代码 37 行

前端优化:
- 新增 useVisibleDatabases composable
- 统一 visible_databases 解析和过滤逻辑
- 简化错误处理,移除 try-catch 包装
- 删除重复代码 22 行

代码质量:
- 消除 6 处重复代码块
- 新增 5 个可复用函数
- 提升代码可维护性和可测试性
2026-03-31 11:49:25 +08:00
.
2025-12-30 20:27:35 +08:00
2026-03-31 11:49:25 +08:00
2026-03-31 11:49:25 +08:00
2026-03-31 11:49:25 +08:00

U-Desk

基于 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. 安装依赖

# Go 依赖
go mod tidy

# 前端依赖
cd web
npm install

2. 构建前端(必须)

cd web
npm run build

重要每次修改前端代码后都需要重新构建Wails 使用 web/dist 目录中的构建产物。

3. 开发模式运行

# 在项目根目录
wails dev

注意:如果 wails 命令找不到,使用完整路径:

# 获取 GOPATH
go env GOPATH

# 使用完整路径(根据你的 GOPATH 调整)
D:\Go\go-workspace\bin\wails.exe dev

4. 构建应用

# 确保前端已构建
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
  • 测试用例和检查报告

许可

本项目用于学习和测试目的。

Description
No description provided
Readme 11 MiB
Languages
Go 39.8%
Vue 28.4%
TypeScript 20.6%
JavaScript 6.8%
Java 2%
Other 2.3%