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

# 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后端服务使用,请确保后端服务正常运行。