|
- from flask_restful import Resource, reqparse
- from flask import jsonify,request,json
- from common import redis_helper,utils
- from wechat import gewe_chat,biz
- from common.log import logger, log_exception
- import time
-
-
-
- class GetLoginInfoResource(Resource):
- def __init__(self):
- self.parser = reqparse.RequestParser()
- self.wxchat = gewe_chat.wxchat
-
- def post(self):
- req = request.get_json()
- tel = req.get("tel")
- config=self.wxchat.get_login_info_from_cache(tel)
- return jsonify(config)
-
-
- class LoginWxCaptchCodeResource(Resource):
- def __init__(self):
- self.parser = reqparse.RequestParser()
- self.wxchat = gewe_chat.wxchat
-
- def post(self):
- req = request.get_json()
- token_id = req.get("token_id")
- captch_code= req.get("captch_code")
- res=self.wxchat.save_login_wx_captch_code_to_cache(token_id,captch_code)
- return jsonify(res)
-
- class GetLoginWxQRCodeResource(Resource):
- def __init__(self):
- self.parser = reqparse.RequestParser()
- self.wxchat = gewe_chat.wxchat
-
- def post(self):
- req = request.get_json()
- token_id = req.get("tokenId")
- 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": base64_string,
- "expiredTime": expried_time,
- }
- return jsonify(data)
-
|