Files
erp_sb/electron-vue-template/update-helper.bat
zhangzijienbplus 3a76aaa3c0 feat(client): 实现用户数据隔离与设备绑定优化- 添加用户会话ID构建逻辑,确保数据按用户隔离- 优化设备绑定流程,支持设备状态更新和绑定时间同步- 实现用户缓存清理功能,仅清除当前用户的数据- 增强客户端账号删除逻辑,级联删除相关数据
- 调整设备在线查询逻辑,确保只返回活跃绑定的设备
- 优化试用期逻辑,精确计算过期时间和类型- 添加账号管理弹窗和相关状态注入
-修复跟卖精灵按钮加载状态显示问题
- 增强文件上传区域UI,显示选中文件名
- 调整分页组件样式,优化界面展示效果- 优化反馈日志存储路径逻辑,默认使用用户目录
- 移除冗余代码和无用导入,提升代码整洁度
2025-10-24 13:43:46 +08:00

85 lines
2.4 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
set APP_ASAR=%~1
set UPDATE_FILE=%~2
set JAR_UPDATE=%~3
set EXE_PATH=%~4
set UPDATE_DIR=%~5
if not exist "%UPDATE_FILE%" if "%JAR_UPDATE%"=="" exit /b 1
if not exist "%UPDATE_FILE%" if not exist "%JAR_UPDATE%" exit /b 1
REM Wait for application to close
for /f "tokens=*" %%a in ("%EXE_PATH%") do set EXE_NAME=%%~nxa
set COUNT=0
:wait_loop
tasklist /FI "IMAGENAME eq %EXE_NAME%" 2>nul | find /I "%EXE_NAME%" >nul
if errorlevel 1 goto process_closed
set /a COUNT+=1
if %COUNT% GEQ 20 goto process_closed
timeout /t 1 /nobreak >nul
goto wait_loop
:process_closed
timeout /t 1 /nobreak >nul
REM Update ASAR
if exist "%UPDATE_FILE%" (
if exist "%APP_ASAR%.backup" del /f /q "%APP_ASAR%.backup" >nul 2>&1
if exist "%APP_ASAR%" move /y "%APP_ASAR%" "%APP_ASAR%.backup" >nul 2>&1
move /y "%UPDATE_FILE%" "%APP_ASAR%" >nul 2>&1
if errorlevel 1 if exist "%APP_ASAR%.backup" move /y "%APP_ASAR%.backup" "%APP_ASAR%" >nul 2>&1
if exist "%UPDATE_FILE%" del /f /q "%UPDATE_FILE%" >nul 2>&1
)
REM Update JAR
:update_jar
if "%JAR_UPDATE%"=="" goto :start_app
if not exist "%JAR_UPDATE%" goto :start_app
timeout /t 3 /nobreak >nul
for %%I in ("%APP_ASAR%") do set RESOURCES_DIR=%%~dpI
for %%F in ("%JAR_UPDATE%") do set JAR_NAME=%%~nF
echo %JAR_NAME% | findstr /B /C:"erp_client_sb-" >nul
if errorlevel 1 (
for /f "tokens=1-3 delims=/ " %%a in ("%date%") do set TODAY=%%a%%b%%c
for /f "tokens=1-3 delims=:." %%a in ("%time%") do set NOW=%%a%%b%%c
set JAR_NAME=erp_client_sb-2.4.7-!TODAY!!NOW!.jar
)
REM Delete old JAR files
for %%F in ("%RESOURCES_DIR%erp_client_sb-*.jar") do (
set RETRY_COUNT=0
:retry_delete
del /f /q "%%F" >nul 2>&1
if errorlevel 1 (
set /a RETRY_COUNT+=1
if !RETRY_COUNT! LEQ 5 (
timeout /t 2 /nobreak >nul
goto :retry_delete
)
)
)
REM Install new JAR file
set NEW_JAR_PATH=%RESOURCES_DIR%%JAR_NAME%
set INSTALL_RETRY=0
:retry_install
move /y "%JAR_UPDATE%" "%NEW_JAR_PATH%" >nul 2>&1
if errorlevel 1 (
set /a INSTALL_RETRY+=1
if %INSTALL_RETRY% LEQ 5 (
timeout /t 2 /nobreak >nul
goto :retry_install
)
goto :start_app
)
if exist "%JAR_UPDATE%" del /f /q "%JAR_UPDATE%" >nul 2>&1
:start_app
REM Clean up update directory
if exist "%UPDATE_DIR%" (
for %%F in ("%UPDATE_DIR%\*") do del /f /q "%%F" >nul 2>&1
)
start "" "%EXE_PATH%"
exit /b 0