From aad5a16ff9ff4a2f5574506e4e9c16722e372f9e Mon Sep 17 00:00:00 2001 From: zerosaturation Date: Mon, 13 Apr 2026 12:45:32 +0800 Subject: [PATCH] feat: add main startup flow in dev.sh Co-Authored-By: Claude Opus 4.6 --- backend/dev.sh | 76 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/backend/dev.sh b/backend/dev.sh index 36a15c6..0b58c81 100755 --- a/backend/dev.sh +++ b/backend/dev.sh @@ -210,4 +210,78 @@ start_watcher() { ) & local debounce_pid=$! echo "$debounce_pid" >> /tmp/dev_sh_watchers.tmp -} \ No newline at end of file +} + +echo -e "${GREEN}========================================${NC}" +echo -e "${GREEN} TopFans Backend 热更新开发模式${NC}" +echo -e "${GREEN}========================================${NC}" +echo "" +echo -e "${YELLOW}数据库: ${DB_USER}@${DB_HOST}:${DB_PORT}/${DB_NAME}${NC}" +echo -e "${YELLOW}文件监听器: $WATCHER_TOOL${NC}" +echo "" + +# 初始化监听器 PID 列表 +> /tmp/dev_sh_watchers.tmp + +# 清理残留 PID 文件(上次非正常退出可能留下) +for service in activityService galleryService socialService assetService userService gateway; do + rm -f "/tmp/dev_sh_${service}.pid" "/tmp/dev_sh_${service}_restart" +done + +# 停止现有服务(清理环境) +echo -e "${YELLOW}🛑 停止现有服务...${NC}" +for service in gateway userService socialService assetService galleryService activityService; do + pkill -9 -f "$service" 2>/dev/null || true +done +sleep 1 + +# 先构建所有服务 +echo "" +echo -e "${YELLOW}🔨 预编译所有服务...${NC}" +build_service "gateway" "gateway" "gateway/gateway" +build_service "userService" "services/userService" "services/userService/userService" +build_service "assetService" "services/assetService" "services/assetService/assetService" +build_service "socialService" "services/socialService" "services/socialService/socialService" +build_service "galleryService" "services/galleryService" "services/galleryService/galleryService" +build_service "activityService" "services/activityService" "services/activityService/activityService" +cd "$SCRIPT_DIR" + +# 启动所有服务 +echo "" +echo -e "${YELLOW}🚀 启动所有服务...${NC}" +start_service "userService" "services/userService/userService" 20000 1 +start_service "assetService" "services/assetService/assetService" 20003 1 +start_service "socialService" "services/socialService/socialService" 20002 1 +start_service "galleryService" "services/galleryService/galleryService" 20004 1 +start_service "activityService" "services/activityService/activityService" 20005 1 +start_service "gateway" "gateway/gateway" 8080 0 + +# 启动所有文件监听器 +echo "" +echo -e "${YELLOW}👁️ 启动所有文件监听器...${NC}" +start_watcher "gateway" "gateway" "gateway/gateway" 8080 0 +start_watcher "userService" "services/userService" "services/userService/userService" 20000 1 +start_watcher "assetService" "services/assetService" "services/assetService/assetService" 20003 1 +start_watcher "socialService" "services/socialService" "services/socialService/socialService" 20002 1 +start_watcher "galleryService" "services/galleryService" "services/galleryService/galleryService" 20004 1 +start_watcher "activityService" "services/activityService" "services/activityService/activityService" 20005 1 + +echo "" +echo -e "${GREEN}========================================${NC}" +echo -e "${GREEN} 热更新开发模式已启动!${NC}" +echo -e "${GREEN}========================================${NC}" +echo "" +echo -e "${YELLOW}服务地址:${NC}" +echo " - Gateway: http://localhost:8080" +echo " - Swagger UI: http://localhost:8080/swagger/index.html" +echo " - User Service: tri://localhost:20000" +echo " - Social Service: tri://localhost:20002" +echo " - Asset Service: tri://localhost:20003" +echo " - Gallery Service: tri://localhost:20004" +echo " - Activity Service: tri://localhost:20005" +echo "" +echo -e "${YELLOW}按 Ctrl+C 停止所有服务${NC}" +echo "" + +# 保持脚本运行 +wait \ No newline at end of file