mirror of
https://github.com/hanxi/xiaomusic.git
synced 2026-03-19 08:49:45 +08:00
group_name可能为None情况,同时改用setdefault减少判断 (#694)
* group_name可能为None情况,同时改用setdefault减少判断 * 实例化AuthManager时创建device_id, 增加set_token记录 * device.py 中的接口验证统一放到APiRouter中
This commit is contained in:
@@ -19,11 +19,11 @@ from xiaomusic.api.models import (
|
||||
DidVolume,
|
||||
)
|
||||
|
||||
router = APIRouter()
|
||||
router = APIRouter(dependencies=[Depends(verification)])
|
||||
|
||||
|
||||
@router.get("/getvolume")
|
||||
async def getvolume(did: str = "", Verifcation=Depends(verification)):
|
||||
async def getvolume(did: str = ""):
|
||||
"""获取音量"""
|
||||
if not xiaomusic.did_exist(did):
|
||||
return {"volume": 0}
|
||||
@@ -33,7 +33,7 @@ async def getvolume(did: str = "", Verifcation=Depends(verification)):
|
||||
|
||||
|
||||
@router.post("/setvolume")
|
||||
async def setvolume(data: DidVolume, Verifcation=Depends(verification)):
|
||||
async def setvolume(data: DidVolume):
|
||||
"""设置音量"""
|
||||
did = data.did
|
||||
volume = data.volume
|
||||
@@ -46,7 +46,7 @@ async def setvolume(data: DidVolume, Verifcation=Depends(verification)):
|
||||
|
||||
|
||||
@router.post("/cmd")
|
||||
async def do_cmd(data: DidCmd, Verifcation=Depends(verification)):
|
||||
async def do_cmd(data: DidCmd):
|
||||
"""执行命令"""
|
||||
did = data.did
|
||||
cmd = data.cmd
|
||||
@@ -66,7 +66,7 @@ async def do_cmd(data: DidCmd, Verifcation=Depends(verification)):
|
||||
|
||||
|
||||
@router.get("/cmdstatus")
|
||||
async def cmd_status(Verifcation=Depends(verification)):
|
||||
async def cmd_status():
|
||||
"""命令状态"""
|
||||
finish = await xiaomusic.is_task_finish()
|
||||
if finish:
|
||||
@@ -75,7 +75,7 @@ async def cmd_status(Verifcation=Depends(verification)):
|
||||
|
||||
|
||||
@router.get("/playurl")
|
||||
async def playurl(did: str, url: str, Verifcation=Depends(verification)):
|
||||
async def playurl(did: str, url: str):
|
||||
"""播放 URL"""
|
||||
if not xiaomusic.did_exist(did):
|
||||
return {"ret": "Did not exist"}
|
||||
@@ -85,7 +85,7 @@ async def playurl(did: str, url: str, Verifcation=Depends(verification)):
|
||||
|
||||
|
||||
@router.get("/playtts")
|
||||
async def playtts(did: str, text: str, Verifcation=Depends(verification)):
|
||||
async def playtts(did: str, text: str):
|
||||
"""播放 TTS"""
|
||||
if not xiaomusic.did_exist(did):
|
||||
return {"ret": "Did not exist"}
|
||||
@@ -96,7 +96,7 @@ async def playtts(did: str, text: str, Verifcation=Depends(verification)):
|
||||
|
||||
|
||||
@router.post("/device/stop")
|
||||
async def stop(data: Did, Verifcation=Depends(verification)):
|
||||
async def stop(data: Did):
|
||||
"""关机"""
|
||||
did = data.did
|
||||
log.info(f"stop did:{did}")
|
||||
|
||||
@@ -48,7 +48,7 @@ class AuthManager:
|
||||
|
||||
# 当前设备DID(用于设备ID更新)
|
||||
self._cur_did = None
|
||||
|
||||
self.device_id = get_random(16).upper()
|
||||
self.mi_session = ClientSession()
|
||||
self.device_manager = device_manager
|
||||
|
||||
@@ -172,8 +172,9 @@ class AuthManager:
|
||||
account.token = {
|
||||
"passToken": cookies_dict["passToken"],
|
||||
"userId": cookies_dict["userId"],
|
||||
"deviceId": get_random(16).upper(),
|
||||
"deviceId": self.device_id,
|
||||
}
|
||||
self.log.info(f"设置token到account:{accout.token}")
|
||||
|
||||
def get_cookie(self):
|
||||
"""获取Cookie
|
||||
|
||||
@@ -50,11 +50,9 @@ class DeviceManager:
|
||||
# 构建 device_id 到 did 的映射
|
||||
self.device_id_did[device.device_id] = did
|
||||
group_name = did2group.get(did)
|
||||
if not group_name:
|
||||
if not group_name or group_name is None:
|
||||
group_name = device.name
|
||||
if group_name not in self.groups:
|
||||
self.groups[group_name] = []
|
||||
self.groups[group_name].append(device.device_id)
|
||||
self.groups.setdefault(group_name, []).append(device.device_id)
|
||||
self.devices[did] = XiaoMusicDevice(self.xiaomusic, device, group_name)
|
||||
|
||||
self.log.info(f"设备列表已更新: device_id_did={self.device_id_did}")
|
||||
|
||||
Reference in New Issue
Block a user