mobile app chat notifications theme

This commit is contained in:
2026-02-27 22:09:52 +08:00
parent 4cd4b6ef52
commit 1d7d451c60
3 changed files with 60 additions and 3 deletions

15
app.py
View File

@@ -720,6 +720,21 @@ def api_accept_friend(request_id):
if not req or req.friend_id != user_id or req.status != 'pending':
return jsonify({'success': False, 'message': '请求不存在或无权操作'}), 404
req.status = 'accepted'
# 自动创建私聊室,让好友立即出现在聊天列表
friend_user_id = req.user_id
my_rooms = db.session.query(ChatRoomMember.room_id).filter_by(user_id=user_id).subquery()
target_rooms = db.session.query(ChatRoomMember.room_id).filter_by(user_id=friend_user_id).subquery()
existing_room = ChatRoom.query.filter(
ChatRoom.type == 'private',
ChatRoom.id.in_(db.session.query(my_rooms.c.room_id)),
ChatRoom.id.in_(db.session.query(target_rooms.c.room_id))
).first()
if not existing_room:
room = ChatRoom(type='private', creator_id=user_id)
db.session.add(room)
db.session.flush()
db.session.add(ChatRoomMember(room_id=room.id, user_id=user_id, role='member'))
db.session.add(ChatRoomMember(room_id=room.id, user_id=friend_user_id, role='member'))
db.session.commit()
return jsonify({'success': True, 'message': '好友已添加'})