Parcourir la source

调整

develop
H Vs il y a 2 mois
Parent
révision
915253bb2a
2 fichiers modifiés avec 66 ajouts et 7 suppressions
  1. +39
    -3
      resources/login_resources.py
  2. +27
    -4
      resources/messages_resource.py

+ 39
- 3
resources/login_resources.py Voir le fichier

@@ -1,7 +1,10 @@
from flask_restful import Resource, reqparse
from flask import jsonify,request,json
from common import redis_helper,utils
from wechat import gewe_chat
from wechat import gewe_chat,biz
from common.log import logger, log_exception
import time



class GetLoginInfoResource(Resource):
@@ -39,12 +42,45 @@ class GetLoginWxQRCodeResource(Resource):
tel= req.get("tel")
region_id= req.get("regionId")
agent_token_id= req.get("agentTokenId")

loginfo=gewe_chat.wxchat.get_login_info_from_cache(tel)
status=loginfo.get('status','0')

if status=='1':
msg=f'手机号{tel},wx_token{token_id} 已经微信登录,终止登录流程'
logger.info(msg)
response=jsonify({'code': 501, 'message': msg})
response.status_code = 501
return response
expried_time=int(time.time())+800
flag=gewe_chat.wxchat.acquire_login_lock(token_id,800)
if not flag:
msg=f'手机号{tel}, wx_token{token_id} 登录进行中,稍后再试'
logger.info(msg)
response=jsonify({'code': 501, 'message': msg})
response.status_code = 501
return response
app_id=loginfo.get('app_id','')

qr_code = gewe_chat.wxchat.get_login_qr_code(token_id, app_id,region_id)
base64_string = qr_code.get('qrImgBase64')
uuid = qr_code.get('uuid')
if not uuid:
msg=f"uuid获取二维码失败,uuid: {uuid}"
gewe_chat.wxchat.release_login_lock(token_id)
logger.info(msg)
response=jsonify({'code': 501, 'message': msg})
response.status_code = 501
return response

data={
"tokenId": token_id,
"tel": tel,
"base64Img": "data:image/png;base64,"+"aaaaaa",
"expiredTime": "12345678901",
"base64Img": base64_string,
"expiredTime": expried_time,
}
return jsonify(data)

+ 27
- 4
resources/messages_resource.py Voir le fichier

@@ -319,7 +319,7 @@ def ai_chat_text(token_id,app_id,wxid,msg_data,msg_content):


if isinstance(reply_content, list) :
reply_content=reply_content[0].get('text').get("content")
reply_content=remove_markdown_symbol(reply_content[0].get('text').get("content"))

else:
reply_content=text
@@ -327,8 +327,8 @@ def ai_chat_text(token_id,app_id,wxid,msg_data,msg_content):
memory.USER_INTERACTIVE_CACHE[wxid] = {
"interactive":False
}
reply_content=res["choices"][0]["message"]["content"]
reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"])
gewe_chat.wxchat.post_text(token_id,app_id,callback_to_user,reply_content)
gewe_chat.wxchat.save_session_messages_to_cache(hash_key, {"role": "assistant", "content": reply_content})
# 回复的对话
@@ -873,8 +873,31 @@ def check_chatroom(userName):
return True
return False

# def remove_markdown_symbol(text: str):
# # 移除markdown格式,目前先移除**
# if not text or not isinstance(text, str):
# return text
# return re.sub(r'\*\*(.*?)\*\*', r'\1', text)


def remove_markdown_symbol(text: str):
# 移除markdown格式,目前先移除**
if not text or not isinstance(text, str):
return text
return re.sub(r'\*\*(.*?)\*\*', r'\1', text)
# 去除加粗、斜体等格式
#text = re.sub(r'\*\*([^*]+)\*\*', r'\1', text) # 去除加粗
text=re.sub(r'\*\*(.*?)\*\*', r'\1', text)
text = re.sub(r'\*([^*]+)\*', r'\1', text) # 去除斜体
text = re.sub(r'__([^_]+)__', r'\1', text) # 去除加粗(下划线)
text = re.sub(r'_(.*?)_', r'\1', text) # 去除斜体(下划线)
# 去除行内代码块
text = re.sub(r'`([^`]+)`', r'\1', text)
# 去除换行符\n,或者多余的空格
#text = re.sub(r'\n+', ' ', text)
# 去除列表编号等
#text = re.sub(r'^\d+\.\s*', '', text, flags=re.MULTILINE)
print(text)
return text

Chargement…
Annuler
Enregistrer