@@ -403,46 +403,9 @@ def api_send_message():
|
||||
'message': '消息发送中'
|
||||
})
|
||||
|
||||
elif msg_type == 'emoji':
|
||||
md5 = content.get('md5') if isinstance(content, dict) else None
|
||||
total_length = int((content or {}).get('total_length') or 0) if isinstance(content, dict) else 0
|
||||
if not md5 or total_length <= 0:
|
||||
return jsonify({'success': False, 'message': '缺少表情参数'})
|
||||
send_message_in_thread(server.client.send_emoji_message, wxid, md5, total_length)
|
||||
server.emoji_asset_db.mark_sent(md5)
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'message': '表情发送中'
|
||||
})
|
||||
|
||||
else:
|
||||
return jsonify({'success': False, 'message': '不支持的消息类型'})
|
||||
|
||||
except Exception as e:
|
||||
logger.exception(f"发送消息失败: {e}")
|
||||
return jsonify({'success': False, 'message': str(e)}), 500
|
||||
|
||||
|
||||
@contacts_bp.route('/api/emoji_assets', methods=['GET'])
|
||||
@login_required
|
||||
def api_emoji_assets():
|
||||
"""获取表情资产列表API"""
|
||||
try:
|
||||
server = current_app.dashboard_server
|
||||
limit = min(max(int(request.args.get("limit", 60) or 60), 1), 200)
|
||||
roomid = request.args.get("roomid", "").strip()
|
||||
assets = server.emoji_asset_db.list_assets(limit=limit, chatroom_id=roomid)
|
||||
for asset in assets:
|
||||
source_wxid = asset.get("source_wxid", "")
|
||||
asset["source_name"] = server.contact_manager.get_nickname(source_wxid) or source_wxid
|
||||
source_chatroom_id = asset.get("source_chatroom_id", "")
|
||||
asset["source_chatroom_name"] = server.contact_manager.get_nickname(source_chatroom_id) or source_chatroom_id
|
||||
return jsonify({
|
||||
"success": True,
|
||||
"data": {
|
||||
"assets": assets
|
||||
}
|
||||
})
|
||||
except Exception as e:
|
||||
logger.error(f"获取表情资产列表失败: {e}")
|
||||
return jsonify({"success": False, "error": str(e)}), 500
|
||||
|
||||
Reference in New Issue
Block a user