2026-08-13 8f0b74144a824c302326fee92081565f16ffde92
feat(deploy): 更新部署脚本以支持公司配置和ZIP文件上传

- 添加宁夏九泓化工科技有限公司的配置信息
- 修改部署脚本从上传目录改为上传ZIP文件
- 更新远程服务器地址和端口配置
- 实现远程自动解压功能替代手动重启服务
- 优化构建过程中的环境变量传递机制
- 移除无用的代码页设置命令
- 更新文件大小计算逻辑以适配ZIP压缩包
已修改2个文件
67 ■■■■ 文件已修改
company.config.ts 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deploy.bat 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company.config.ts
@@ -21,7 +21,13 @@
    name: '测试公司',
    logo: '/logos/TEST.png',
    favicon: '/logos/TEST.ico',
    apiUrl: 'http://42.63.70.90:9003/admin-api',
    apiUrl: 'http://36.213.180.217:9500/admin-api',
  },
  JHHG: {
    name: '宁夏九泓化工科技有限公司',
    logo: '/logos/TEST.png',
    favicon: '/logos/TEST.ico',
    apiUrl: 'http://42.63.70.90:9001/admin-api',
  },
  YZFX: {
    name: '宁夏英泽防锈新材料有限公司',
deploy.bat
@@ -1,5 +1,4 @@
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: ================= Config =================
@@ -8,8 +7,8 @@
set "PASS=Xdrjkj@10086#"
set "IP=36.213.180.217"
set "PORT=65022"
set "DIST_DIR=dist"
set "REMOTE_DIR=/data/project/mom/vue/test"
set "ZIP_FILE=dist.zip"
set "REMOTE_DIR=/data/project/mom/vue/test/dist"
set "SSH_OPTS=-o StrictHostKeyChecking=no -o ConnectTimeout=10"
:: ===========================================
@@ -81,12 +80,12 @@
    echo.
)
:: Check if dist exists and ask user
if exist "%DIST_DIR%" (
    echo [WARN] dist directory already exists.
:: Check if dist.zip exists and ask user
if exist "%ZIP_FILE%" (
    echo [WARN] %ZIP_FILE% already exists.
    set /p "REBUILD=Do you want to rebuild? (Y/N, default Y): "
    if /i "!REBUILD!"=="N" (
        echo [INFO] Skip build, using existing dist
        echo [INFO] Skip build, using existing %ZIP_FILE%
        goto :upload
    )
)
@@ -95,7 +94,8 @@
echo [STEP 1/3] Building project for %COMPANY%...
echo [INFO] Running: pnpm run build
echo.
set "COMPANY=!COMPANY!" && call pnpm run build
:: Pass VITE_COMPANY so vite.config.ts picks the right company (vite reads VITE_ prefixed env vars)
set "VITE_COMPANY=!COMPANY!" && call pnpm run build
if !errorlevel! neq 0 (
    echo [ERROR] Build failed! Check your project configuration.
    goto :error_exit
@@ -104,24 +104,18 @@
echo.
:upload
if not exist "%DIST_DIR%" (
    echo [ERROR] Dist directory not found: %DIST_DIR%
    echo [HINT] Build may have failed or output directory is incorrect.
if not exist "%ZIP_FILE%" (
    echo [ERROR] %ZIP_FILE% not found.
    echo [HINT] Build may have failed or VITE_ARCHIVER is not enabled in .env.production.
    goto :error_exit
)
:: Count files and calculate size
set "FILE_COUNT=0"
set "TOTAL_SIZE=0"
for /r "%DIST_DIR%" %%F in (*) do (
    set /a "FILE_COUNT+=1"
    set /a "TOTAL_SIZE+=%%~zF"
)
set /a "TOTAL_SIZE_MB=TOTAL_SIZE/1024/1024"
:: Calculate zip size
for %%F in ("%ZIP_FILE%") do set "ZIP_BYTES=%%~zF"
set /a "ZIP_SIZE_MB=ZIP_BYTES/1024/1024"
echo [INFO] Dist directory: %DIST_DIR%
echo [INFO] Files count: %FILE_COUNT%
echo [INFO] Total size: %TOTAL_SIZE_MB% MB
echo [INFO] Zip file: %ZIP_FILE%
echo [INFO] Size: %ZIP_SIZE_MB% MB
echo [INFO] Target: %USER%@%IP%:%PORT%
echo [INFO] Remote dir: %REMOTE_DIR%
echo.
@@ -133,9 +127,9 @@
    goto :end
)
:: Upload dist directory
echo [STEP 2/3] Uploading dist directory...
sshpass -p "%PASS%" scp -P %PORT% %SSH_OPTS% -r "%DIST_DIR%" %USER%@%IP%:%REMOTE_DIR%/
:: Upload dist.zip
echo [STEP 2/3] Uploading %ZIP_FILE%...
sshpass -p "%PASS%" scp -P %PORT% %SSH_OPTS% "%ZIP_FILE%" %USER%@%IP%:%REMOTE_DIR%/
if %errorlevel% neq 0 (
    echo [ERROR] Upload failed! Check network or credentials.
    goto :error_exit
@@ -143,18 +137,23 @@
echo [OK] Upload completed!
echo.
:: Optional: Remote restart/cleanup (uncomment if needed)
:: echo [STEP 3/3] Restarting remote service...
:: sshpass -p "%PASS%" ssh -p %PORT% %SSH_OPTS% %USER%@%IP% "cd %REMOTE_DIR% && npm run restart"
:: Remote unzip
echo [STEP 3/3] Extracting %ZIP_FILE% on remote...
sshpass -p "%PASS%" ssh -P %PORT% %SSH_OPTS% %USER%@%IP% "cd %REMOTE_DIR% && unzip -o %ZIP_FILE% && rm -f %ZIP_FILE%"
if %errorlevel% neq 0 (
    echo [ERROR] Remote unzip failed! Check if 'unzip' is installed on server.
    goto :error_exit
)
echo [OK] Unzip completed! %ZIP_FILE% removed from remote.
echo.
echo ==========================================
echo [SUCCESS] Deploy completed!
echo ==========================================
echo.
echo Summary:
echo   - Build: Completed
echo   - Upload: %FILE_COUNT% files (%TOTAL_SIZE_MB% MB)
echo   - Upload: %ZIP_FILE% (%ZIP_SIZE_MB% MB)
echo   - Target: %USER%@%IP%:%PORT%%REMOTE_DIR%
echo.