From 1ce324151ec7110bdf5efb83e9f457a0310bef47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Fri, 6 Sep 2024 17:13:35 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BD=91=E9=A1=B5?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E7=A7=98=E5=AF=86=E9=AA=8C=E8=AF=81=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=92=AD=E6=AD=8C=E7=9A=84=E9=97=AE=E9=A2=98=20#149?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- xiaomusic/httpserver.py | 29 ++++++++++++++--------------- xiaomusic/static/setting.html | 13 ++++++------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 42e2970..ced0c00 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,8 @@ export XIAOMUSIC_SEARCH='bilisearch:' pdm run xiaomusic.py ```` -如果是开发前端界面,可以通过 查看有什么接口。 +如果是开发前端界面,可以通过 +查看有什么接口。目前的 web 控制台非常简陋,欢迎有兴趣的朋友帮忙实现一个漂亮的前端,需要什么接口可以随时提需求。 ### 支持口令 diff --git a/xiaomusic/httpserver.py b/xiaomusic/httpserver.py index 2d01e26..da41ffe 100644 --- a/xiaomusic/httpserver.py +++ b/xiaomusic/httpserver.py @@ -72,7 +72,6 @@ def no_verification(): app = FastAPI( lifespan=app_lifespan, version=__version__, - dependencies=[Depends(verification)], ) @@ -96,19 +95,19 @@ def HttpInit(_xiaomusic): @app.get("/") -async def read_index(): +async def read_index(Verifcation=Depends(verification)): folder = os.path.dirname(__file__) return FileResponse(f"{folder}/static/index.html") @app.get("/getversion") -def getversion(): +def getversion(Verifcation=Depends(verification)): log.debug("getversion %s", __version__) return {"version": __version__} @app.get("/getvolume") -async def getvolume(did: str = ""): +async def getvolume(did: str = "", Verifcation=Depends(verification)): if not xiaomusic.did_exist(did): return {"volume": 0} @@ -122,7 +121,7 @@ class DidVolume(BaseModel): @app.post("/setvolume") -async def setvolume(data: DidVolume): +async def setvolume(data: DidVolume, Verifcation=Depends(verification)): did = data.did volume = data.volume if not xiaomusic.did_exist(did): @@ -134,12 +133,12 @@ async def setvolume(data: DidVolume): @app.get("/searchmusic") -def searchmusic(name: str = ""): +def searchmusic(name: str = "", Verifcation=Depends(verification)): return xiaomusic.searchmusic(name) @app.get("/playingmusic") -def playingmusic(did: str = ""): +def playingmusic(did: str = "", Verifcation=Depends(verification)): if not xiaomusic.did_exist(did): return {"ret": "Did not exist"} @@ -158,7 +157,7 @@ class DidCmd(BaseModel): @app.post("/cmd") -async def do_cmd(data: DidCmd): +async def do_cmd(data: DidCmd, Verifcation=Depends(verification)): did = data.did cmd = data.cmd log.info(f"docmd. did:{did} cmd:{cmd}") @@ -177,7 +176,7 @@ async def do_cmd(data: DidCmd): @app.get("/getsetting") -async def getsetting(need_device_list: bool = False): +async def getsetting(need_device_list: bool = False, Verifcation=Depends(verification)): config = xiaomusic.getconfig() data = asdict(config) if need_device_list: @@ -188,7 +187,7 @@ async def getsetting(need_device_list: bool = False): @app.post("/savesetting") -async def savesetting(request: Request): +async def savesetting(request: Request, Verifcation=Depends(verification)): try: data_json = await request.body() data = json.loads(data_json.decode("utf-8")) @@ -207,7 +206,7 @@ async def musiclist(Verifcation=Depends(verification)): @app.get("/curplaylist") -async def curplaylist(did: str = ""): +async def curplaylist(did: str = "", Verifcation=Depends(verification)): if not xiaomusic.did_exist(did): return "" return xiaomusic.get_cur_play_list(did) @@ -218,7 +217,7 @@ class MusicItem(BaseModel): @app.post("/delmusic") -def delmusic(data: MusicItem): +def delmusic(data: MusicItem, Verifcation=Depends(verification)): log.info(data) xiaomusic.del_music(data.name) return "success" @@ -229,7 +228,7 @@ class UrlInfo(BaseModel): @app.post("/downloadjson") -async def downloadjson(data: UrlInfo): +async def downloadjson(data: UrlInfo, Verifcation=Depends(verification)): log.info(data) url = data.url content = "" @@ -277,7 +276,7 @@ def downloadlog(Verifcation=Depends(verification)): @app.get("/playurl") -async def playurl(did: str, url: str): +async def playurl(did: str, url: str, Verifcation=Depends(verification)): if not xiaomusic.did_exist(did): return {"ret": "Did not exist"} @@ -286,7 +285,7 @@ async def playurl(did: str, url: str): @app.post("/debug_play_by_music_url") -async def debug_play_by_music_url(request: Request): +async def debug_play_by_music_url(request: Request, Verifcation=Depends(verification)): try: data = await request.body() data_dict = json.loads(data.decode("utf-8")) diff --git a/xiaomusic/static/setting.html b/xiaomusic/static/setting.html index 06e8884..b168143 100644 --- a/xiaomusic/static/setting.html +++ b/xiaomusic/static/setting.html @@ -90,24 +90,23 @@ var vConsole = new window.VConsole(); - - - - + + +