From 02410e2922a3a93716969a88fb3e44728daabc2b Mon Sep 17 00:00:00 2001 From: stu2not Date: Fri, 15 May 2026 15:34:40 +0800 Subject: [PATCH] fix: consume pending audio on owner card --- talkingq-url/handlers/mqtt_handler.py | 41 +++------------------------ 1 file changed, 4 insertions(+), 37 deletions(-) diff --git a/talkingq-url/handlers/mqtt_handler.py b/talkingq-url/handlers/mqtt_handler.py index 47fe8a9..d5d8d63 100644 --- a/talkingq-url/handlers/mqtt_handler.py +++ b/talkingq-url/handlers/mqtt_handler.py @@ -431,43 +431,10 @@ class TalkingQMQTTService: is_owner = await card_service.check_card_ownership(nfc_uuid, device_id) if is_owner: - has_pending = await offline_audio_cache.has_pending_audio(device_id) - if nfc_uuid == "53C22B6DA20001": - payload = { - "msg_id": "005", - "type": 0, - "params": { - "url_1": f"http://{settings.server_host}:{settings.server_port}/assets/audio/test_zh.mp3" - }, - } - await self._publish(topic, payload) - return - - if has_pending: - audio_urls = await offline_audio_cache.get_audio_urls(device_id) - # 53D92B6DA20001 测试卡片 - if nfc_uuid == "53C22B6DA20001": - payload = { - "msg_id": "005", - "type": 0, - "params": { - "url_1": f"http://{settings.server_host}:{settings.server_port}/assets/audio/TalkingQ_XQSN00001005_2f654480.mp3" - } - } - await self._publish(topic, payload) - return - if len(audio_urls) == 0: - payload = { - "msg_id": "005", - "type": 0, - "params": { - "url_1": f"http://{settings.server_host}:{settings.server_port}/assets/audio/no_message.mp3" - }, - } - else: - params = {f"url_{k}": audio_url for k, audio_url in enumerate(audio_urls, start=1)} - payload = {"msg_id": "005", "type": 0, "params": params} - await offline_audio_cache.clear_audio_urls(device_id) + audio_urls = await offline_audio_cache.pop_audio_urls(device_id) + if audio_urls: + params = {f"url_{k}": audio_url for k, audio_url in enumerate(audio_urls, start=1)} + payload = {"msg_id": "005", "type": 0, "params": params} await self._publish(topic, payload) return