|
@@ -300,7 +300,7 @@ def login_or_reconnect(wxchat:gewe_chat.GeWeChatCom, token_id, app_id, region_id |
|
|
uuid = qr_code.get('uuid') |
|
|
uuid = qr_code.get('uuid') |
|
|
if not uuid: |
|
|
if not uuid: |
|
|
logger.error(f"uuid获取二维码失败: {qr_code}") |
|
|
logger.error(f"uuid获取二维码失败: {qr_code}") |
|
|
redis_helper.redis_helper.release_lock(f"__AI_OPS_WX__:LOGINLOCK:{token_id}") |
|
|
|
|
|
|
|
|
wxchat.release_login_lock(token_id) |
|
|
break |
|
|
break |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -341,7 +341,7 @@ def login_or_reconnect(wxchat:gewe_chat.GeWeChatCom, token_id, app_id, region_id |
|
|
# login_info.update({"login_time":datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3]}) |
|
|
# login_info.update({"login_time":datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3]}) |
|
|
cleaned_login_info = {k: (v if v is not None else '') for k, v in login_info.items()} |
|
|
cleaned_login_info = {k: (v if v is not None else '') for k, v in login_info.items()} |
|
|
redis_helper.redis_helper.set_hash(hash_key, cleaned_login_info) |
|
|
redis_helper.redis_helper.set_hash(hash_key, cleaned_login_info) |
|
|
redis_helper.redis_helper.release_lock(f"__AI_OPS_WX__:LOGINLOCK:{token_id}") |
|
|
|
|
|
|
|
|
wxchat.release_login_lock(token_id) |
|
|
return login_info |
|
|
return login_info |
|
|
else: |
|
|
else: |
|
|
logger.info(f"登录检查中: {ret}-{msg}-{res}") |
|
|
logger.info(f"登录检查中: {ret}-{msg}-{res}") |
|
@@ -349,7 +349,7 @@ def login_or_reconnect(wxchat:gewe_chat.GeWeChatCom, token_id, app_id, region_id |
|
|
|
|
|
|
|
|
time.sleep(5) |
|
|
time.sleep(5) |
|
|
logger.error(f"登录失败,二维码生成 {max_retries} 次") |
|
|
logger.error(f"登录失败,二维码生成 {max_retries} 次") |
|
|
redis_helper.redis_helper.release_lock(f"__AI_OPS_WX__:LOGINLOCK:{token_id}") |
|
|
|
|
|
|
|
|
wxchat.release_login_lock(token_id) |
|
|
|
|
|
|
|
|
def fetch_and_save_contacts(wxchat:gewe_chat.GeWeChatCom, token_id, app_id, hash_key): |
|
|
def fetch_and_save_contacts(wxchat:gewe_chat.GeWeChatCom, token_id, app_id, hash_key): |
|
|
""" |
|
|
""" |
|
@@ -420,14 +420,19 @@ def ops_messages_process(message): |
|
|
tel=content_data.get('tel', '18029274615') |
|
|
tel=content_data.get('tel', '18029274615') |
|
|
token_id=content_data.get('token_id', 'f828cb3c-1039-489f-b9ae-7494d1778a15') |
|
|
token_id=content_data.get('token_id', 'f828cb3c-1039-489f-b9ae-7494d1778a15') |
|
|
region_id=content_data.get('region_id', '440000') |
|
|
region_id=content_data.get('region_id', '440000') |
|
|
#wx_login(wxchat,tel,token_id) |
|
|
|
|
|
flag=redis_helper.redis_helper.acquire_lock(f"__AI_OPS_WX__:LOGINLOCK:{token_id}", expire_time=800, timeout=830) |
|
|
|
|
|
|
|
|
loginfo=redis_helper.redis_helper.get_hash(f"__AI_OPS_WX__:LOGININFO:{tel}") |
|
|
|
|
|
status=loginfo.get('status',0) |
|
|
|
|
|
if status==1: |
|
|
|
|
|
logger.info(f'手机号{tel},wx_token{token_id} 已经登录') |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
flag=gewe_chat.wxchat.acquire_login_lock(token_id,800) |
|
|
if flag: |
|
|
if flag: |
|
|
thread = threading.Thread(target=wx_login, args=(wxchat,tel,token_id,region_id)) |
|
|
thread = threading.Thread(target=wx_login, args=(wxchat,tel,token_id,region_id)) |
|
|
thread.daemon = True |
|
|
thread.daemon = True |
|
|
thread.start() |
|
|
thread.start() |
|
|
else: |
|
|
else: |
|
|
logger.info(f'登录进行中,获取锁失败 {token_id}') |
|
|
|
|
|
|
|
|
logger.info(f'手机号{tel}, wx_token{token_id} 登录进行中,稍后再试') |
|
|
elif msg_type_data == 'group-sending': |
|
|
elif msg_type_data == 'group-sending': |
|
|
agent_tel=content_data.get('agent_tel', '18029274615') |
|
|
agent_tel=content_data.get('agent_tel', '18029274615') |
|
|
# 使用线程处理 |
|
|
# 使用线程处理 |
|
|