25 lines
644 B
Python
25 lines
644 B
Python
from fastapi import APIRouter, Query
|
|
from ..services.stock_data import search_stocks, get_kline, get_realtime_quote
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/search")
|
|
def search(q: str = Query(""), limit: int = Query(20)):
|
|
results = search_stocks(q, limit)
|
|
return {"data": results}
|
|
|
|
|
|
@router.get("/kline/{code}")
|
|
def kline(code: str, months: int = Query(12, ge=1, le=60)):
|
|
data = get_kline(code, months)
|
|
return {"data": data}
|
|
|
|
|
|
@router.get("/realtime/{code}")
|
|
def realtime(code: str):
|
|
quote = get_realtime_quote(code)
|
|
if quote is None:
|
|
return {"data": None, "error": "未找到该股票"}
|
|
return {"data": quote}
|