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}