Files
stock/local/backend/app/api/routes.py
T
2026-07-04 16:32:48 +08:00

41 lines
1.0 KiB
Python

"""API 路由 — Phase 0 仅 /health 与 /api/capabilities。"""
from __future__ import annotations
from fastapi import APIRouter
from app import __version__
from app.tickflow import client as tf_client
from app.tickflow.policy import detect_capabilities, tier_label
router = APIRouter()
@router.get("/health")
def health() -> dict:
return {
"status": "ok",
"version": __version__,
# 三态: none(无key/无效) / free(免费key) / api_key(付费档)
"mode": tf_client.current_mode(),
}
@router.get("/api/capabilities")
def capabilities() -> dict:
"""前端用来决定哪些功能可用、哪些灰显。"""
capset = detect_capabilities()
return {
"label": tier_label(),
"capabilities": capset.to_dict(),
}
@router.post("/api/capabilities/redetect")
def redetect() -> dict:
"""用户在设置页"重新检测"按钮。"""
capset = detect_capabilities(force=True)
return {
"label": tier_label(),
"capabilities": capset.to_dict(),
}