| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- @echo off
- REM TappoCloud Store 应用发布脚本 (Windows)
- REM 用法: publish.bat <zip文件路径> [API地址]
- setlocal enabledelayedexpansion
- set ZIP_FILE=%1
- set API_BASE=%2
- if "%ZIP_FILE%"=="" (
- echo 用法: %0 ^<zip文件路径^> [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 上传成功!
|