DevBox/README.md

113 lines
3.0 KiB
Markdown
Raw Permalink 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.

# DevBox
面向开发者的轻量级一站式工作台桌面应用,基于 **Tauri 2** 构建,兼具原生性能与 Web 技术灵活性。
## 技术栈
| 层 | 技术 |
|------|------|
| 桌面框架 | [Tauri 2](https://tauri.app/)Rust 后端 + Web 前端) |
| 前端 | Vue 3 + TypeScript + Vite |
| UI 组件 | [Naive UI](https://www.naiveui.com/) |
| 路由 | Vue Router 5 |
| 数据库 | MySQL通过 [SQLx](https://github.com/launchbadge/sqlx) 异步连接 |
| 系统信息 | [sysinfo](https://github.com/GuillaumeGomez/sysinfo) |
| 图标 | [Ionicons 5](https://ionic.io/ionicons) |
## 功能
- **用户登录** — 支持 MySQL 验证的登录界面
- **仪表盘** — 项目概览、统计卡片、活跃度趋势图、仓库列表
- **系统信息** — 实时采集 CPU、内存等核心指标
- **侧边栏导航** — 仓库、成员、服务、插件、设置等模块入口
## 快速开始
### 环境要求
- Node.js 18+
- pnpm 8+
- Rust 最新稳定版
- MySQL 8.0+(运行中)
### 安装依赖
```bash
pnpm install
```
### 配置数据库
`src-tauri/` 目录下创建 `.env` 文件:
```
DATABASE_URL=mysql://用户名:密码@127.0.0.1:3306/数据库名
```
然后导入初始表结构:
```sql
CREATE TABLE IF NOT EXISTS sys_user (
id INT AUTO_INCREMENT PRIMARY KEY,
nick_name VARCHAR(100) NOT NULL,
avatar VARCHAR(255) DEFAULT '',
user_name VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(200) DEFAULT '',
phone VARCHAR(20) DEFAULT '',
age INT DEFAULT 0,
sex INT DEFAULT 0,
creater INT DEFAULT 0,
create_time VARCHAR(50) DEFAULT ''
);
```
### 启动开发服务器
```bash
pnpm tauri dev
```
### 构建桌面安装包
```bash
pnpm tauri build
```
## 项目结构
```
DevBox/
├── src/ # Vue 前端
│ ├── api/system/ # 后端 API 调用
│ ├── views/
│ │ ├── home/Login.vue # 登录页
│ │ └── dashboard/ # 仪表盘
│ ├── router/ # 路由配置
│ ├── types/ # TypeScript 类型
│ └── assets/ # 静态资源
├── src-tauri/ # Rust 后端
│ ├── src/
│ │ ├── lib.rs # Tauri 入口 & 命令注册
│ │ ├── main.rs # 主函数
│ │ ├── models.rs # 数据结构
│ │ ├── services/db.rs # 数据库连接池
│ │ └── commands/ # Tauri 命令
│ ├── Cargo.toml # Rust 依赖
│ └── tauri.conf.json # Tauri 配置
├── package.json
└── index.html
```
## 技术亮点
- **异步数据库访问** — SQLx 连接池自动注入 Tauri 命令,无阻塞 UI
- **泛型响应结构** — `ApiResponse<T>` 统一前后端数据契约
- **玻璃态 UI** — 登录页采用 backdrop-filter 毛玻璃卡片设计
- **响应式骨架** — 仪表盘适配 375px ~ 1440px 全宽度区间
- **系统减动画偏好** — 完整支持 `prefers-reduced-motion`
## 许可
MIT