@echo off REM TappoCloud Store 应用发布脚本 (Windows) REM 用法: publish.bat [API地址] setlocal enabledelayedexpansion set ZIP_FILE=%1 set API_BASE=%2 if "%ZIP_FILE%"=="" ( echo 用法: %0 ^ [API地址] echo 示例: %0 .\my-app-v1.0.0.zip echo %0 .\my-app-v1.0.0.zip https://app.tappo.dev exit /b 1 ) if "%API_BASE%"=="" set API_BASE=https://app.tappo.dev if not exist "%ZIP_FILE%" ( echo 错误: 文件不存在: %ZIP_FILE% exit /b 1 ) REM 检查是否已有 token set TOKEN_FILE=%USERPROFILE%\.tappocloud_token set TOKEN= if exist "%TOKEN_FILE%" ( set /p TOKEN=<"%TOKEN_FILE%" ) REM 如果没有 token,进行登录 if "%TOKEN%"=="" ( set /p USERNAME=用户名: set /p PASSWORD=密码: for /f "tokens=*" %%i in ('curl -sf -X POST "%API_BASE%/api/v1/admin/login" -H "Content-Type: application/json" -d "{\"username\":\"!USERNAME!\",\"password\":\"!PASSWORD!\"}"') do set RESPONSE=%%i if "!RESPONSE!"=="" ( echo 错误: 登录失败 exit /b 1 ) REM 提取 token (简化处理) for /f "tokens=2 delims=:," %%a in ('echo !RESPONSE! ^| findstr /r "token"') do ( set TOKEN=%%~a set TOKEN=!TOKEN:"=! ) echo !TOKEN!> "%TOKEN_FILE%" echo 登录成功 ) REM 上传文件 echo 正在上传: %ZIP_FILE% curl -sf -X POST "%API_BASE%/api/v1/admin/apps/upload" -H "Authorization: Bearer %TOKEN%" -F "file=@%ZIP_FILE%" if %ERRORLEVEL% neq 0 ( echo 错误: 上传失败 del "%TOKEN_FILE%" 2>nul exit /b 1 ) echo. echo 上传成功!