# 运维工具前端 **Repository Path**: woaitonghui/ywfro ## Basic Information - **Project Name**: 运维工具前端 - **Description**: 运维工具前端 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-27 - **Last Updated**: 2026-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 运维管理平台 - 前端项目 企业级运维管理平台前端项目,基于 Vue 3 + TypeScript + Element Plus 构建,提供容器管理、虚拟机管理、系统监控、AI对话等核心功能。 ## 项目简介 本平台是一个功能完善的企业级运维管理系统,旨在帮助运维人员高效管理服务器资源、监控系统状态、自动化运维操作。前端采用现代化的技术栈,提供友好的用户界面和流畅的操作体验。 ### 核心功能 - **容器管理**:Docker镜像管理、容器生命周期管理、镜像推送和拉取 - **虚拟机管理**:虚拟机创建、启动、停止、快照管理 - **系统监控**:CPU、内存、磁盘使用率实时监控,图表可视化展示 - **AI对话助手**:集成 DeepSeek AI,提供智能运维建议和问题解答 - **SSH终端**:Web端SSH终端,支持远程服务器管理 - **MySQL管理**:数据库连接配置、SQL查询执行、数据表操作 - **用户管理**:用户权限管理、角色分配 - **系统设置**:系统参数配置、个性化设置 ## 技术栈 ### 核心框架 - **Vue 3.2.13**:渐进式JavaScript框架 - **TypeScript 4.5.5**:JavaScript的超集,提供类型安全 - **Vite 6.2.5**:新一代前端构建工具 ### UI组件库 - **Element Plus 2.9.6**:基于Vue 3的组件库 - **@element-plus/icons-vue 2.3.1**:Element Plus图标库 ### 数据可视化 - **ECharts 5.6.0**:专业的数据可视化图表库 - **vue-echarts 7.0.3**:ECharts的Vue 3封装 ### 路由和状态管理 - **Vue Router 4.0.3**:Vue官方路由管理器 - **@vueuse/core 13.0.0**:Vue Composition API实用工具集 ### 网络请求 - **Axios 1.8.4**:HTTP客户端 ### 其他工具库 - **vue-markdown-render 2.2.1**:Markdown渲染 - **vue3-markdown-it 1.0.10**:Markdown解析器 - **file-saver 2.0.5**:文件保存 - **html2canvas 1.4.1**:HTML转Canvas - **jspdf 3.0.1**:PDF生成 - **xlsx 0.18.5**:Excel文件处理 - **@iconify/vue 4.3.0**:图标框架 - **@fortawesome/vue-fontawesome 3.0.3**:FontAwesome图标 ### 样式处理 - **Sass 1.59.3**:CSS预处理器 - **sass-loader 13.2.1**:Sass加载器 ### 开发工具 - **@vitejs/plugin-vue 5.2.3**:Vite的Vue插件 - **@vue/cli-service 5.0.0**:Vue CLI服务 - **@vue/cli-plugin-typescript 5.0.8**:TypeScript插件 - **@vue/cli-plugin-router 5.0.0**:路由插件 ## 项目结构 ``` qianduan/ ├── public/ # 静态资源 │ ├── favicon.ico # 网站图标 │ ├── index.html # HTML模板 │ └── static/ # 静态文件 ├── src/ │ ├── assets/ # 资源文件 │ │ └── images/ # 图片资源 │ ├── components/ # 公共组件 │ │ ├── Breadcrumb.vue # 面包屑导航 │ │ ├── KnowledgeUpload.vue # 知识库上传组件 │ │ └── SideMenu.vue # 侧边菜单 │ ├── router/ # 路由配置 │ │ └── index.ts # 路由主文件 │ ├── views/ # 页面组件 │ │ ├── admin/ # 管理员模块 │ │ │ ├── UserManage.vue # 用户管理 │ │ │ ├── index.css # 样式文件 │ │ │ └── index.js # 脚本文件 │ │ ├── aichat/ # AI对话模块 │ │ │ ├── Aichat.vue # AI对话页面 │ │ │ └── index.css # 样式文件 │ │ ├── sqltest/ # MySQL管理模块 │ │ │ ├── MysqlConnection.vue # MySQL连接配置 │ │ │ ├── MysqlQuery.vue # SQL查询 │ │ │ └── TableCurd.vue # 表格CRUD操作 │ │ ├── sshserver/ # SSH服务器管理模块 │ │ │ ├── ContainerView.vue # 容器管理 │ │ │ ├── DockerImage.vue # Docker镜像管理 │ │ │ ├── PushImageDialog.vue # 镜像推送对话框 │ │ │ ├── ServerView.vue # 服务器管理 │ │ │ ├── SshTerminal.vue # SSH终端 │ │ │ ├── sshter.css # 终端样式 │ │ │ └── test.vue # 测试页面 │ │ ├── systeminfo/ # 系统监控模块 │ │ │ ├── SystemMonitor.vue # 系统监控页面 │ │ │ ├── index.css # 样式文件 │ │ │ └── index.js # 脚本文件 │ │ ├── systemset/ # 系统设置模块 │ │ │ ├── SystemSettings.vue # 系统设置页面 │ │ │ ├── index.css # 样式文件 │ │ │ └── index.js # 脚本文件 │ │ ├── LoginWork.vue # 登录页面 │ │ └── login.css # 登录样式 │ ├── App.vue # 根组件 │ └── main.ts # 应用入口 ├── .env # 环境变量 ├── .gitignore # Git忽略文件 ├── Dockerfile # Docker构建文件 ├── Dockerfile.prod # 生产环境Docker文件 ├── index.html # HTML入口 ├── jsconfig.json # JS配置 ├── nginx.conf # Nginx配置 ├── package.json # 项目依赖 ├── pnpm-lock.yaml # pnpm锁文件 ├── tsconfig.json # TypeScript配置 └── vite.config.js # Vite配置 ``` ## 功能模块详解 ### 1. 容器管理 **功能特性**: - Docker镜像列表查看和管理 - 镜像构建(支持Dockerfile) - 镜像推送到私有仓库 - 容器生命周期管理(启动、停止、重启、删除) - 容器日志查看 - 容器资源使用监控 **相关文件**: - [ContainerView.vue](src/views/sshserver/ContainerView.vue) - [DockerImage.vue](src/views/sshserver/DockerImage.vue) - [PushImageDialog.vue](src/views/sshserver/PushImageDialog.vue) ### 2. 系统监控 **功能特性**: - 实时CPU使用率监控 - 内存使用情况监控 - 磁盘使用率监控 - 历史数据图表展示 - 多服务器监控切换 **相关文件**: - [SystemMonitor.vue](src/views/systeminfo/SystemMonitor.vue) ### 3. AI对话助手 **功能特性**: - 智能运维问答 - Markdown格式响应渲染 - 对话历史记录 - 流式输出支持 - 思考过程展示 **相关文件**: - [Aichat.vue](src/views/aichat/Aichat.vue) ### 4. SSH终端 **功能特性**: - Web端SSH连接 - 多标签页支持 - 命令历史记录 - 终端样式自定义 **相关文件**: - [SshTerminal.vue](src/views/sshserver/SshTerminal.vue) ### 5. MySQL管理 **功能特性**: - 数据库连接配置管理 - SQL查询执行 - 查询结果表格展示 - 数据导出(Excel) - 表格CRUD操作 **相关文件**: - [MysqlConnection.vue](src/views/sqltest/MysqlConnection.vue) - [MysqlQuery.vue](src/views/sqltest/MysqlQuery.vue) - [TableCurd.vue](src/views/sqltest/TableCurd.vue) ### 6. 用户管理 **功能特性**: - 用户列表查看 - 用户信息编辑 - 角色权限分配 - 用户状态管理 **相关文件**: - [UserManage.vue](src/views/admin/UserManage.vue) ### 7. 系统设置 **功能特性**: - 系统参数配置 - 主题设置 - 通知设置 - 个性化配置 **相关文件**: - [SystemSettings.vue](src/views/systemset/SystemSettings.vue) ## 快速开始 ### 环境要求 - Node.js >= 16.0.0 - npm >= 8.0.0 或 pnpm >= 7.0.0 ### 安装依赖 ```bash # 使用npm npm install # 或使用pnpm(推荐) pnpm install ``` ### 开发环境运行 ```bash npm run dev ``` 访问 `http://localhost:5173` 查看应用 ### 生产环境构建 ```bash npm run build ``` 构建产物将生成在 `dist` 目录 ### 代码检查 ```bash npm run lint ``` ## 开发指南 ### 环境变量配置 在 `.env` 文件中配置环境变量: ```env VITE_API_BASE_URL=http://localhost:8080/api VITE_WS_BASE_URL=ws://localhost:8080/ws ``` ### 路由配置 路由配置文件位于 [src/router/index.ts](src/router/index.ts),支持路由懒加载: ```typescript { path: '/aichat', name: 'Aichat', component: () => import('@/views/aichat/Aichat.vue') } ``` ### 组件开发 推荐使用 Vue 3 Composition API: ```vue ``` ### API请求 使用 Axios 进行HTTP请求,建议在项目中创建统一的API封装: ```typescript import axios from 'axios' const api = axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL, timeout: 10000 }) export default api ``` ### 样式开发 使用 Sass 预处理器,支持模块化样式: ```vue ``` ## 部署说明 ### Docker部署 1. 构建Docker镜像: ```bash docker build -t coson-web:latest . ``` 2. 运行容器: ```bash docker run -d -p 80:80 coson-web:latest ``` ### Nginx部署 1. 构建生产版本: ```bash npm run build ``` 2. 配置Nginx(参考 [nginx.conf](nginx.conf)): ```nginx server { listen 80; server_name your-domain.com; location / { root /usr/share/nginx/html; index index.html; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://backend:8080; } } ``` 3. 启动Nginx: ```bash nginx -c /path/to/nginx.conf ``` ## 常见问题 ### 1. 安装依赖失败 **问题**:npm install 时出现网络错误 **解决方案**: - 使用国内镜像源:`npm config set registry https://registry.npmmirror.com` - 或使用 pnpm:`pnpm install` ### 2. 开发环境启动失败 **问题**:运行 `npm run dev` 时端口被占用 **解决方案**: - 修改 [vite.config.js](vite.config.js) 中的端口配置 - 或关闭占用5173端口的进程 ### 3. 构建后页面空白 **问题**:生产环境部署后页面空白 **解决方案**: - 检查Nginx配置中的 `try_files` 设置 - 确保API代理配置正确 - 查看浏览器控制台错误信息 ### 4. 跨域问题 **问题**:开发环境请求API时出现跨域错误 **解决方案**: - 在 [vite.config.js](vite.config.js) 中配置代理: ```javascript server: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true } } } ``` ## 浏览器支持 - Chrome >= 90 - Firefox >= 88 - Safari >= 14 - Edge >= 90 ## 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 ## 更新日志 ### v1.0.0 (2024-12-30) - 初始版本发布 - 实现容器管理功能 - 实现系统监控功能 - 实现AI对话助手 - 实现SSH终端 - 实现MySQL管理 - 实现用户管理和系统设置