@@ -3,7 +3,7 @@ from flask_restful import Api,got_request_exception | |||||
from resources.messages_resource import MessagesResource | from resources.messages_resource import MessagesResource | ||||
from resources.contacts_resources import DeleteFriendResource,GetFriendsInfoResource | from resources.contacts_resources import DeleteFriendResource,GetFriendsInfoResource | ||||
from resources.config_reources import GetWxchatConfigResource ,SaveWxchatConfigResource | 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.login_resources import GetLoginInfoResource,GetLoginWxQRCodeResource,LoginWxCaptchCodeResource | ||||
from resources.sns_resources import SendSNSTextResource,SendSNSImageResource, SendSNSVideoResource | from resources.sns_resources import SendSNSTextResource,SendSNSImageResource, SendSNSVideoResource | ||||
from common.log import logger, log_exception | 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(SaveWxchatConfigResource, '/api/wxchat/saveconfig') | ||||
flask_api.add_resource(GetGroupsInfoResource, '/api/groups/getchatroominfo') | 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(GetLoginInfoResource, '/api/agent/getlogin') | ||||
flask_api.add_resource(GetLoginWxQRCodeResource, '/api/agent/getwxqrcode') | flask_api.add_resource(GetLoginWxQRCodeResource, '/api/agent/getwxqrcode') | ||||
@@ -2,6 +2,7 @@ from flask_restful import Resource, reqparse | |||||
from flask import jsonify,request,json | from flask import jsonify,request,json | ||||
from common import redis_helper,utils | from common import redis_helper,utils | ||||
from wechat import gewe_chat | from wechat import gewe_chat | ||||
import threading | |||||
@@ -14,4 +15,32 @@ class GetGroupsInfoResource(Resource): | |||||
req = request.get_json() | req = request.get_json() | ||||
wxid = req.get("wxid") | wxid = req.get("wxid") | ||||
groups=self.wxchat.get_groups_info_from_cache(wxid) | groups=self.wxchat.get_groups_info_from_cache(wxid) | ||||
return jsonify(groups) | |||||
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) |
@@ -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) | #gewe_chat.wxchat.enqueue_to_add_contacts(wxid,scene,v3,v4) | ||||
nickname=utils.get_login_info_by_wxid(wxid).get('nickName') | nickname=utils.get_login_info_by_wxid(wxid).get('nickName') | ||||
add_contact_content=f'您好,我是{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: | except ET.ParseError as e: | ||||
logger.error(f"XML解析错误: {e}") | logger.error(f"XML解析错误: {e}") | ||||