180 lines
4.9 KiB
Batchfile
180 lines
4.9 KiB
Batchfile
@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
|