jdeip/app/routers/proxy.py

37 lines
810 B
Python
Raw Normal View History

from typing import Optional
2025-10-19 23:16:58 +08:00
from fastapi import APIRouter, Body, Query, Form,Request
from pydantic import BaseModel
from ..rotation_service import rotate as rotate_impl, status as status_impl ,citie_list as cities_impl
router = APIRouter()
class RotateRequest(BaseModel):
id: Optional[int] = None
citys: Optional[str] = None
@router.post("/rotate")
def rotate(
2025-10-19 23:16:58 +08:00
req: Optional[RotateRequest] = Body(...),
):
# 优先级Query > Form > JSON
2025-10-21 18:41:07 +08:00
client_id = req.id
cities = str(req.citys).split(',')
2025-10-21 18:41:07 +08:00
# effective_cityhash = req.cityhash
# effective_num = req.num
result = rotate_impl(client_id=client_id,cities =cities)
return result
@router.get("/status")
def get_status():
return status_impl()
@router.get("/cities")
def get_cities():
return cities_impl()