from fastapi import APIRouter, Query, HTTPException import requests from pydantic import BaseModel shortVideo = APIRouter() # 第三方API地址 EXTERNAL_API_URL = "https://playlet.zonelian.com" @shortVideo.get("/video/category/list") async def category_search( page: int = Query(1, description="页数"), limit: int = Query(10, description="搜索内容列表数"), zlsj: str = Query("zlsj", description="跳过加解密") ): """ 视频搜索接口 - 封装第三方 API。 """ # 参数传递给第三方API params = { "page": page, "limit": limit, "zlsj": zlsj } try: # 发送请求到第三方API response = requests.get(EXTERNAL_API_URL + "/api/category/list", params=params) response.raise_for_status() # 确保HTTP请求成功 # 返回第三方API的结果 return response.json() except requests.exceptions.RequestException as e: # 处理请求错误 raise HTTPException(status_code=500, detail=f"请求第三方API出错: {str(e)}") @shortVideo.get("/video/playlet/list") async def playlet_search( name_en: str = Query(1, description="分类"), page: int = Query(1, description="页数"), limit: int = Query(10, description="搜索内容列表数"), zlsj: str = Query("zlsj", description="跳过加解密") ): """ 视频搜索接口 - 封装第三方 API。 """ # 参数传递给第三方API params = { "name_en": name_en, "page": page, "limit": limit, "zlsj": zlsj } try: # 发送请求到第三方API response = requests.get(EXTERNAL_API_URL + "/api/playlet/list", params=params) response.raise_for_status() # 确保HTTP请求成功 # 返回第三方API的结果 return response.json() except requests.exceptions.RequestException as e: # 处理请求错误 raise HTTPException(status_code=500, detail=f"请求第三方API出错: {str(e)}") @shortVideo.get("/video/playlet/episode") async def episode_search( vid: int = Query(1, description="短剧id"), page: int = Query(1, description="页数"), limit: int = Query(10, description="搜索内容列表数"), zlsj: str = Query("zlsj", description="跳过加解密") ): """ 视频搜索接口 - 封装第三方 API。 """ # 参数传递给第三方API params = { "vid": vid, "page": page, "limit": limit, "zlsj": zlsj } try: # 发送请求到第三方API response = requests.get(EXTERNAL_API_URL + "/api/playlet/episode", params=params) response.raise_for_status() # 确保HTTP请求成功 # 返回第三方API的结果 return response.json() except requests.exceptions.RequestException as e: # 处理请求错误 raise HTTPException(status_code=500, detail=f"请求第三方API出错: {str(e)}") @shortVideo.get("/video/playlet/watch") async def episode_search( vid: int = Query(1, description="短剧id"), eid: int = Query(1, description="剧集id"), page: int = Query(1, description="页数"), limit: int = Query(10, description="搜索内容列表数"), zlsj: str = Query("zlsj", description="跳过加解密") ): """ 视频搜索接口 - 封装第三方 API。 """ # 参数传递给第三方API params = { "vid": vid, "eid": eid, "page": page, "limit": limit, "zlsj": zlsj } try: # 发送请求到第三方API response = requests.get(EXTERNAL_API_URL + "/api/playlet/watch", params=params) response.raise_for_status() # 确保HTTP请求成功 # 返回第三方API的结果 return response.json() except requests.exceptions.RequestException as e: # 处理请求错误 raise HTTPException(status_code=500, detail=f"请求第三方API出错: {str(e)}") @shortVideo.get("/video/playlet/auth") async def episode_auth( eid: int = Query(1, description="剧集id"), zlsj: str = Query("zlsj", description="跳过加解密") ): """ 视频搜索接口 - 封装第三方 API。 """ try: # 发送请求到第三方API response = requests.post(EXTERNAL_API_URL + "/api/playlet/auth?eid=" + str(eid) + '&zlsj=' + zlsj) response.raise_for_status() # 确保HTTP请求成功 # 返回第三方API的结果 return response.json() except requests.exceptions.RequestException as e: # 处理请求错误 raise HTTPException(status_code=500, detail=f"请求第三方API出错: {str(e)}")