完善通讯录群详情展示:补齐群公告/群主/群管理信息

变更项:
1. 数据层新增群资料聚合查询,直接复用 is_owner/is_admin 字段返回群主与管理员列表。
2. 同步群信息时兼容提取群公告并落库,历史库启动时自动补齐 chat_room_announcement 字段。
3. 新增 /contacts/api/group_profile/<roomid> 接口,统一返回群公告、群主、管理员、成员数。
4. 通讯录群详情弹窗新增群主/群成员数/群管理/群公告展示,并在打开详情时自动加载。
5. 补充群成员精简查询头像字段,更新初始化 SQL 中 t_chatrooms 公告字段定义。
This commit is contained in:
liuwei
2026-04-16 17:04:55 +08:00
parent d8bfdd54e3
commit 77fc15d1fd
4 changed files with 144 additions and 1 deletions

View File

@@ -427,6 +427,23 @@ def api_group_members(roomid):
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/group_profile/<roomid>', methods=['GET'])
@login_required
def api_group_profile(roomid):
"""获取指定群的资料信息(群公告、群主、管理员、成员数)"""
try:
server = current_app.dashboard_server
# 直接复用联系人库中已有身份字段,按群聚合成页面可展示的资料结构。
profile = server.contact_db.get_chatroom_profile(roomid)
return jsonify({
"success": True,
"data": profile
})
except Exception as e:
logger.error(f"获取群资料失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/group_member_context/<roomid>/<wxid>', methods=['GET'])
@login_required
def api_group_member_context(roomid, wxid):