fundplatform/scripts/dev-status.sh
zhangjf cc6577b3df feat: 新增本地开发启动脚本及各模块代码优化
- 新增 scripts/dev-start.sh: 本地开发环境启动脚本,支持启动所有/核心/单个服务
- 新增 scripts/dev-stop.sh: 本地开发环境停止脚本
- 新增 scripts/dev-status.sh: 服务状态检查脚本
- 优化各模块 Controller/Service/VO/DTO 代码
- 删除过时的计划文件
2026-03-02 22:46:31 +08:00

139 lines
4.2 KiB
Bash
Executable File

#!/bin/bash
# ============================================
# 本地开发环境状态检查脚本
# 用法: ./dev-status.sh
# ============================================
# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# 服务端口配置
GATEWAY_PORT=8000
SYS_PORT=8100
CUST_PORT=8110
PROJ_PORT=8120
REQ_PORT=8130
EXP_PORT=8140
RECEIPT_PORT=8150
FILE_PORT=8600
REPORT_PORT=8700
# 检查端口状态
check_port_status() {
local port=$1
local service=$2
local pid=""
if netstat -tlnp 2>/dev/null | grep -q ":${port} "; then
pid=$(netstat -tlnp 2>/dev/null | grep ":${port} " | awk '{print $7}' | cut -d'/' -f1)
echo -e " ${GREEN}${NC} ${service} (端口 ${port}, PID: ${pid})"
return 0
else
echo -e " ${RED}${NC} ${service} (端口 ${port})"
return 1
fi
}
# 检查前端状态
check_frontend_status() {
local vite_pids=$(pgrep -f "vite.*fund-admin" | head -1)
if [ -n "${vite_pids}" ]; then
local port=$(netstat -tlnp 2>/dev/null | grep "${vite_pids}/node" | awk '{print $4}' | grep -oP ':\d+$' | tr -d ':')
echo -e " ${GREEN}${NC} 前端 (fund-admin) - 端口: ${port:-未知}, PID: ${vite_pids}"
echo -e " 访问地址: http://localhost:${port:-3000}"
else
echo -e " ${RED}${NC} 前端 (fund-admin)"
fi
}
# 检查依赖服务
check_dependencies() {
echo ""
echo -e "${BLUE}依赖服务:${NC}"
# Nacos
if netstat -tlnp 2>/dev/null | grep -q ":8848 "; then
echo -e " ${GREEN}${NC} Nacos (8848)"
else
echo -e " ${RED}${NC} Nacos (8848) - 未运行"
fi
# MySQL
if netstat -tlnp 2>/dev/null | grep -q ":3306 "; then
echo -e " ${GREEN}${NC} MySQL (3306)"
else
echo -e " ${RED}${NC} MySQL (3306) - 未运行"
fi
# Redis
if netstat -tlnp 2>/dev/null | grep -q ":6379 "; then
echo -e " ${GREEN}${NC} Redis (6379)"
else
echo -e " ${YELLOW}?${NC} Redis (6379) - 未运行 (可选)"
fi
}
# 统计运行中的服务数量
count_running_services() {
local count=0
for port in ${GATEWAY_PORT} ${SYS_PORT} ${CUST_PORT} ${PROJ_PORT} ${REQ_PORT} ${EXP_PORT} ${RECEIPT_PORT} ${FILE_PORT} ${REPORT_PORT}; do
if netstat -tlnp 2>/dev/null | grep -q ":${port} "; then
((count++))
fi
done
echo ${count}
}
# 主函数
main() {
echo ""
echo -e "${BLUE}==========================================${NC}"
echo -e "${BLUE} 本地开发环境状态${NC}"
echo -e "${BLUE}==========================================${NC}"
echo ""
echo -e "${BLUE}后端服务:${NC}"
check_port_status ${GATEWAY_PORT} "网关 (fund-gateway)"
check_port_status ${SYS_PORT} "系统 (fund-sys)"
check_port_status ${CUST_PORT} "客户 (fund-cust)"
check_port_status ${PROJ_PORT} "项目 (fund-proj)"
check_port_status ${REQ_PORT} "需求 (fund-req)"
check_port_status ${EXP_PORT} "支出 (fund-exp)"
check_port_status ${RECEIPT_PORT} "票据 (fund-receipt)"
check_port_status ${FILE_PORT} "文件 (fund-file)"
check_port_status ${REPORT_PORT} "报表 (fund-report)"
echo ""
echo -e "${BLUE}前端服务:${NC}"
check_frontend_status
local running=$(count_running_services)
echo ""
echo -e "已启动 ${GREEN}${running}${NC}/9 个后端服务"
check_dependencies
echo ""
echo -e "${BLUE}==========================================${NC}"
echo -e "操作命令:"
echo -e " 启动所有: ${GREEN}./scripts/dev-start.sh${NC}"
echo -e " 启动核心: ${GREEN}./scripts/dev-start.sh core${NC}"
echo -e " 停止所有: ${GREEN}./scripts/dev-stop.sh${NC}"
echo -e " 查看状态: ${GREEN}./scripts/dev-status.sh${NC}"
echo ""
echo -e "单独启动服务:"
echo -e " ${GREEN}./scripts/dev-start.sh sys${NC} # 系统服务"
echo -e " ${GREEN}./scripts/dev-start.sh cust${NC} # 客户服务"
echo -e " ${GREEN}./scripts/dev-start.sh proj${NC} # 项目服务"
echo -e " ${GREEN}./scripts/dev-start.sh frontend${NC} # 前端服务"
echo -e "${BLUE}==========================================${NC}"
echo ""
}
main