diff --git a/admin/dashboard/blueprints/contacts.py b/admin/dashboard/blueprints/contacts.py index 0bf39ea..faf9898 100644 --- a/admin/dashboard/blueprints/contacts.py +++ b/admin/dashboard/blueprints/contacts.py @@ -544,7 +544,18 @@ def api_emoji_library(): try: server = current_app.dashboard_server limit = min(max(int(request.args.get("limit", 200)), 1), 500) - records = server.message_storage.message_db.get_recent_emoji_assets(limit=limit) + message_storage = getattr(server, "message_storage", None) + if not message_storage: + return jsonify({"success": False, "message": "消息存储未初始化"}), 503 + + if hasattr(message_storage, "get_recent_emoji_assets"): + records = message_storage.get_recent_emoji_assets(limit=limit) + elif hasattr(message_storage, "message_db") and hasattr(message_storage.message_db, "get_recent_emoji_assets"): + records = message_storage.message_db.get_recent_emoji_assets(limit=limit) + else: + logger.error("当前 message_storage 不支持 get_recent_emoji_assets") + return jsonify({"success": False, "message": "当前消息存储版本不支持表情库"}), 500 + dedup = {} for item in records: image_path = _safe_text(item.get("image_path")).strip()