mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-11 18:10:06 +08:00
42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
from fastapi import APIRouter, HTTPException
|
|
from pydantic import BaseModel
|
|
from typing import Optional
|
|
from app.utils.response import ResponseWrapper as R
|
|
|
|
from app.services.cookie_manager import CookieConfigManager
|
|
from ffmpeg_helper import ensure_ffmpeg_or_raise
|
|
|
|
router = APIRouter()
|
|
cookie_manager = CookieConfigManager()
|
|
|
|
|
|
class CookieUpdateRequest(BaseModel):
|
|
platform: str
|
|
cookie: str
|
|
|
|
|
|
@router.get("/get_downloader_cookie/{platform}")
|
|
def get_cookie(platform: str):
|
|
cookie = cookie_manager.get(platform)
|
|
if not cookie:
|
|
return R.success(msg='未找到Cookies')
|
|
return R.success(
|
|
data={"platform": platform, "cookie": cookie}
|
|
)
|
|
|
|
|
|
@router.post("/update_downloader_cookie")
|
|
def update_cookie(data: CookieUpdateRequest):
|
|
cookie_manager.set(data.platform, data.cookie)
|
|
return R.success(
|
|
|
|
)
|
|
|
|
@router.get("/sys_health")
|
|
async def sys_health():
|
|
try:
|
|
ensure_ffmpeg_or_raise()
|
|
return R.success()
|
|
except EnvironmentError:
|
|
return R.error(msg="系统未安装 ffmpeg 请先进行安装")
|