From fd06f4aef4463a02a40e0cde8c615acd1535c1d4 Mon Sep 17 00:00:00 2001 From: H Vs Date: Thu, 13 Mar 2025 11:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 3 ++- resources/groups_resources.py | 31 ++++++++++++++++++++++++++++++- resources/messages_resource.py | 3 ++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index 9bd34c9..24cf181 100644 --- a/app.py +++ b/app.py @@ -3,7 +3,7 @@ from flask_restful import Api,got_request_exception from resources.messages_resource import MessagesResource from resources.contacts_resources import DeleteFriendResource,GetFriendsInfoResource from resources.config_reources import GetWxchatConfigResource ,SaveWxchatConfigResource -from resources.groups_resources import GetGroupsInfoResource +from resources.groups_resources import GetGroupsInfoResource,GetGroupMemberList from resources.login_resources import GetLoginInfoResource,GetLoginWxQRCodeResource,LoginWxCaptchCodeResource from resources.sns_resources import SendSNSTextResource,SendSNSImageResource, SendSNSVideoResource from common.log import logger, log_exception @@ -528,6 +528,7 @@ flask_api.add_resource(GetWxchatConfigResource, '/api/wxchat/getconfig') flask_api.add_resource(SaveWxchatConfigResource, '/api/wxchat/saveconfig') flask_api.add_resource(GetGroupsInfoResource, '/api/groups/getchatroominfo') +flask_api.add_resource(GetGroupMemberList,'/api/groups/getchatroominfo') flask_api.add_resource(GetLoginInfoResource, '/api/agent/getlogin') flask_api.add_resource(GetLoginWxQRCodeResource, '/api/agent/getwxqrcode') diff --git a/resources/groups_resources.py b/resources/groups_resources.py index 348b741..f1026f6 100644 --- a/resources/groups_resources.py +++ b/resources/groups_resources.py @@ -2,6 +2,7 @@ from flask_restful import Resource, reqparse from flask import jsonify,request,json from common import redis_helper,utils from wechat import gewe_chat +import threading @@ -14,4 +15,32 @@ class GetGroupsInfoResource(Resource): req = request.get_json() wxid = req.get("wxid") groups=self.wxchat.get_groups_info_from_cache(wxid) - return jsonify(groups) \ No newline at end of file + return jsonify(groups) + + + +class GetGroupMemberList(Resource): + def __init__(self): + self.parser = reqparse.RequestParser() + self.wxchat = gewe_chat.wxchat + + def post(self): + req = request.get_json() + wxid = req.get("wxid") + chatroom_id=req.get("chatroomId") + _,loginfo=utils.get_login_info_by_wxid(wxid) + token_id=loginfo.get('tokenId') + app_id=loginfo.get('appId') + + ret, msg, data = self.wxchat.get_group_memberlist(token_id, app_id, chatroom_id) + if ret != 200: + response = jsonify({ + 'code': ret, + 'message': msg + }) + response.status_code = ret + response.message = msg + return response + thread = threading.Thread(target=self.wxchat.save_groups_members_to_cache, args=(token_id, app_id,wxid, [chatroom_id])) + thread.start() + return jsonify(data) diff --git a/resources/messages_resource.py b/resources/messages_resource.py index 04ea4ce..db3062c 100644 --- a/resources/messages_resource.py +++ b/resources/messages_resource.py @@ -168,7 +168,8 @@ def handle_name_card(token_id,app_id, wxid,msg_data,from_wxid, to_wxid): #gewe_chat.wxchat.enqueue_to_add_contacts(wxid,scene,v3,v4) nickname=utils.get_login_info_by_wxid(wxid).get('nickName') add_contact_content=f'您好,我是{nickname}' - gewe_chat.wxchat.add_contacts(token_id,app_id,scene,Models.OperationType.ADD_FRIEND,v3,v4,add_contact_content) + #gewe_chat.wxchat.add_contacts(token_id,app_id,scene,Models.OperationType.ADD_FRIEND,v3,v4,add_contact_content) + gewe_chat.wxchat.add_contacts(token_id,app_id,scene,2,v3,v4,add_contact_content) except ET.ParseError as e: logger.error(f"XML解析错误: {e}")