diff --git a/admin-system/.env b/admin-system/.env index 56c3290..48c6b62 100644 --- a/admin-system/.env +++ b/admin-system/.env @@ -3,7 +3,7 @@ VITE_APP_NAME=结伴客后台管理系统 VITE_APP_VERSION=1.0.0 # API配置 -VITE_API_BASE_URL=/api +VITE_API_BASE_URL=https://webapi.jiebanke.com/api VITE_API_TIMEOUT=10000 # 功能开关 diff --git a/admin-system/vite.config.ts b/admin-system/vite.config.ts index 67f5bfa..0dd5791 100644 --- a/admin-system/vite.config.ts +++ b/admin-system/vite.config.ts @@ -13,7 +13,7 @@ export default defineConfig({ data: { VITE_APP_NAME: process.env.VITE_APP_NAME || '结伴客后台管理系统', VITE_APP_VERSION: process.env.VITE_APP_VERSION || '1.0.0', - VITE_API_BASE_URL: process.env.VITE_API_BASE_URL || '/api' + VITE_API_BASE_URL: process.env.VITE_API_BASE_URL || 'https://webapi.jiebanke.com/api' } } }) @@ -27,7 +27,7 @@ export default defineConfig({ port: 3150, proxy: { '/api': { - target: 'http://localhost:3100', + target: 'https://webapi.jiebanke.com', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '/api/v1') } diff --git a/backend/start_server.bat b/backend/start_server.bat new file mode 100644 index 0000000..94b71e5 --- /dev/null +++ b/backend/start_server.bat @@ -0,0 +1,266 @@ +#!/bin/bash + +# 结伴客后端服务启动脚本 +# 用于启动Node.js后端服务 + +# 设置颜色变量 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 显示脚本使用说明 +show_usage() { + echo "用法: $0 [选项]" + echo "选项:" + echo " start 启动后端服务" + echo " stop 停止后端服务" + echo " restart 重启后端服务" + echo " status 查看服务状态" + echo " help 显示帮助信息" +} + +# 检查是否安装了Node.js +check_node() { + if ! command -v node &> /dev/null; then + echo -e "${RED}错误: 未找到Node.js,请先安装Node.js${NC}" + exit 1 + fi + + NODE_VERSION=$(node -v) + echo -e "${GREEN}✓ Node.js版本: ${NODE_VERSION}${NC}" +} + +# 检查是否安装了npm +check_npm() { + if ! command -v npm &> /dev/null; then + echo -e "${RED}错误: 未找到npm,请先安装npm${NC}" + exit 1 + fi + + NPM_VERSION=$(npm -v) + echo -e "${GREEN}✓ npm版本: ${NPM_VERSION}${NC}" +} + +# 检查依赖是否已安装 +check_dependencies() { + if [ ! -d "node_modules" ]; then + echo -e "${YELLOW}警告: 未找到node_modules目录,正在安装依赖...${NC}" + npm install + if [ $? -ne 0 ]; then + echo -e "${RED}错误: 依赖安装失败${NC}" + exit 1 + fi + echo -e "${GREEN}✓ 依赖安装完成${NC}" + else + echo -e "${GREEN}✓ 依赖已安装${NC}" + fi +} + +# 启动服务 +start_service() { + # 检查服务是否已经在运行 + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${YELLOW}警告: 服务已在运行中${NC}" + exit 1 + fi + + echo -e "${GREEN}正在启动结伴客后端服务...${NC}" + + # 设置环境变量 + export NODE_ENV=production + export PORT=${PORT:-3200} + + # 启动服务并将其放到后台运行 + nohup npm start > server.log 2>&1 & + SERVER_PID=$! + + # 将PID保存到文件 + echo $SERVER_PID > server.pid + + # 等待几秒钟让服务启动 + sleep 3 + + # 检查服务是否成功启动 + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${GREEN}✓ 服务启动成功${NC}" + echo -e "${GREEN}✓ PID: ${SERVER_PID}${NC}" + echo -e "${GREEN}✓ 日志文件: server.log${NC}" + echo -e "${GREEN}✓ 访问地址: http://localhost:${PORT}${NC}" + else + echo -e "${RED}✗ 服务启动失败,请检查日志文件 server.log${NC}" + rm -f server.pid + exit 1 + fi +} + +# 停止服务 +stop_service() { + if [ ! -f server.pid ]; then + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${YELLOW}警告: 找到正在运行的服务,但PID文件不存在${NC}" + echo -e "${YELLOW}尝试查找并终止服务...${NC}" + pkill -f "node.*server.js" + sleep 2 + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${RED}✗ 无法终止服务${NC}" + exit 1 + else + echo -e "${GREEN}✓ 服务已终止${NC}" + fi + else + echo -e "${YELLOW}服务未在运行${NC}" + fi + else + SERVER_PID=$(cat server.pid) + if ps -p $SERVER_PID > /dev/null; then + echo -e "${GREEN}正在停止服务 (PID: ${SERVER_PID})...${NC}" + kill $SERVER_PID + sleep 3 + if ps -p $SERVER_PID > /dev/null; then + echo -e "${YELLOW}服务未响应,强制终止...${NC}" + kill -9 $SERVER_PID + fi + rm -f server.pid + echo -e "${GREEN}✓ 服务已停止${NC}" + else + echo -e "${YELLOW}PID文件存在但服务未在运行${NC}" + rm -f server.pid + fi + fi +} + +# 查看服务状态 +status_service() { + if [ -f server.pid ]; then + SERVER_PID=$(cat server.pid) + if ps -p $SERVER_PID > /dev/null; then + echo -e "${GREEN}✓ 服务正在运行 (PID: ${SERVER_PID})${NC}" + else + echo -e "${RED}✗ PID文件存在但服务未在运行${NC}" + fi + else + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${GREEN}✓ 服务正在运行${NC}" + else + echo -e "${YELLOW}服务未在运行${NC}" + fi + fi +} + +# 查看日志 +tail_logs() { + if [ -f server.log ]; then + tail -f server.log + else + echo -e "${RED}日志文件不存在${NC}" + fi +} + +# 主逻辑 +main() { + # 获取命令行参数 + ACTION=${1:-"start"} + + case "$ACTION" in + start) + check_node + check_npm + check_dependencies + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + sleep 2 + check_node + check_npm + check_dependencies + start_service + ;; + status) + status_service + ;; + logs) + tail_logs + ;; + help) + show_usage + ;; + *) + echo -e "${RED}未知选项: $ACTION${NC}" + show_usage + exit 1 + ;; + esac +} + +# 执行主逻辑 +main "$@" +``` +``` +@echo off +title 结伴客后端服务启动脚本 + +setlocal enabledelayedexpansion + +:: 设置颜色 +for /f "delims=" %%i in ('echo prompt $E^| cmd') do set "ESC=%%i" + +:: 检查Node.js是否安装 +echo 检查Node.js环境... +node -v >nul 2>&1 +if %errorlevel% neq 0 ( + echo %ESC%[91m错误: 未找到Node.js,请先安装Node.js%ESC%[0m + pause + exit /b 1 +) else ( + for /f %%i in ('node -v') do set NODE_VERSION=%%i + echo %ESC%[92m✓ Node.js版本: %NODE_VERSION%%ESC%[0m +) + +:: 检查npm是否安装 +echo 检查npm环境... +npm -v >nul 2>&1 +if %errorlevel% neq 0 ( + echo %ESC%[91m错误: 未找到npm,请先安装npm%ESC%[0m + pause + exit /b 1 +) else ( + for /f %%i in ('npm -v') do set NPM_VERSION=%%i + echo %ESC%[92m✓ npm版本: %NPM_VERSION%%ESC%[0m +) + +:: 检查依赖是否安装 +if not exist "node_modules" ( + echo %ESC%[93m警告: 未找到node_modules目录,正在安装依赖...%ESC%[0m + npm install + if !errorlevel! neq 0 ( + echo %ESC%[91m错误: 依赖安装失败%ESC%[0m + pause + exit /b 1 + ) + echo %ESC%[92m✓ 依赖安装完成%ESC%[0m +) else ( + echo %ESC%[92m✓ 依赖已安装%ESC%[0m +) + +:: 设置默认端口 +if "%PORT%"=="" set PORT=3200 + +:: 启动服务 +echo %ESC%[92m正在启动结伴客后端服务...%ESC%[0m +echo 服务将在端口 %PORT% 上运行 +echo 日志将输出到 server.log 文件 + +npm start > server.log 2>&1 + +if %errorlevel% equ 0 ( + echo %ESC%[92m✓ 服务启动成功%ESC%[0m +) else ( + echo %ESC%[91m✗ 服务启动失败,请检查日志文件 server.log%ESC%[0m +) + +pause diff --git a/backend/start_server.sh b/backend/start_server.sh index 357a726..c9afade 120000 --- a/backend/start_server.sh +++ b/backend/start_server.sh @@ -1 +1,201 @@ -start-server.sh \ No newline at end of file +#!/bin/bash + +# 结伴客后端服务启动脚本 +# 用于启动Node.js后端服务 + +# 设置颜色变量 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 显示脚本使用说明 +show_usage() { + echo "用法: $0 [选项]" + echo "选项:" + echo " start 启动后端服务" + echo " stop 停止后端服务" + echo " restart 重启后端服务" + echo " status 查看服务状态" + echo " help 显示帮助信息" +} + +# 检查是否安装了Node.js +check_node() { + if ! command -v node &> /dev/null; then + echo -e "${RED}错误: 未找到Node.js,请先安装Node.js${NC}" + exit 1 + fi + + NODE_VERSION=$(node -v) + echo -e "${GREEN}✓ Node.js版本: ${NODE_VERSION}${NC}" +} + +# 检查是否安装了npm +check_npm() { + if ! command -v npm &> /dev/null; then + echo -e "${RED}错误: 未找到npm,请先安装npm${NC}" + exit 1 + fi + + NPM_VERSION=$(npm -v) + echo -e "${GREEN}✓ npm版本: ${NPM_VERSION}${NC}" +} + +# 检查依赖是否已安装 +check_dependencies() { + if [ ! -d "node_modules" ]; then + echo -e "${YELLOW}警告: 未找到node_modules目录,正在安装依赖...${NC}" + npm install + if [ $? -ne 0 ]; then + echo -e "${RED}错误: 依赖安装失败${NC}" + exit 1 + fi + echo -e "${GREEN}✓ 依赖安装完成${NC}" + else + echo -e "${GREEN}✓ 依赖已安装${NC}" + fi +} + +# 启动服务 +start_service() { + # 检查服务是否已经在运行 + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${YELLOW}警告: 服务已在运行中${NC}" + exit 1 + fi + + echo -e "${GREEN}正在启动结伴客后端服务...${NC}" + + # 设置环境变量 + export NODE_ENV=production + export PORT=${PORT:-3200} + + # 启动服务并将其放到后台运行 + nohup npm start > server.log 2>&1 & + SERVER_PID=$! + + # 将PID保存到文件 + echo $SERVER_PID > server.pid + + # 等待几秒钟让服务启动 + sleep 3 + + # 检查服务是否成功启动 + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${GREEN}✓ 服务启动成功${NC}" + echo -e "${GREEN}✓ PID: ${SERVER_PID}${NC}" + echo -e "${GREEN}✓ 日志文件: server.log${NC}" + echo -e "${GREEN}✓ 访问地址: http://localhost:${PORT}${NC}" + else + echo -e "${RED}✗ 服务启动失败,请检查日志文件 server.log${NC}" + rm -f server.pid + exit 1 + fi +} + +# 停止服务 +stop_service() { + if [ ! -f server.pid ]; then + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${YELLOW}警告: 找到正在运行的服务,但PID文件不存在${NC}" + echo -e "${YELLOW}尝试查找并终止服务...${NC}" + pkill -f "node.*server.js" + sleep 2 + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${RED}✗ 无法终止服务${NC}" + exit 1 + else + echo -e "${GREEN}✓ 服务已终止${NC}" + fi + else + echo -e "${YELLOW}服务未在运行${NC}" + fi + else + SERVER_PID=$(cat server.pid) + if ps -p $SERVER_PID > /dev/null; then + echo -e "${GREEN}正在停止服务 (PID: ${SERVER_PID})...${NC}" + kill $SERVER_PID + sleep 3 + if ps -p $SERVER_PID > /dev/null; then + echo -e "${YELLOW}服务未响应,强制终止...${NC}" + kill -9 $SERVER_PID + fi + rm -f server.pid + echo -e "${GREEN}✓ 服务已停止${NC}" + else + echo -e "${YELLOW}PID文件存在但服务未在运行${NC}" + rm -f server.pid + fi + fi +} + +# 查看服务状态 +status_service() { + if [ -f server.pid ]; then + SERVER_PID=$(cat server.pid) + if ps -p $SERVER_PID > /dev/null; then + echo -e "${GREEN}✓ 服务正在运行 (PID: ${SERVER_PID})${NC}" + else + echo -e "${RED}✗ PID文件存在但服务未在运行${NC}" + fi + else + if pgrep -f "node.*server.js" > /dev/null; then + echo -e "${GREEN}✓ 服务正在运行${NC}" + else + echo -e "${YELLOW}服务未在运行${NC}" + fi + fi +} + +# 查看日志 +tail_logs() { + if [ -f server.log ]; then + tail -f server.log + else + echo -e "${RED}日志文件不存在${NC}" + fi +} + +# 主逻辑 +main() { + # 获取命令行参数 + ACTION=${1:-"start"} + + case "$ACTION" in + start) + check_node + check_npm + check_dependencies + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + sleep 2 + check_node + check_npm + check_dependencies + start_service + ;; + status) + status_service + ;; + logs) + tail_logs + ;; + help) + show_usage + ;; + *) + echo -e "${RED}未知选项: $ACTION${NC}" + show_usage + exit 1 + ;; + esac +} + +# 执行主逻辑 +main "$@" \ No newline at end of file