0717c09721
改动:新增厂商推送配置、设备 push_vendor/push_token 字段、device push-test 接口、心跳超时厂商直推发送逻辑和对应测试。 验证:python -m pytest tests/test_device_push.py tests/test_auth.py tests/test_health.py 通过。 --------- Co-authored-by: guke <guke@wonderable.ai> Co-authored-by: 左辰勇 <exinglang@gmail.com> Co-authored-by: lowmaster-chen <1119780489@qq.com> Reviewed-on: #118 Co-authored-by: Ghost <> Co-committed-by: Ghost <>
46 lines
1.8 KiB
Batchfile
46 lines
1.8 KiB
Batchfile
@echo off
|
|
REM Local dev startup script (Windows) - mirror of run.sh
|
|
REM
|
|
REM Usage:
|
|
REM cd shaguabijia-app-server
|
|
REM run.bat
|
|
REM
|
|
REM Listens on 0.0.0.0:8770 (works for both real device via adb reverse
|
|
REM and LAN). Auto-reload on code change.
|
|
REM
|
|
REM Prerequisite (first time):
|
|
REM conda activate pricebot ^&^& pip install -e .
|
|
REM copy .env.example .env ^&^& fill JWT_SECRET_KEY
|
|
REM
|
|
REM This file is the Windows-native peer of run.sh. Keeping run.sh untouched
|
|
REM avoids CRLF/encoding fights every time someone bash-runs the .sh on Win.
|
|
|
|
cd /d "%~dp0"
|
|
|
|
REM Prefer the project virtualenv (.venv) so we never inherit a wrong
|
|
REM global/conda interpreter. FastAPI<0.115 on Pydantic 2.12 crashes at import
|
|
REM with "'FieldInfo' object has no attribute 'in_'". Falls back to PATH python.
|
|
set "PY=python"
|
|
if exist "%~dp0.venv\Scripts\python.exe" set "PY=%~dp0.venv\Scripts\python.exe"
|
|
|
|
if not exist .env (
|
|
echo [X] Missing .env. Run: copy .env.example .env and fill JWT_SECRET_KEY ^(plus MT_CPS_* if you test Meituan^)
|
|
exit /b 1
|
|
)
|
|
|
|
if not exist data mkdir data
|
|
|
|
REM Build/upgrade SQLite schema (idempotent; no-op if already at head)
|
|
call "%PY%" -m alembic upgrade head
|
|
if errorlevel 1 (
|
|
echo [X] alembic upgrade head failed
|
|
exit /b %errorlevel%
|
|
)
|
|
|
|
REM Long-running foreground process. Ctrl+C to stop.
|
|
REM --timeout-keep-alive 120: real-device debugging over `adb reverse` — uvicorn's default 5s
|
|
REM closes idle keep-alive connections, but the adb-reverse pipe doesn't propagate the close,
|
|
REM so okhttp reuses a dead connection and the next request fails with "unexpected end of
|
|
REM stream" (esp. login / message-center calls after an idle gap). Bump to 120s to avoid it.
|
|
"%PY%" -m uvicorn app.main:app --host 0.0.0.0 --port 8770 --reload --timeout-keep-alive 120
|