- 新增 scripts/dev-start.sh: 本地开发环境启动脚本,支持启动所有/核心/单个服务 - 新增 scripts/dev-stop.sh: 本地开发环境停止脚本 - 新增 scripts/dev-status.sh: 服务状态检查脚本 - 优化各模块 Controller/Service/VO/DTO 代码 - 删除过时的计划文件
139 lines
4.2 KiB
Bash
Executable File
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
|