diff --git a/talkingq-url/assets/audio/message_ok_zh.mp3 b/talkingq-url/assets/audio/message_ok.mp3 similarity index 100% rename from talkingq-url/assets/audio/message_ok_zh.mp3 rename to talkingq-url/assets/audio/message_ok.mp3 diff --git a/talkingq-url/assets/audio/tts_error_zh.mp3 b/talkingq-url/assets/audio/tts_error.mp3 similarity index 100% rename from talkingq-url/assets/audio/tts_error_zh.mp3 rename to talkingq-url/assets/audio/tts_error.mp3 diff --git a/talkingq-url/assets/roles/zhuli/zh/tts_error.mp3 b/talkingq-url/assets/roles/zhuli/zh/tts_error.mp3 index 080cd1b..67e4907 100644 Binary files a/talkingq-url/assets/roles/zhuli/zh/tts_error.mp3 and b/talkingq-url/assets/roles/zhuli/zh/tts_error.mp3 differ diff --git a/talkingq-url/banban/dao/device_setting.py b/talkingq-url/banban/dao/device_setting.py index 2c41c84..0c451cb 100644 --- a/talkingq-url/banban/dao/device_setting.py +++ b/talkingq-url/banban/dao/device_setting.py @@ -18,16 +18,19 @@ class DeviceSettingDAO(BaseDAO): volume: Optional[int] = None, brightness: Optional[int] = None, disable_weekdays: Optional[str] = None, + signal: Optional[int] = None, + version: Optional[str] = None, + power: Optional[int] = None, ) -> int: result = await self.execute( """ INSERT INTO device_settings ( device_id, sleep_mode, disable_time_start, disable_time_end, - timezone, volume, brightness, disable_weekdays + timezone, volume, brightness, disable_weekdays, `signal`, `version`, power ) VALUES ( :device_id, :sleep_mode, :disable_time_start, :disable_time_end, - :timezone, :volume, :brightness, :disable_weekdays + :timezone, :volume, :brightness, :disable_weekdays, :signal, :version, :power ) """, { @@ -39,6 +42,9 @@ class DeviceSettingDAO(BaseDAO): "volume": volume, "brightness": brightness, "disable_weekdays": disable_weekdays, + "signal": signal, + "version": version, + "power": power, }, ) await self.commit() @@ -70,6 +76,9 @@ class DeviceSettingDAO(BaseDAO): volume: Optional[int] = None, brightness: Optional[int] = None, disable_weekdays: Optional[str] = None, + signal: Optional[int] = None, + version: Optional[str] = None, + power: Optional[int] = None, ) -> None: await self.execute( """ @@ -80,7 +89,10 @@ class DeviceSettingDAO(BaseDAO): timezone = COALESCE(:timezone, timezone), volume = COALESCE(:volume, volume), brightness = COALESCE(:brightness, brightness), - disable_weekdays = COALESCE(:disable_weekdays, disable_weekdays) + disable_weekdays = COALESCE(:disable_weekdays, disable_weekdays), + `signal` = COALESCE(:signal, `signal`), + `version` = COALESCE(:version, `version`), + power = COALESCE(:power, power) WHERE device_id = :device_id """, { @@ -92,6 +104,9 @@ class DeviceSettingDAO(BaseDAO): "volume": volume, "brightness": brightness, "disable_weekdays": disable_weekdays, + "signal": signal, + "version": version, + "power": power, }, ) await self.commit() diff --git a/talkingq-url/banban/security.py b/talkingq-url/banban/security.py index b4e0f8c..47bc736 100644 --- a/talkingq-url/banban/security.py +++ b/talkingq-url/banban/security.py @@ -1,4 +1,9 @@ -from datetime import UTC, datetime, timedelta +from datetime import datetime, timedelta +try: + from datetime import UTC # Python 3.11+ +except ImportError: + from datetime import timezone + UTC = timezone.utc # Python 3.10 及更早版本 import jwt from fastapi import HTTPException, Request, status diff --git a/talkingq-url/banban/service/avatar_storage.py b/talkingq-url/banban/service/avatar_storage.py index 1163fc8..a1ef034 100644 --- a/talkingq-url/banban/service/avatar_storage.py +++ b/talkingq-url/banban/service/avatar_storage.py @@ -1,6 +1,11 @@ import asyncio from dataclasses import dataclass -from datetime import UTC, datetime +from datetime import datetime +try: + from datetime import UTC # Python 3.11+ +except ImportError: + from datetime import timezone + UTC = timezone.utc # Python 3.10 及更早版本 from pathlib import Path from uuid import uuid4 diff --git a/talkingq-url/banban/service/device_setting.py b/talkingq-url/banban/service/device_setting.py index 3052be5..6e0a289 100644 --- a/talkingq-url/banban/service/device_setting.py +++ b/talkingq-url/banban/service/device_setting.py @@ -38,8 +38,8 @@ class DeviceSettingService(DatabaseServiceBase): volume=volume, brightness=brightness, disable_weekdays=disable_weekdays, - signal_strength=signal_strength, - version_str=version_str, + signal=signal_strength, + version=version_str, ) finally: await db_session.close() @@ -79,8 +79,8 @@ class DeviceSettingService(DatabaseServiceBase): brightness=brightness, disable_weekdays=disable_weekdays, power=power, - signal_strength=signal_strength, - version_str=version_str, + signal=signal_strength, + version=version_str, ) finally: await db_session.close() diff --git a/talkingq-url/handlers/mqtt_handler.py b/talkingq-url/handlers/mqtt_handler.py index b1533f2..42ddc47 100644 --- a/talkingq-url/handlers/mqtt_handler.py +++ b/talkingq-url/handlers/mqtt_handler.py @@ -138,6 +138,7 @@ class TalkingQMQTTService: async def _handle_nfc_listen_report(self, device_id: str, payload: dict): params = payload.get("params", {}) nfc_uuid = params.get("uuid") + logger.info(device_id, "", f"[NFC收听] 设备 {device_id} 请求收听留言, UUID={nfc_uuid}") await self._send_nfc_listen_response(device_id, nfc_uuid) async def _handle_bind_response(self, device_id: str, payload: dict): @@ -154,7 +155,6 @@ class TalkingQMQTTService: if not nfc_uuid: logger.warning(device_id, "", f"[NFC bind] missing uuid: {payload}") return - service = BindingService() result = await service.finalize_nfc_bind(device_id=device_id, card_uuid=nfc_uuid) if result is None: