Private
Public Access
1
0
Files
u-desk/README.md

156 lines
4.0 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.
# 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. 安装依赖
```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
- 测试用例和检查报告
## 许可
本项目用于学习和测试目的。