群成员信息

This commit is contained in:
liuwei
2025-05-07 17:16:25 +08:00
parent c6381bbec2
commit e1d1e4e3a3
3 changed files with 256 additions and 235 deletions

View File

@@ -7,6 +7,7 @@ from loguru import logger
# 创建联系人管理蓝图
contacts_bp = Blueprint('contacts', __name__, url_prefix='/contacts')
# 联系人管理页面
@contacts_bp.route('/')
@login_required
@@ -14,6 +15,7 @@ def contacts_management():
"""通讯录管理页面"""
return render_template('contacts_management.html')
# API路由
@contacts_bp.route('/api/all', methods=['GET'])
@login_required
@@ -32,6 +34,7 @@ def api_contacts_all():
logger.error(f"获取所有联系人信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/statistics', methods=['GET'])
@login_required
def api_contacts_statistics():
@@ -40,7 +43,7 @@ def api_contacts_statistics():
server = current_app.dashboard_server
# 使用新的联系人分类方法获取统计信息
total, groups, personal, public, official = server.contact_manager.get_contact_statistics()
return jsonify({
"success": True,
"data": {
@@ -55,6 +58,7 @@ def api_contacts_statistics():
logger.error(f"获取联系人统计信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/groups', methods=['GET'])
@login_required
def api_contacts_groups():
@@ -62,7 +66,7 @@ def api_contacts_groups():
try:
server = current_app.dashboard_server
group_contacts = server.contact_manager.get_group_contacts()
return jsonify({
"success": True,
"data": {
@@ -72,7 +76,8 @@ def api_contacts_groups():
except Exception as e:
logger.error(f"获取群组联系人信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/personal', methods=['GET'])
@login_required
def api_contacts_personal():
@@ -80,7 +85,7 @@ def api_contacts_personal():
try:
server = current_app.dashboard_server
personal_contacts = server.contact_manager.get_personal_contacts()
return jsonify({
"success": True,
"data": {
@@ -91,6 +96,7 @@ def api_contacts_personal():
logger.error(f"获取个人联系人信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/official', methods=['GET'])
@login_required
def api_contacts_official():
@@ -98,7 +104,7 @@ def api_contacts_official():
try:
server = current_app.dashboard_server
official_accounts = server.contact_manager.get_official_accounts()
return jsonify({
"success": True,
"data": {
@@ -109,6 +115,7 @@ def api_contacts_official():
logger.error(f"获取公众号联系人信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/public', methods=['GET'])
@login_required
def api_contacts_public():
@@ -116,7 +123,7 @@ def api_contacts_public():
try:
server = current_app.dashboard_server
public_contacts = server.contact_manager.get_public_contacts()
return jsonify({
"success": True,
"data": {
@@ -127,6 +134,7 @@ def api_contacts_public():
logger.error(f"获取公共好友信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/head_images', methods=['GET'])
@login_required
def api_head_images():
@@ -134,7 +142,7 @@ def api_head_images():
try:
server = current_app.dashboard_server
head_images = server.contact_manager.get_all_head_images()
return jsonify({
"success": True,
"data": {
@@ -145,6 +153,7 @@ def api_head_images():
logger.error(f"获取联系人头像信息失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@contacts_bp.route('/api/group_members/<roomid>', methods=['GET'])
@login_required
def api_group_members(roomid):
@@ -155,8 +164,7 @@ def api_group_members(roomid):
"""
try:
server = current_app.dashboard_server
group_members = server.contact_manager.get_group_members(roomid)
group_members = server.contact_db.get_chatroom_member_list(roomid)
return jsonify({
"success": True,
"data": {
@@ -182,4 +190,4 @@ def api_contacts_update():
return jsonify({"success": False, "message": "通讯录更新失败"}), 500
except Exception as e:
logger.error(f"更新通讯录失败: {e}")
return jsonify({"success": False, "message": f"更新通讯录失败: {str(e)}"}), 500
return jsonify({"success": False, "message": f"更新通讯录失败: {str(e)}"}), 500