diff --git a/xiaomusic/api/routers/music.py b/xiaomusic/api/routers/music.py index edf96cb..1597f9b 100644 --- a/xiaomusic/api/routers/music.py +++ b/xiaomusic/api/routers/music.py @@ -24,11 +24,11 @@ from xiaomusic.api.models import ( MusicItem, ) -router = APIRouter() +router = APIRouter(dependencies=[Depends(verification)]) @router.get("/searchmusic") -def searchmusic(name: str = "", Verifcation=Depends(verification)): +def searchmusic(name: str = ""): """搜索音乐""" return xiaomusic.searchmusic(name) @@ -42,7 +42,6 @@ async def search_online_music( plugin: str = Query("all", description="指定插件名称,all表示搜索所有插件"), page: int = Query(1, description="页码"), limit: int = Query(20, description="每页数量"), - Verifcation=Depends(verification), ): """在线音乐搜索API""" try: @@ -57,9 +56,7 @@ async def search_online_music( @router.get("/api/proxy/real-url") -async def get_real_music_url( - url: str = Query(..., description="原始url"), Verifcation=Depends(verification) -): +async def get_real_music_url(url: str = Query(..., description="原始url")): """通过服务端代理获取真实的URL,不止是音频url,可能还有图片url""" try: # 获取真实的URL @@ -76,7 +73,6 @@ async def get_real_music_url( @router.get("/api/proxy/plugin-url") async def get_plugin_source_url( data: str = Query(..., description="json对象压缩的base64"), - Verifcation=Depends(verification), ): try: # 获取请求数据 @@ -103,7 +99,7 @@ async def get_plugin_source_url( @router.post("/api/play/getMediaSource") -async def get_media_source(request: Request, Verifcation=Depends(verification)): +async def get_media_source(request: Request): """获取音乐真实播放URL""" try: # 获取请求数据 @@ -115,7 +111,7 @@ async def get_media_source(request: Request, Verifcation=Depends(verification)): @router.post("/api/play/getLyric") -async def get_media_lyric(request: Request, Verifcation=Depends(verification)): +async def get_media_lyric(request: Request): """获取音乐歌词""" try: # 获取请求数据 @@ -127,7 +123,7 @@ async def get_media_lyric(request: Request, Verifcation=Depends(verification)): @router.post("/api/device/pushUrl") -async def device_push_url(request: Request, Verifcation=Depends(verification)): +async def device_push_url(request: Request): """推送url给设备端播放""" try: # 获取请求数据 @@ -146,7 +142,7 @@ async def device_push_url(request: Request, Verifcation=Depends(verification)): @router.post("/api/device/pushList") -async def device_push_list(request: Request, Verifcation=Depends(verification)): +async def device_push_list(request: Request): """WEB前端推送歌单给设备端播放""" try: # 获取请求数据 @@ -166,7 +162,7 @@ async def device_push_list(request: Request, Verifcation=Depends(verification)): @router.get("/playingmusic") -def playingmusic(did: str = "", Verifcation=Depends(verification)): +def playingmusic(did: str = ""): """当前播放音乐""" if not xiaomusic.did_exist(did): return {"ret": "Did not exist"} @@ -187,15 +183,13 @@ def playingmusic(did: str = "", Verifcation=Depends(verification)): @router.get("/musiclist") -async def musiclist(Verifcation=Depends(verification)): +async def musiclist(): """音乐列表""" return xiaomusic.get_music_list() @router.get("/musicinfo") -async def musicinfo( - name: str, musictag: bool = False, Verifcation=Depends(verification) -): +async def musicinfo(name: str, musictag: bool = False): """音乐信息""" url, _ = await xiaomusic._music_library.get_music_url(name) info = { @@ -212,7 +206,6 @@ async def musicinfo( async def musicinfos( name: list[str] = Query(None), musictag: bool = False, - Verifcation=Depends(verification), ): """批量音乐信息""" ret = [] @@ -229,14 +222,14 @@ async def musicinfos( @router.post("/setmusictag") -async def setmusictag(info: MusicInfoObj, Verifcation=Depends(verification)): +async def setmusictag(info: MusicInfoObj): """设置音乐标签""" ret = xiaomusic._music_library.set_music_tag(info.musicname, info) return {"ret": ret} @router.post("/delmusic") -async def delmusic(data: MusicItem, Verifcation=Depends(verification)): +async def delmusic(data: MusicItem): """删除音乐""" log.info(data) await xiaomusic.del_music(data.name) @@ -244,7 +237,7 @@ async def delmusic(data: MusicItem, Verifcation=Depends(verification)): @router.post("/playmusic") -async def playmusic(data: DidPlayMusic, Verifcation=Depends(verification)): +async def playmusic(data: DidPlayMusic): """播放音乐""" did = data.did musicname = data.musicname diff --git a/xiaomusic/api/routers/playlist.py b/xiaomusic/api/routers/playlist.py index 6f4b8f0..c08e326 100644 --- a/xiaomusic/api/routers/playlist.py +++ b/xiaomusic/api/routers/playlist.py @@ -17,11 +17,11 @@ from xiaomusic.api.models import ( PlayListUpdateObj, ) -router = APIRouter() +router = APIRouter(dependencies=[Depends(verification)]) @router.get("/curplaylist") -async def curplaylist(did: str = "", Verifcation=Depends(verification)): +async def curplaylist(did: str = ""): """当前播放列表""" if not xiaomusic.did_exist(did): return "" @@ -29,7 +29,7 @@ async def curplaylist(did: str = "", Verifcation=Depends(verification)): @router.post("/playmusiclist") -async def playmusiclist(data: DidPlayMusicList, Verifcation=Depends(verification)): +async def playmusiclist(data: DidPlayMusicList): """播放音乐列表""" did = data.did listname = data.listname @@ -43,7 +43,7 @@ async def playmusiclist(data: DidPlayMusicList, Verifcation=Depends(verification @router.post("/playlistadd") -async def playlistadd(data: PlayListObj, Verifcation=Depends(verification)): +async def playlistadd(data: PlayListObj): """新增歌单""" ret = xiaomusic.play_list_add(data.name) if ret: @@ -52,7 +52,7 @@ async def playlistadd(data: PlayListObj, Verifcation=Depends(verification)): @router.post("/playlistdel") -async def playlistdel(data: PlayListObj, Verifcation=Depends(verification)): +async def playlistdel(data: PlayListObj): """移除歌单""" ret = xiaomusic.play_list_del(data.name) if ret: @@ -61,9 +61,7 @@ async def playlistdel(data: PlayListObj, Verifcation=Depends(verification)): @router.post("/playlistupdatename") -async def playlistupdatename( - data: PlayListUpdateObj, Verifcation=Depends(verification) -): +async def playlistupdatename(data: PlayListUpdateObj): """修改歌单名字""" ret = xiaomusic.play_list_update_name(data.oldname, data.newname) if ret: @@ -72,7 +70,7 @@ async def playlistupdatename( @router.get("/playlistnames") -async def getplaylistnames(Verifcation=Depends(verification)): +async def getplaylistnames(): """获取所有自定义歌单""" names = xiaomusic.get_play_list_names() log.info(f"names {names}") @@ -83,7 +81,7 @@ async def getplaylistnames(Verifcation=Depends(verification)): @router.post("/playlistaddmusic") -async def playlistaddmusic(data: PlayListMusicObj, Verifcation=Depends(verification)): +async def playlistaddmusic(data: PlayListMusicObj): """歌单新增歌曲""" ret = xiaomusic.play_list_add_music(data.name, data.music_list) if ret: @@ -92,7 +90,7 @@ async def playlistaddmusic(data: PlayListMusicObj, Verifcation=Depends(verificat @router.post("/playlistdelmusic") -async def playlistdelmusic(data: PlayListMusicObj, Verifcation=Depends(verification)): +async def playlistdelmusic(data: PlayListMusicObj): """歌单移除歌曲""" ret = xiaomusic.play_list_del_music(data.name, data.music_list) if ret: @@ -101,9 +99,7 @@ async def playlistdelmusic(data: PlayListMusicObj, Verifcation=Depends(verificat @router.post("/playlistupdatemusic") -async def playlistupdatemusic( - data: PlayListMusicObj, Verifcation=Depends(verification) -): +async def playlistupdatemusic(data: PlayListMusicObj): """歌单更新歌曲""" ret = xiaomusic.play_list_update_music(data.name, data.music_list) if ret: @@ -112,7 +108,7 @@ async def playlistupdatemusic( @router.get("/playlistmusics") -async def getplaylist(name: str, Verifcation=Depends(verification)): +async def getplaylist(name: str): """获取歌单中所有歌曲""" ret, musics = xiaomusic.play_list_musics(name) return { diff --git a/xiaomusic/api/routers/plugin.py b/xiaomusic/api/routers/plugin.py index 0a62075..71d0679 100644 --- a/xiaomusic/api/routers/plugin.py +++ b/xiaomusic/api/routers/plugin.py @@ -18,13 +18,12 @@ from xiaomusic.api.dependencies import ( xiaomusic, ) -router = APIRouter() +router = APIRouter(dependencies=[Depends(verification)]) @router.get("/api/js-plugins") def get_js_plugins( enabled_only: bool = Query(False, description="是否只返回启用的插件"), - Verifcation=Depends(verification), ): """获取插件列表""" try: @@ -45,7 +44,7 @@ def get_js_plugins( @router.put("/api/js-plugins/{plugin_name}/enable") -def enable_js_plugin(plugin_name: str, Verifcation=Depends(verification)): +def enable_js_plugin(plugin_name: str): """启用插件""" try: if ( @@ -62,7 +61,7 @@ def enable_js_plugin(plugin_name: str, Verifcation=Depends(verification)): @router.put("/api/js-plugins/{plugin_name}/disable") -def disable_js_plugin(plugin_name: str, Verifcation=Depends(verification)): +def disable_js_plugin(plugin_name: str): """禁用插件""" try: if ( @@ -79,7 +78,7 @@ def disable_js_plugin(plugin_name: str, Verifcation=Depends(verification)): @router.delete("/api/js-plugins/{plugin_name}/uninstall") -def uninstall_js_plugin(plugin_name: str, Verifcation=Depends(verification)): +def uninstall_js_plugin(plugin_name: str): """卸载插件""" try: if ( @@ -96,9 +95,7 @@ def uninstall_js_plugin(plugin_name: str, Verifcation=Depends(verification)): @router.post("/api/js-plugins/upload") -async def upload_js_plugin( - file: UploadFile = File(...), verification_dep=Depends(verification) -): +async def upload_js_plugin(file: UploadFile = File(...)): """上传 JS 插件""" try: # 验证文件扩展名 @@ -154,7 +151,7 @@ async def upload_js_plugin( @router.get("/api/openapi/load") -def get_openapi_info(Verifcation=Depends(verification)): +def get_openapi_info(): """获取开放接口配置信息""" try: openapi_info = xiaomusic.js_plugin_manager.get_openapi_info() @@ -164,7 +161,7 @@ def get_openapi_info(Verifcation=Depends(verification)): @router.post("/api/openapi/toggle") -def toggle_openapi(Verifcation=Depends(verification)): +def toggle_openapi(): """开放接口状态切换""" try: return xiaomusic.js_plugin_manager.toggle_openapi() @@ -173,7 +170,7 @@ def toggle_openapi(Verifcation=Depends(verification)): @router.post("/api/openapi/updateUrl") -async def update_openapi_url(request: Request, Verifcation=Depends(verification)): +async def update_openapi_url(request: Request): """更新开放接口地址""" try: request_json = await request.json() @@ -189,7 +186,7 @@ async def update_openapi_url(request: Request, Verifcation=Depends(verification) @router.get("/api/plugin-source/load") -def get_plugin_source_info(Verifcation=Depends(verification)): +def get_plugin_source_info(): """获取插件源配置信息""" try: plugin_source = xiaomusic.js_plugin_manager.get_plugin_source() @@ -199,7 +196,7 @@ def get_plugin_source_info(Verifcation=Depends(verification)): @router.post("/api/plugin-source/refresh") -def refresh_plugin_source(Verifcation=Depends(verification)): +def refresh_plugin_source(): """更新订阅源""" try: return xiaomusic.js_plugin_manager.refresh_plugin_source() @@ -208,7 +205,7 @@ def refresh_plugin_source(Verifcation=Depends(verification)): @router.post("/api/plugin-source/updateUrl") -async def update_plugin_source(request: Request, Verifcation=Depends(verification)): +async def update_plugin_source(request: Request): """更新插件源地址""" try: request_json = await request.json() diff --git a/xiaomusic/api/routers/system.py b/xiaomusic/api/routers/system.py index f00c518..796d529 100644 --- a/xiaomusic/api/routers/system.py +++ b/xiaomusic/api/routers/system.py @@ -44,11 +44,11 @@ from xiaomusic.utils.system_utils import ( update_version, ) -router = APIRouter() +router = APIRouter(dependencies=[Depends(verification)]) @router.get("/") -async def read_index(Verifcation=Depends(verification)): +async def read_index(): """首页""" folder = os.path.dirname( os.path.dirname(os.path.dirname(__file__)) @@ -57,14 +57,14 @@ async def read_index(Verifcation=Depends(verification)): @router.get("/getversion") -def getversion(Verifcation=Depends(verification)): +def getversion(): """获取版本""" log.debug("getversion %s", __version__) return {"version": __version__} @router.get("/getsetting") -async def getsetting(need_device_list: bool = False, Verifcation=Depends(verification)): +async def getsetting(need_device_list: bool = False): """获取设置""" config_data = xiaomusic.getconfig() data = asdict(config_data) @@ -78,7 +78,7 @@ async def getsetting(need_device_list: bool = False, Verifcation=Depends(verific @router.post("/savesetting") -async def savesetting(request: Request, Verifcation=Depends(verification)): +async def savesetting(request: Request): """保存设置""" try: data_json = await request.body() @@ -104,7 +104,7 @@ async def savesetting(request: Request, Verifcation=Depends(verification)): @router.post("/api/system/modifiysetting") -async def modifiysetting(request: Request, Verifcation=Depends(verification)): +async def modifiysetting(request: Request): """修改部分设置""" try: data_json = await request.body() @@ -152,7 +152,7 @@ async def modifiysetting(request: Request, Verifcation=Depends(verification)): @router.get("/downloadlog") -def downloadlog(Verifcation=Depends(verification)): +def downloadlog(): """下载日志""" file_path = config.log_file if os.path.exists(file_path): @@ -184,7 +184,7 @@ def downloadlog(Verifcation=Depends(verification)): @router.get("/latestversion") -async def latest_version(Verifcation=Depends(verification)): +async def latest_version(): """获取最新版本""" version = await get_latest_version("xiaomusic") if version: @@ -194,9 +194,7 @@ async def latest_version(Verifcation=Depends(verification)): @router.post("/updateversion") -async def updateversion( - version: str = "", lite: bool = True, Verifcation=Depends(verification) -): +async def updateversion(version: str = "", lite: bool = True): """更新版本""" import asyncio @@ -209,19 +207,19 @@ async def updateversion( @router.get("/docs", include_in_schema=False) -async def get_swagger_documentation(Verifcation=Depends(verification)): +async def get_swagger_documentation(): """Swagger 文档""" return get_swagger_ui_html(openapi_url="/openapi.json", title="docs") @router.get("/redoc", include_in_schema=False) -async def get_redoc_documentation(Verifcation=Depends(verification)): +async def get_redoc_documentation(): """ReDoc 文档""" return get_redoc_html(openapi_url="/openapi.json", title="docs") @router.get("/openapi.json", include_in_schema=False) -async def openapi(Verifcation=Depends(verification)): +async def openapi(): """OpenAPI 规范""" from xiaomusic.api.app import app