You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
182 lines
5.0 KiB
182 lines
5.0 KiB
2 weeks ago
|
# GoFaster 前端系统
|
||
|
|
||
|
## 项目概述
|
||
|
|
||
|
GoFaster是一个基于Electron + Vue3的桌面应用程序,包含前端APP和后端Go服务。本仓库包含前端部分的完整实现。
|
||
|
|
||
|
## 功能特性
|
||
|
|
||
|
### 🎯 核心功能
|
||
|
- **用户管理**: 完整的用户CRUD操作,支持角色分配和权限管理
|
||
|
- **速度测试**: 网络连接速度测试功能
|
||
|
- **历史记录**: 测试历史数据查看和管理
|
||
|
- **系统设置**: 可配置的应用参数设置
|
||
|
|
||
|
### 🎨 界面特性
|
||
|
- **现代化设计**: 采用Material Design风格,界面美观易用
|
||
|
- **响应式布局**: 支持不同屏幕尺寸,适配各种设备
|
||
|
- **主题切换**: 支持浅色/深色主题切换
|
||
|
- **多语言支持**: 内置中英文界面
|
||
|
|
||
|
### 🔧 技术特性
|
||
|
- **标签页管理**: 支持多标签页操作,提高工作效率
|
||
|
- **收藏菜单**: 可收藏常用功能,快速访问
|
||
|
- **消息中心**: 实时消息通知和管理
|
||
|
- **面包屑导航**: 清晰的页面层级导航
|
||
|
|
||
|
## 技术架构
|
||
|
|
||
|
### 前端技术栈
|
||
|
- **框架**: Vue 3 + Composition API
|
||
|
- **构建工具**: Vue CLI + Webpack
|
||
|
- **桌面框架**: Electron
|
||
|
- **路由**: Vue Router 4
|
||
|
- **状态管理**: Vuex 4
|
||
|
- **HTTP客户端**: Axios
|
||
|
- **样式**: CSS3 + 响应式设计
|
||
|
|
||
|
### 项目结构
|
||
|
```
|
||
|
app/
|
||
|
├── src/
|
||
|
│ ├── main/ # Electron主进程
|
||
|
│ ├── renderer/ # 渲染进程
|
||
|
│ │ ├── components/ # 组件
|
||
|
│ │ ├── views/ # 页面
|
||
|
│ │ ├── services/ # 服务层
|
||
|
│ │ ├── router/ # 路由配置
|
||
|
│ │ └── store/ # 状态管理
|
||
|
│ └── public/ # 静态资源
|
||
|
├── package.json # 依赖配置
|
||
|
└── vue.config.js # Vue配置
|
||
|
```
|
||
|
|
||
|
## 快速开始
|
||
|
|
||
|
### 环境要求
|
||
|
- Node.js 16+
|
||
|
- npm 8+
|
||
|
|
||
|
### 安装依赖
|
||
|
```bash
|
||
|
cd app
|
||
|
npm install
|
||
|
```
|
||
|
|
||
|
### 开发模式
|
||
|
```bash
|
||
|
npm run dev
|
||
|
```
|
||
|
|
||
|
### 构建生产版本
|
||
|
```bash
|
||
|
npm run build
|
||
|
```
|
||
|
|
||
|
## 主要组件说明
|
||
|
|
||
|
### 1. MainLayout.vue - 主布局组件
|
||
|
- **顶部导航栏**: Logo、面包屑导航、消息中心、用户信息
|
||
|
- **左侧菜单**: 主要功能菜单、收藏菜单
|
||
|
- **内容区域**: 标签页管理、功能内容展示
|
||
|
|
||
|
### 2. UserManagement.vue - 用户管理页面
|
||
|
- **用户列表**: 分页显示、搜索筛选、状态管理
|
||
|
- **用户操作**: 添加、编辑、删除用户
|
||
|
- **角色管理**: 用户角色分配和权限控制
|
||
|
|
||
|
### 3. Settings.vue - 系统设置页面
|
||
|
- **基本设置**: 应用名称、语言、主题
|
||
|
- **网络设置**: API地址、超时配置、重试策略
|
||
|
- **用户设置**: 登录配置、会话管理
|
||
|
- **通知设置**: 桌面通知、声音提醒
|
||
|
- **数据设置**: 缓存管理、备份策略
|
||
|
|
||
|
## 后端API集成
|
||
|
|
||
|
### 用户管理API
|
||
|
- `GET /api/users` - 获取用户列表
|
||
|
- `POST /api/users` - 创建用户
|
||
|
- `PUT /api/users/:id` - 更新用户
|
||
|
- `DELETE /api/users/:id` - 删除用户
|
||
|
- `GET /api/roles` - 获取角色列表
|
||
|
|
||
|
### 认证API
|
||
|
- `POST /api/auth/login` - 用户登录
|
||
|
- `POST /api/auth/logout` - 用户登出
|
||
|
- `GET /api/auth/me` - 获取当前用户信息
|
||
|
|
||
|
## 配置说明
|
||
|
|
||
|
### 环境配置
|
||
|
在 `src/renderer/services/userService.js` 中配置API基础URL:
|
||
|
```javascript
|
||
|
const API_BASE_URL = 'http://localhost:8080/api'
|
||
|
```
|
||
|
|
||
|
### 主题配置
|
||
|
支持三种主题模式:
|
||
|
- `light`: 浅色主题
|
||
|
- `dark`: 深色主题
|
||
|
- `auto`: 跟随系统设置
|
||
|
|
||
|
## 开发指南
|
||
|
|
||
|
### 添加新页面
|
||
|
1. 在 `src/renderer/views/` 创建新的Vue组件
|
||
|
2. 在 `src/renderer/router/index.js` 添加路由配置
|
||
|
3. 在 `src/renderer/components/MainLayout.vue` 添加菜单项
|
||
|
|
||
|
### 添加新API
|
||
|
1. 在 `src/renderer/services/` 创建新的服务文件
|
||
|
2. 实现相应的API调用方法
|
||
|
3. 在组件中引入并使用
|
||
|
|
||
|
### 样式规范
|
||
|
- 使用CSS3和Flexbox布局
|
||
|
- 遵循Material Design设计规范
|
||
|
- 支持响应式设计,适配移动端
|
||
|
|
||
|
## 部署说明
|
||
|
|
||
|
### 开发环境
|
||
|
- 后端服务运行在 `localhost:8080`
|
||
|
- 前端开发服务器自动构建并启动Electron
|
||
|
|
||
|
### 生产环境
|
||
|
- 使用 `npm run build` 构建生产版本
|
||
|
- 生成的可执行文件在 `dist/` 目录
|
||
|
|
||
|
## 常见问题
|
||
|
|
||
|
### Q: 如何修改API服务器地址?
|
||
|
A: 在设置页面的"网络设置"部分修改API服务器地址,或直接修改 `userService.js` 中的 `API_BASE_URL`。
|
||
|
|
||
|
### Q: 如何添加新的菜单项?
|
||
|
A: 在 `MainLayout.vue` 的 `mainMenuItems` 数组中添加新的菜单项,包含id、name、path、icon等属性。
|
||
|
|
||
|
### Q: 如何自定义主题颜色?
|
||
|
A: 在CSS中修改CSS变量或直接修改相应的颜色值。
|
||
|
|
||
|
## 贡献指南
|
||
|
|
||
|
1. Fork 本仓库
|
||
|
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
|
||
|
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
||
|
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||
|
5. 创建Pull Request
|
||
|
|
||
|
## 许可证
|
||
|
|
||
|
本项目采用 ISC 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
|
||
|
|
||
|
## 联系方式
|
||
|
|
||
|
- 项目维护者: GoFaster Team
|
||
|
- 邮箱: support@gofaster.com
|
||
|
- 项目地址: https://github.com/gofaster/gofaster
|
||
|
|
||
|
---
|
||
|
|
||
|
**注意**: 本项目需要配合Go后端服务使用,请确保后端服务正常运行。
|