refactor(backend): 重命名后端项目为 gym-manage-api,修改包名为 cn.novalon.gym.manage
This commit is contained in:
Executable
+87
@@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 执行E2E测试脚本
|
||||
# 作者: 张翔
|
||||
# 日期: 2026-04-15
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "执行用户旅程测试 (E2E)"
|
||||
echo "=========================================="
|
||||
|
||||
# 检查Node.js是否安装
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "错误: Node.js 未安装"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查包管理器
|
||||
if command -v pnpm &> /dev/null; then
|
||||
PACKAGE_MANAGER="pnpm"
|
||||
elif command -v npm &> /dev/null; then
|
||||
PACKAGE_MANAGER="npm"
|
||||
else
|
||||
echo "错误: 未找到包管理器"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 进入前端项目目录
|
||||
cd "$(dirname "$0")/../novalon-manage-web"
|
||||
|
||||
echo "1. 检查测试环境..."
|
||||
echo " 测试类型: 冒烟测试 (登录登出流程)"
|
||||
echo " 测试文件: e2e/smoke/login-logout.spec.ts"
|
||||
echo " 测试数据:"
|
||||
echo " - 管理员账号: admin/Test@123"
|
||||
echo " - 普通用户账号: user/Test@123"
|
||||
echo ""
|
||||
|
||||
echo "2. 验证后端服务..."
|
||||
if ! curl -s http://localhost:8084/actuator/health > /dev/null; then
|
||||
echo "警告: 后端服务未运行,测试可能失败"
|
||||
echo "请确保后端服务已启动 (http://localhost:8084)"
|
||||
read -p "是否继续? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "✅ 后端服务运行正常"
|
||||
fi
|
||||
|
||||
echo "3. 验证前端服务..."
|
||||
if ! curl -s http://localhost:3000 > /dev/null; then
|
||||
echo "警告: 前端服务未运行,测试可能失败"
|
||||
echo "请确保前端服务已启动 (http://localhost:3000)"
|
||||
read -p "是否继续? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "✅ 前端服务运行正常"
|
||||
fi
|
||||
|
||||
echo "4. 执行冒烟测试..."
|
||||
echo " 测试将在浏览器中运行,请勿操作浏览器"
|
||||
echo " 测试结果将显示在控制台并生成报告"
|
||||
echo ""
|
||||
|
||||
# 执行冒烟测试
|
||||
$PACKAGE_MANAGER run test:e2e:smoke
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "测试完成!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "测试报告位置:"
|
||||
echo " - HTML报告: novalon-manage-web/playwright-report/"
|
||||
echo " - 测试截图: novalon-manage-web/test-results/"
|
||||
echo ""
|
||||
echo "其他测试命令:"
|
||||
echo " - 所有E2E测试: $PACKAGE_MANAGER run test:e2e"
|
||||
echo " - 核心旅程测试: $PACKAGE_MANAGER run test:e2e:journeys"
|
||||
echo " - 调试模式: $PACKAGE_MANAGER run test:e2e:debug"
|
||||
echo " - 带界面运行: $PACKAGE_MANAGER run test:e2e:headed"
|
||||
Executable
+181
@@ -0,0 +1,181 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
show_usage() {
|
||||
echo "========================================="
|
||||
echo "Novalon 管理系统 - 统一测试脚本"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "用法: $0 [选项]"
|
||||
echo ""
|
||||
echo "选项:"
|
||||
echo " all 运行所有测试(前端+后端+E2E)"
|
||||
echo " unit 运行单元测试(前端+后端)"
|
||||
echo " e2e 运行E2E测试"
|
||||
echo " api 运行API集成测试"
|
||||
echo " perf 运行性能测试"
|
||||
echo " coverage 生成测试覆盖率报告"
|
||||
echo " help 显示此帮助信息"
|
||||
echo ""
|
||||
echo "示例:"
|
||||
echo " $0 all # 运行所有测试"
|
||||
echo " $0 unit # 仅运行单元测试"
|
||||
echo " $0 e2e # 仅运行E2E测试"
|
||||
echo ""
|
||||
}
|
||||
|
||||
run_frontend_unit_tests() {
|
||||
echo -e "${YELLOW}[前端] 运行单元测试...${NC}"
|
||||
cd novalon-manage-web
|
||||
if npm run test -- src/test; then
|
||||
echo -e "${GREEN}✓ 前端单元测试通过${NC}"
|
||||
FRONTEND_UNIT_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ 前端单元测试失败${NC}"
|
||||
FRONTEND_UNIT_STATUS="FAIL"
|
||||
fi
|
||||
cd ..
|
||||
}
|
||||
|
||||
run_backend_unit_tests() {
|
||||
echo -e "${YELLOW}[后端] 运行单元测试...${NC}"
|
||||
cd novalon-manage-api/manage-sys
|
||||
if mvn test -Dtest="*ServiceTest,*HandlerTest" -q; then
|
||||
echo -e "${GREEN}✓ 后端单元测试通过${NC}"
|
||||
BACKEND_UNIT_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ 后端单元测试失败${NC}"
|
||||
BACKEND_UNIT_STATUS="FAIL"
|
||||
fi
|
||||
cd ../..
|
||||
}
|
||||
|
||||
run_e2e_tests() {
|
||||
echo -e "${YELLOW}[E2E] 运行端到端测试...${NC}"
|
||||
cd novalon-manage-web
|
||||
if npx playwright test; then
|
||||
echo -e "${GREEN}✓ E2E测试通过${NC}"
|
||||
E2E_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ E2E测试失败${NC}"
|
||||
E2E_STATUS="FAIL"
|
||||
fi
|
||||
cd ..
|
||||
}
|
||||
|
||||
run_api_tests() {
|
||||
echo -e "${YELLOW}[API] 运行API集成测试...${NC}"
|
||||
cd test-suite
|
||||
if python -m pytest tests/integration tests/security -v --tb=short; then
|
||||
echo -e "${GREEN}✓ API集成测试通过${NC}"
|
||||
API_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ API集成测试失败${NC}"
|
||||
API_STATUS="FAIL"
|
||||
fi
|
||||
cd ..
|
||||
}
|
||||
|
||||
run_performance_tests() {
|
||||
echo -e "${YELLOW}[性能] 运行性能测试...${NC}"
|
||||
cd test-suite
|
||||
if python -m pytest tests/performance -v --tb=short; then
|
||||
echo -e "${GREEN}✓ 性能测试通过${NC}"
|
||||
PERF_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ 性能测试失败${NC}"
|
||||
PERF_STATUS="FAIL"
|
||||
fi
|
||||
cd ..
|
||||
}
|
||||
|
||||
generate_coverage_report() {
|
||||
echo -e "${YELLOW}[覆盖率] 生成测试覆盖率报告...${NC}"
|
||||
|
||||
echo "生成前端覆盖率报告..."
|
||||
cd novalon-manage-web
|
||||
npm run test:coverage -- src/test
|
||||
cd ..
|
||||
|
||||
echo "生成后端覆盖率报告..."
|
||||
cd novalon-manage-api/manage-sys
|
||||
mvn jacoco:report -q
|
||||
cd ../..
|
||||
|
||||
echo -e "${GREEN}✓ 覆盖率报告生成完成${NC}"
|
||||
echo " - 前端: novalon-manage-web/coverage/"
|
||||
echo " - 后端: novalon-manage-api/manage-sys/target/site/jacoco/index.html"
|
||||
}
|
||||
|
||||
run_all_tests() {
|
||||
START_TIME=$(date +%s)
|
||||
|
||||
run_frontend_unit_tests
|
||||
echo ""
|
||||
run_backend_unit_tests
|
||||
echo ""
|
||||
run_api_tests
|
||||
echo ""
|
||||
run_e2e_tests
|
||||
echo ""
|
||||
generate_coverage_report
|
||||
|
||||
END_TIME=$(date +%s)
|
||||
DURATION=$((END_TIME - START_TIME))
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "测试执行汇总报告"
|
||||
echo "========================================="
|
||||
echo "执行时间: ${DURATION}秒"
|
||||
echo ""
|
||||
echo "前端单元测试: ${FRONTEND_UNIT_STATUS:-SKIP}"
|
||||
echo "后端单元测试: ${BACKEND_UNIT_STATUS:-SKIP}"
|
||||
echo "API集成测试: ${API_STATUS:-SKIP}"
|
||||
echo "E2E测试: ${E2E_STATUS:-SKIP}"
|
||||
echo "========================================="
|
||||
|
||||
if [ "${FRONTEND_UNIT_STATUS}" = "PASS" ] && \
|
||||
[ "${BACKEND_UNIT_STATUS}" = "PASS" ] && \
|
||||
[ "${API_STATUS}" = "PASS" ] && \
|
||||
[ "${E2E_STATUS}" = "PASS" ]; then
|
||||
echo -e "${GREEN}所有测试通过!${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}部分测试失败,请查看详细日志${NC}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "${1:-help}" in
|
||||
all)
|
||||
run_all_tests
|
||||
;;
|
||||
unit)
|
||||
run_frontend_unit_tests
|
||||
echo ""
|
||||
run_backend_unit_tests
|
||||
;;
|
||||
e2e)
|
||||
run_e2e_tests
|
||||
;;
|
||||
api)
|
||||
run_api_tests
|
||||
;;
|
||||
perf)
|
||||
run_performance_tests
|
||||
;;
|
||||
coverage)
|
||||
generate_coverage_report
|
||||
;;
|
||||
help|*)
|
||||
show_usage
|
||||
;;
|
||||
esac
|
||||
Executable
+250
@@ -0,0 +1,250 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 一键启动所有服务并执行测试脚本
|
||||
# 作者: 张翔
|
||||
# 日期: 2026-04-15
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "企业级后台管理系统 - 一键启动与测试"
|
||||
echo "=========================================="
|
||||
echo "作者: 张翔 (全栈质量保障与效能工程师)"
|
||||
echo "日期: 2026-04-15"
|
||||
echo "原则: 质量是设计出来的,并通过自动化流水线保障"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 日志函数
|
||||
log_info() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
log_success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
log_warning() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
log_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# 检查依赖
|
||||
check_dependencies() {
|
||||
log_info "检查系统依赖..."
|
||||
|
||||
local missing_deps=()
|
||||
|
||||
# 检查Docker
|
||||
if ! command -v docker &> /dev/null; then
|
||||
missing_deps+=("Docker")
|
||||
fi
|
||||
|
||||
# 检查docker-compose
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
missing_deps+=("docker-compose")
|
||||
fi
|
||||
|
||||
# 检查Java
|
||||
if ! command -v java &> /dev/null; then
|
||||
missing_deps+=("Java (JDK 21+)")
|
||||
fi
|
||||
|
||||
# 检查Maven
|
||||
if ! command -v mvn &> /dev/null; then
|
||||
missing_deps+=("Maven 3.8+")
|
||||
fi
|
||||
|
||||
# 检查Node.js
|
||||
if ! command -v node &> /dev/null; then
|
||||
missing_deps+=("Node.js 18+")
|
||||
fi
|
||||
|
||||
# 检查包管理器
|
||||
if ! command -v pnpm &> /dev/null && ! command -v npm &> /dev/null; then
|
||||
missing_deps+=("包管理器 (pnpm 或 npm)")
|
||||
fi
|
||||
|
||||
if [ ${#missing_deps[@]} -gt 0 ]; then
|
||||
log_error "缺少以下依赖:"
|
||||
for dep in "${missing_deps[@]}"; do
|
||||
echo " - $dep"
|
||||
done
|
||||
echo ""
|
||||
echo "请参考项目README安装依赖:"
|
||||
echo " https://github.com/your-repo/novalon-manage-system#环境准备要求"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_success "所有依赖检查通过"
|
||||
}
|
||||
|
||||
# 显示服务信息
|
||||
show_service_info() {
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "服务启动信息"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "📊 数据库服务"
|
||||
echo " 地址: localhost:55432"
|
||||
echo " 数据库: manage_system"
|
||||
echo " 用户名: novalon"
|
||||
echo " 密码: novalon123"
|
||||
echo ""
|
||||
echo "⚙️ 后端服务"
|
||||
echo " 网关: http://localhost:8080"
|
||||
echo " 应用: http://localhost:8084"
|
||||
echo " API文档: http://localhost:8084/swagger-ui.html"
|
||||
echo " 健康检查: http://localhost:8084/actuator/health"
|
||||
echo ""
|
||||
echo "🎨 前端服务"
|
||||
echo " 应用: http://localhost:3000"
|
||||
echo " API代理: http://localhost:3000/api → http://localhost:8080/api"
|
||||
echo ""
|
||||
echo "🧪 测试信息"
|
||||
echo " 测试类型: 冒烟测试 (登录登出)"
|
||||
echo " 测试账号: admin/Test@123"
|
||||
echo " 测试报告: novalon-manage-web/playwright-report/"
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
log_info "开始启动所有服务..."
|
||||
|
||||
# 检查依赖
|
||||
check_dependencies
|
||||
|
||||
# 步骤1: 启动数据库
|
||||
log_info "步骤1: 启动数据库容器..."
|
||||
if ./scripts/start-database.sh; then
|
||||
log_success "数据库启动成功"
|
||||
else
|
||||
log_error "数据库启动失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
log_info "步骤2: 启动后端服务..."
|
||||
echo "注意: 后端服务将在当前终端启动,请勿关闭此终端"
|
||||
echo " 按 Ctrl+C 可停止后端服务"
|
||||
echo ""
|
||||
read -p "是否继续启动后端服务? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
log_warning "用户取消启动后端服务"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 步骤2: 启动后端服务 (在新终端中)
|
||||
log_info "正在启动后端服务 (网关:8080 + 应用:8084)..."
|
||||
echo "启动命令: ./scripts/start-backend.sh"
|
||||
echo ""
|
||||
log_warning "请在新终端中执行以下命令:"
|
||||
echo "cd $(pwd)"
|
||||
echo "./scripts/start-backend.sh"
|
||||
echo ""
|
||||
read -p "是否已在新终端中启动后端服务? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
log_warning "请先启动后端服务"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 等待后端服务启动
|
||||
log_info "等待后端服务启动..."
|
||||
for i in {1..60}; do
|
||||
if curl -s http://localhost:8084/actuator/health | grep -q '"status":"UP"'; then
|
||||
log_success "后端服务启动成功"
|
||||
break
|
||||
fi
|
||||
echo "等待后端服务... ($i/60)"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# 验证后端服务
|
||||
if ! curl -s http://localhost:8084/actuator/health | grep -q '"status":"UP"'; then
|
||||
log_error "后端服务启动超时"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
log_info "步骤3: 启动前端服务..."
|
||||
echo "注意: 前端服务将在新终端中启动"
|
||||
echo ""
|
||||
read -p "是否继续启动前端服务? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
log_warning "用户取消启动前端服务"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 步骤3: 启动前端服务 (在新终端中)
|
||||
log_info "正在启动前端开发服务器 (端口:3000)..."
|
||||
echo "启动命令: ./scripts/start-frontend.sh"
|
||||
echo ""
|
||||
log_warning "请在新终端中执行以下命令:"
|
||||
echo "cd $(pwd)"
|
||||
echo "./scripts/start-frontend.sh"
|
||||
echo ""
|
||||
read -p "是否已在新终端中启动前端服务? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
log_warning "请先启动前端服务"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 等待前端服务启动
|
||||
log_info "等待前端服务启动..."
|
||||
sleep 5
|
||||
|
||||
echo ""
|
||||
log_info "步骤4: 执行用户旅程测试..."
|
||||
echo ""
|
||||
read -p "是否执行E2E冒烟测试? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
log_warning "用户取消执行测试"
|
||||
show_service_info
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 步骤4: 执行E2E测试
|
||||
log_info "执行冒烟测试..."
|
||||
if ./scripts/run-e2e-tests.sh; then
|
||||
log_success "测试执行完成"
|
||||
else
|
||||
log_error "测试执行失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 显示服务信息
|
||||
show_service_info
|
||||
|
||||
log_success "所有服务启动并测试完成!"
|
||||
echo ""
|
||||
echo "🎉 系统已就绪,可以开始使用!"
|
||||
echo ""
|
||||
echo "访问地址:"
|
||||
echo " 前端应用: http://localhost:3000"
|
||||
echo " API文档: http://localhost:8084/swagger-ui.html"
|
||||
echo ""
|
||||
echo "测试账号:"
|
||||
echo " 管理员: admin / Test@123"
|
||||
echo " 普通用户: user / Test@123"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main "$@"
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 启动后端服务脚本
|
||||
# 作者: 张翔
|
||||
# 日期: 2026-04-15
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "启动后端服务 (网关 + 应用)"
|
||||
echo "=========================================="
|
||||
|
||||
# 检查Java是否安装
|
||||
if ! command -v java &> /dev/null; then
|
||||
echo "错误: Java 未安装,请安装JDK 21或更高版本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查Maven是否安装
|
||||
if ! command -v mvn &> /dev/null; then
|
||||
echo "错误: Maven 未安装,请安装Maven 3.8+"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 进入后端项目目录
|
||||
cd "$(dirname "$0")/../novalon-manage-api"
|
||||
|
||||
echo "1. 清理并编译项目..."
|
||||
mvn clean compile -q
|
||||
|
||||
echo "2. 启动网关和应用服务..."
|
||||
echo " 网关服务: http://localhost:8080"
|
||||
echo " 应用服务: http://localhost:8084"
|
||||
echo " API文档: http://localhost:8084/swagger-ui.html"
|
||||
echo " 健康检查: http://localhost:8084/actuator/health"
|
||||
echo ""
|
||||
echo "正在启动服务,请等待..."
|
||||
|
||||
# 使用Maven同时启动网关和应用
|
||||
mvn spring-boot:run -pl manage-gateway,manage-app -am \
|
||||
-Dspring-boot.run.profiles=local \
|
||||
-Dspring-boot.run.jvmArguments="-Xmx512m -Xms256m"
|
||||
Executable
+70
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 启动数据库容器脚本
|
||||
# 作者: 张翔
|
||||
# 日期: 2026-04-15
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "启动 PostgreSQL 数据库容器"
|
||||
echo "=========================================="
|
||||
|
||||
# 检查Docker是否运行
|
||||
if ! docker info > /dev/null 2>&1; then
|
||||
echo "错误: Docker 未运行,请启动Docker服务"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查docker-compose是否可用
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
echo "错误: docker-compose 未安装"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 进入项目根目录
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
echo "1. 停止已运行的容器..."
|
||||
docker-compose down postgres 2>/dev/null || true
|
||||
|
||||
echo "2. 启动 PostgreSQL 容器..."
|
||||
docker-compose up -d postgres
|
||||
|
||||
echo "3. 等待数据库就绪..."
|
||||
for i in {1..30}; do
|
||||
if docker-compose exec postgres pg_isready -U novalon -d manage_system > /dev/null 2>&1; then
|
||||
echo "数据库已就绪!"
|
||||
break
|
||||
fi
|
||||
echo "等待数据库启动... ($i/30)"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# 最终检查
|
||||
if docker-compose exec postgres pg_isready -U novalon -d manage_system > /dev/null 2>&1; then
|
||||
echo "=========================================="
|
||||
echo "✅ 数据库启动成功!"
|
||||
echo "连接信息:"
|
||||
echo " - 主机: localhost"
|
||||
echo " - 端口: 55432"
|
||||
echo " - 数据库: manage_system"
|
||||
echo " - 用户名: novalon"
|
||||
echo " - 密码: novalon123"
|
||||
echo "=========================================="
|
||||
|
||||
# 显示容器状态
|
||||
echo "容器状态:"
|
||||
docker-compose ps postgres
|
||||
|
||||
# 显示日志最后几行
|
||||
echo -e "\n数据库日志:"
|
||||
docker-compose logs --tail=10 postgres
|
||||
else
|
||||
echo "=========================================="
|
||||
echo "❌ 数据库启动失败"
|
||||
echo "请检查错误日志:"
|
||||
docker-compose logs postgres
|
||||
echo "=========================================="
|
||||
exit 1
|
||||
fi
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 启动前端服务脚本
|
||||
# 作者: 张翔
|
||||
# 日期: 2026-04-15
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "启动前端开发服务器"
|
||||
echo "=========================================="
|
||||
|
||||
# 检查Node.js是否安装
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "错误: Node.js 未安装,请安装Node.js 18+"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查包管理器 (优先使用pnpm)
|
||||
if command -v pnpm &> /dev/null; then
|
||||
PACKAGE_MANAGER="pnpm"
|
||||
echo "使用 pnpm 作为包管理器"
|
||||
elif command -v npm &> /dev/null; then
|
||||
PACKAGE_MANAGER="npm"
|
||||
echo "使用 npm 作为包管理器"
|
||||
else
|
||||
echo "错误: 未找到包管理器 (pnpm 或 npm)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 进入前端项目目录
|
||||
cd "$(dirname "$0")/../novalon-manage-web"
|
||||
|
||||
echo "1. 检查依赖..."
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "未找到 node_modules,正在安装依赖..."
|
||||
$PACKAGE_MANAGER install
|
||||
else
|
||||
echo "依赖已安装"
|
||||
fi
|
||||
|
||||
echo "2. 启动开发服务器..."
|
||||
echo " 前端应用: http://localhost:3000"
|
||||
echo " API代理: http://localhost:3000/api → http://localhost:8080/api"
|
||||
echo ""
|
||||
echo "正在启动开发服务器..."
|
||||
|
||||
# 启动开发服务器
|
||||
$PACKAGE_MANAGER run dev
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# =============================================================================
|
||||
# 启动前后端服务(用于测试)
|
||||
# =============================================================================
|
||||
|
||||
echo "========================================"
|
||||
echo "启动测试环境服务"
|
||||
echo "========================================"
|
||||
|
||||
# 启动后端(前台运行,便于调试)
|
||||
echo "启动后端服务..."
|
||||
cd /Users/zhangxiang/Codes/Novalon/novalon-manage-system/novalon-manage-api/manage-app
|
||||
mvn spring-boot:run -Dspring-boot.run.profiles=test
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# =============================================================================
|
||||
# 停止测试环境服务
|
||||
# =============================================================================
|
||||
|
||||
pkill -f "npm run dev" 2>/dev/null || true
|
||||
pkill -f "vite" 2>/dev/null || true
|
||||
pkill -f "spring-boot:run" 2>/dev/null || true
|
||||
|
||||
echo "✅ 所有测试服务已停止"
|
||||
Reference in New Issue
Block a user