一个轻量级的服务进程管理平台,用于统一管理本地或远程服务的启动、停止、日志查看和端口冲突处理。
|
|
před 2 týdny | |
|---|---|---|
| backend | před 2 týdny | |
| frontend | před 2 týdny | |
| .gitignore | před 2 měsíci | |
| LICENSE | před 2 měsíci | |
| README.md | před 1 měsícem | |
| prompt.md | před 2 týdny | |
| run.bat | před 2 měsíci | |
| run.sh | před 2 měsíci |
一个轻量级的服务进程管理平台,用于统一管理本地或远程服务的启动、停止、日志查看和端口冲突处理。
| 层级 | 技术 |
|---|---|
| 后端 | Java 17 + Spring Boot 3.2 |
| 前端 | Vue 3 + TypeScript + Vite |
| UI | PrimeVue (Aura Theme) + PrimeIcons |
| 部署 | 统一打包为单一 JAR,前后端同端口 |
[可选片段] 语法、{{变量}} 替换PORT、PORTS、SERVER_PORT、SERVER_PORTS 等,多端口值以逗号分隔),查看占用进程详情,确认后一键终止alert/confirm,统一交互体验Windows:
run.bat build
run.bat run
Linux / macOS / Git Bash:
chmod +x run.sh
./run.sh build
./run.sh run
构建完成后,浏览器访问 http://localhost:3945
cd backend
java -jar target/service-management-1.0.0.jar
service-management/
├── backend/ # Spring Boot 后端
│ ├── pom.xml
│ └── src/main/
│ ├── java/com/svcman/
│ │ ├── controller/ # REST API 控制器
│ │ ├── model/ # 数据模型
│ │ ├── repository/ # JSON 文件持久化存储
│ │ ├── service/ # 核心业务逻辑
│ │ └── config/ # Web 配置(CORS、SPA 路由)
│ └── resources/
│ ├── application.yml
│ ├── logback-spring.xml
│ └── static/ # 前端构建产物(自动生成)
├── frontend/ # Vue 3 前端
│ ├── package.json
│ ├── vite.config.ts
│ └── src/
│ ├── api/ # Axios API 层
│ ├── components/ # Vue 组件
│ ├── composables/ # 全局可复用组合式函数(useDialog 等)
│ └── main.ts
├── data/ # 运行时数据(自动生成,不入版本库)
│ ├── services.json # 服务配置持久化
│ └── pids/ # PID 文件持久化
├── logs/ # 运行日志(自动生成,不入版本库)
├── run.bat # Windows 构建运行脚本
└── run.sh # Linux/macOS 构建运行脚本
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/services |
获取所有服务 |
GET |
/api/services/{id} |
获取单个服务 |
POST |
/api/services |
创建服务 |
PUT |
/api/services/{id} |
更新服务 |
DELETE |
/api/services/{id} |
删除服务 |
POST |
/api/services/{id}/start |
启动服务 |
POST |
/api/services/{id}/stop |
停止服务 |
POST |
/api/services/start-all |
一键启动 |
POST |
/api/services/stop-all |
一键停止 |
GET |
/api/services/{id}/log |
获取服务日志 |
GET |
/api/services/{id}/web-url |
获取解析后的 Web URL |
GET |
/api/services/{id}/port-check |
检查端口占用 |
POST |
/api/services/{id}/kill-port/{pid} |
终止占用端口的进程 |
启动命令支持多行,每行一条命令,按顺序执行:
mvn package
java -jar [--server.port={{SERVER_PORT}}] target/app-1.0.0.jar
| 语法 | 说明 | 示例 |
|---|---|---|
{{VAR}} |
自定义变量占位符 | {{SERVER_PORT}} |
[content] |
可选片段,仅当内部所有变量都有值时才保留 | [--port={{PORT}}] |
{{VAR:default}} |
带默认值的变量(仅用于 Web URL) | {{PORT:8080}} |
服务配置存储在 data/services.json,主要字段:
{
"name": "用户服务",
"description": "用户管理微服务",
"startupCommand": "java -jar [--server.port={{SERVER_PORT}}] app.jar",
"workDir": "D:/projects/user-service",
"terminalType": "CMD",
"variables": [
{ "name": "SERVER_PORT", "value": "8080" }
],
"webUrl": "http://localhost:{{SERVER_PORT:8080}}/index.html",
"logEncoding": "UTF-8"
}
MIT