@echo off chcp 65001 >nul setlocal enabledelayedexpansion :: 音视频通话功能安装脚本 (Windows) :: 使用方法: install_video_call.bat echo ========================================== echo 音视频通话功能安装脚本 echo ========================================== echo. :: 检查是否在项目根目录 if not exist "admin" ( echo [错误] 请在项目根目录执行此脚本 pause exit /b 1 ) if not exist "server" ( echo [错误] 请在项目根目录执行此脚本 pause exit /b 1 ) echo [步骤 1/5] 安装前端依赖 cd admin if exist "package.json" ( echo 正在安装 @tencentcloud/call-uikit-vue... call npm install @tencentcloud/call-uikit-vue if !errorlevel! equ 0 ( echo [成功] 前端依赖安装成功 ) else ( echo [失败] 前端依赖安装失败 pause exit /b 1 ) ) else ( echo [错误] 未找到 package.json 文件 pause exit /b 1 ) cd .. echo. echo [步骤 2/5] 创建数据库表 echo 请手动执行以下命令创建数据库表: echo mysql -u root -p your_database ^< server/sql/tcm_call_record.sql echo. pause echo. echo [步骤 3/5] 配置腾讯云 TRTC echo. echo 请访问腾讯云控制台获取配置信息: echo https://console.cloud.tencent.com/trtc echo. set /p SDK_APP_ID="请输入 SDKAppID: " set /p SECRET_KEY="请输入 SecretKey: " :: 创建或更新 .env 文件 set ENV_FILE=server\.env if exist "%ENV_FILE%" ( findstr /C:"TRTC_SDK_APP_ID" "%ENV_FILE%" >nul if !errorlevel! equ 0 ( echo [提示] 检测到已存在 TRTC 配置,正在更新... powershell -Command "(gc '%ENV_FILE%') -replace 'TRTC_SDK_APP_ID=.*', 'TRTC_SDK_APP_ID=%SDK_APP_ID%' | Out-File -encoding ASCII '%ENV_FILE%'" powershell -Command "(gc '%ENV_FILE%') -replace 'TRTC_SECRET_KEY=.*', 'TRTC_SECRET_KEY=%SECRET_KEY%' | Out-File -encoding ASCII '%ENV_FILE%'" powershell -Command "(gc '%ENV_FILE%') -replace 'TRTC_ENABLE=.*', 'TRTC_ENABLE=true' | Out-File -encoding ASCII '%ENV_FILE%'" ) else ( echo [提示] 正在添加 TRTC 配置... echo. >> "%ENV_FILE%" echo # 腾讯云实时音视频(TRTC)配置 >> "%ENV_FILE%" echo TRTC_SDK_APP_ID=%SDK_APP_ID% >> "%ENV_FILE%" echo TRTC_SECRET_KEY=%SECRET_KEY% >> "%ENV_FILE%" echo TRTC_ENABLE=true >> "%ENV_FILE%" ) echo [成功] 配置文件更新成功 ) else ( echo [错误] 未找到 .env 文件 pause exit /b 1 ) echo. echo [步骤 4/5] 验证文件完整性 echo. :: 检查关键文件是否存在 set ALL_EXISTS=1 if exist "admin\src\components\video-call\index.vue" ( echo [√] admin\src\components\video-call\index.vue ) else ( echo [×] admin\src\components\video-call\index.vue (缺失) set ALL_EXISTS=0 ) if exist "admin\src\api\tcm.ts" ( echo [√] admin\src\api\tcm.ts ) else ( echo [×] admin\src\api\tcm.ts (缺失) set ALL_EXISTS=0 ) if exist "server\app\adminapi\controller\tcm\DiagnosisController.php" ( echo [√] server\app\adminapi\controller\tcm\DiagnosisController.php ) else ( echo [×] server\app\adminapi\controller\tcm\DiagnosisController.php (缺失) set ALL_EXISTS=0 ) if exist "server\app\adminapi\logic\tcm\DiagnosisLogic.php" ( echo [√] server\app\adminapi\logic\tcm\DiagnosisLogic.php ) else ( echo [×] server\app\adminapi\logic\tcm\DiagnosisLogic.php (缺失) set ALL_EXISTS=0 ) if exist "server\app\common\model\tcm\CallRecord.php" ( echo [√] server\app\common\model\tcm\CallRecord.php ) else ( echo [×] server\app\common\model\tcm\CallRecord.php (缺失) set ALL_EXISTS=0 ) if exist "server\config\trtc.php" ( echo [√] server\config\trtc.php ) else ( echo [×] server\config\trtc.php (缺失) set ALL_EXISTS=0 ) if exist "server\sql\tcm_call_record.sql" ( echo [√] server\sql\tcm_call_record.sql ) else ( echo [×] server\sql\tcm_call_record.sql (缺失) set ALL_EXISTS=0 ) if !ALL_EXISTS! equ 0 ( echo. echo [错误] 部分文件缺失,请检查 pause exit /b 1 ) echo. echo [步骤 5/5] 构建前端项目 set /p BUILD_CHOICE="是否立即构建前端项目? (y/n): " if /i "%BUILD_CHOICE%"=="y" ( cd admin call npm run build if !errorlevel! equ 0 ( echo [成功] 前端构建成功 ) else ( echo [失败] 前端构建失败 ) cd .. ) echo. echo ========================================== echo 安装完成! echo ========================================== echo. echo 后续步骤: echo 1. 确保已执行数据库迁移 echo 2. 在后台管理系统中配置权限: tcm.diagnosis/video-call echo 3. 重启后端服务 echo 4. 访问诊断列表页面测试视频通话功能 echo. echo 详细文档请查看: echo - TRTC_SETUP_GUIDE.md (完整配置指南) echo - admin\README_VIDEO_CALL.md (功能说明) echo. echo [注意] 请确保使用 HTTPS 协议或 localhost 访问 echo. pause