first commit

This commit is contained in:
wangqifan 2025-07-09 22:42:52 +08:00
commit 00cde4676a
2 changed files with 342 additions and 0 deletions

168
.gitignore vendored Normal file
View File

@ -0,0 +1,168 @@
# === Node.js 前端相关 ===
# 依赖目录
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# 构建产物
dist/
build/
.output/
.nuxt/
.vite/
# 环境变量文件
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# 缓存
.cache/
.parcel-cache/
.npm/
.eslintcache
# === Python 后端相关 ===
# 字节码文件
__pycache__/
*.py[cod]
*$py.class
# 分发/打包
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# 虚拟环境
venv/
env/
ENV/
.venv/
.env/
.virtualenv/
# Flask实例文件夹
instance/
# 数据库
*.db
*.sqlite
*.sqlite3
# === IDE 和编辑器 ===
# VS Code
.vscode/
*.code-workspace
# PyCharm
.idea/
*.iml
*.ipr
*.iws
# Sublime Text
*.sublime-project
*.sublime-workspace
# Vim
*.swp
*.swo
*~
# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
# === 系统文件 ===
# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
# Linux
*~
# === 日志文件 ===
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# === 临时文件 ===
*.tmp
*.temp
*.swp
*.swo
# === 测试覆盖率 ===
coverage/
*.cover
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# === 其他 ===
# 备份文件
*.bak
*.backup
# 压缩文件
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# 配置文件(可能包含敏感信息)
config/local.py
config/production.py
.env.production
# 上传文件目录
uploads/
static/uploads/
# SSL证书
*.pem
*.crt
*.key
# 文档构建
docs/_build/

174
README.md Normal file
View File

@ -0,0 +1,174 @@
# 服务器监控管理平台
## 项目简介
这是一个基于Vue3 + Flask + MySQL的企业级服务器监控管理平台支持服务器管理、脚本管理、批量执行、用户权限管理等功能。
## 技术架构
### 前端技术栈
- **Vue 3** - 渐进式JavaScript框架
- **Ant Design Vue** - 企业级UI组件库
- **Tailwind CSS** - 实用程序优先的CSS框架
- **Pinia** - Vue状态管理
- **Vue Router** - 官方路由管理器
- **Axios** - HTTP客户端
### 后端技术栈
- **Flask** - 轻量级Web应用框架
- **SQLAlchemy** - Python ORM
- **MySQL 8.0** - 关系型数据库
- **JWT** - JSON Web Token认证
- **Paramiko** - SSH客户端库
## 功能特性
### 🔐 用户认证与权限管理
- JWT Token认证
- 基于角色的权限控制RBAC
- 用户状态管理(启用/禁用)
### 🖥️ 服务器管理
- 服务器信息维护IP、端口、用户名等
- 实时连接状态检测
- 服务器连接测试
### 📝 脚本管理
- 支持Shell、Python、SQL脚本
- 脚本内容编辑器
- 脚本分类和版本管理
### ⚡ 批量执行
- 选择多台服务器批量执行脚本
- 并发执行,提高效率
- 实时查看执行结果和输出
- 执行历史记录查询
### 📊 控制台面板
- 关键指标统计
- 最近执行记录
- 服务器状态概览
## 安装部署
### 环境要求
- Node.js 16+
- Python 3.8+
- MySQL 8.0+
### 前端部署
1. 安装依赖
\`\`\`bash
npm install
\`\`\`
2. 开发环境运行
\`\`\`bash
npm run dev
\`\`\`
3. 生产构建
\`\`\`bash
npm run build
\`\`\`
### 后端部署
1. 创建虚拟环境
\`\`\`bash
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\\Scripts\\activate
\`\`\`
2. 安装依赖
\`\`\`bash
pip install -r requirements.txt
\`\`\`
3. 配置数据库
- 创建MySQL数据库 \`server_monitor\`
- 修改 \`app.py\` 中的数据库连接配置
4. 初始化数据库
\`\`\`bash
python init_db.py
\`\`\`
5. 运行应用
\`\`\`bash
python app.py
\`\`\`
### 数据库配置
创建MySQL数据库
\`\`\`sql
CREATE DATABASE server_monitor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
\`\`\`
## 使用说明
### 默认账户
- 用户名:\`admin\`
- 密码:\`admin123\`
### 基本使用流程
1. **登录系统** - 使用默认管理员账户登录
2. **添加服务器** - 在服务器管理页面添加要管理的服务器
3. **创建脚本** - 在脚本管理页面创建执行脚本
4. **批量执行** - 选择服务器和脚本进行批量执行
5. **查看结果** - 查看执行结果和历史记录
### 权限说明
系统支持三种角色:
- **管理员admin** - 拥有所有权限
- **操作员operator** - 可执行脚本,管理服务器和脚本
- **查看员viewer** - 只能查看信息,不能进行操作
## 项目结构
\`\`\`
cloudPlat/
├── src/ # 前端源码
│ ├── api/ # API接口
│ ├── components/ # 公共组件
│ ├── layout/ # 布局组件
│ ├── router/ # 路由配置
│ ├── store/ # 状态管理
│ ├── views/ # 页面组件
│ └── style.css # 全局样式
├── backend/ # 后端源码
│ ├── routes/ # API路由
│ ├── models.py # 数据模型
│ ├── app.py # Flask应用
│ └── requirements.txt # 依赖包
├── package.json # 前端依赖配置
├── vite.config.js # Vite配置
└── README.md # 项目说明
\`\`\`
## 开发说明
### 代码规范
- 遵循ESLint和Prettier代码格式化
- 使用TypeScript类型检查推荐
- 组件命名采用PascalCase
- 文件命名采用kebab-case
### 安全特性
- JWT Token过期机制
- 密码哈希存储
- SQL注入防护
- CORS跨域保护
## 许可证
MIT License
## 技术支持
如有问题请提交Issue或联系开发团队。