fix: simplify emoji message display in dashboard
This commit is contained in:
@@ -10,6 +10,13 @@ messages_bp = Blueprint('messages', __name__)
|
|||||||
logger = logger
|
logger = logger
|
||||||
|
|
||||||
|
|
||||||
|
def _is_emoji_message(msg: dict) -> bool:
|
||||||
|
message_type = str(msg.get('message_type', ''))
|
||||||
|
content = msg.get('content') or ''
|
||||||
|
xml_markers = ('<emoji', '<emoticonmd5>', '<msg><emoji', '<gameext')
|
||||||
|
return message_type in {'47', '1048625', '1090519089'} or any(marker in content for marker in xml_markers)
|
||||||
|
|
||||||
|
|
||||||
# 消息列表页面
|
# 消息列表页面
|
||||||
@messages_bp.route('/messages')
|
@messages_bp.route('/messages')
|
||||||
@login_required
|
@login_required
|
||||||
@@ -51,6 +58,10 @@ def get_messages():
|
|||||||
# 获取发送者昵称
|
# 获取发送者昵称
|
||||||
msg['sender_name'] = server.contact_manager.get_group_name(msg['group_id'], msg['sender']) or msg['sender']
|
msg['sender_name'] = server.contact_manager.get_group_name(msg['group_id'], msg['sender']) or msg['sender']
|
||||||
|
|
||||||
|
if _is_emoji_message(msg):
|
||||||
|
msg['content'] = '[表情]'
|
||||||
|
continue
|
||||||
|
|
||||||
# 处理消息内容,格式化引用消息
|
# 处理消息内容,格式化引用消息
|
||||||
if msg['message_type'] == "49" and msg['content']: # 应用消息类型
|
if msg['message_type'] == "49" and msg['content']: # 应用消息类型
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -317,6 +317,7 @@
|
|||||||
const typeMap = {
|
const typeMap = {
|
||||||
1: '文本消息',
|
1: '文本消息',
|
||||||
3: '图片消息',
|
3: '图片消息',
|
||||||
|
47: '表情消息',
|
||||||
43: '视频消息',
|
43: '视频消息',
|
||||||
49: '链接消息'
|
49: '链接消息'
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user