支持已绑定设备追加 NFC 卡
- 新增已绑定设备追加卡会话和小程序入口 - 允许同设备多张 active 卡,保留 card_uuid 唯一并补齐老库迁移 - 收紧未知卡自动绑定和跨设备卡复用 验证:talkingq-url/.venv/bin/python -m pytest tests;compileall;npm run build:weapp
This commit is contained in:
@@ -84,14 +84,15 @@ async def handle_text_message(websocket: WebSocket, device_id: str, text_data: s
|
||||
# 检查卡片是否存在
|
||||
existing_card = await card_service.get_card_by_uuid(card_uuid)
|
||||
|
||||
if existing_card:
|
||||
if existing_card and existing_card.device_id and int(existing_card.status) == 1:
|
||||
# 卡片已存在,使用卡片绑定的设备ID作为目标设备ID
|
||||
target_device_id = existing_card.device_id
|
||||
session_logger.info(device_id, "card", f"卡片已存在,绑定的设备ID: {target_device_id}")
|
||||
else:
|
||||
# 卡片不存在,创建新卡片并绑定到当前设备
|
||||
new_card = await card_service.activate_card(card_uuid, device_id)
|
||||
session_logger.info(device_id, "card", f"新卡片{card_uuid}已创建并激活,绑定到设备: {device_id}")
|
||||
await websocket.send_text(
|
||||
f"TARGET_DEVICE_REGISTERED_URL:http://{settings.server_host}:{settings.server_port}/assets/audio/error_card.mp3"
|
||||
)
|
||||
session_logger.warning(device_id, "card", f"未知卡片不能自动绑定: {card_uuid}")
|
||||
return
|
||||
|
||||
# 设置目标设备
|
||||
|
||||
Reference in New Issue
Block a user