标签:__ 登录 get wxpy self 二维码 qrcode import
from flask import Flask, Response
from flask.views import MethodView
from threading import Thread
from time import sleep
from wxpy import Bot
app = Flask(__name__)
class WxLoginView(MethodView):
_qrcode = None
def get(self):
# 开启线程,不然不登录会阻塞住
Thread(target=self.login).start()
# 获取二维码,这是这个递归函数,最后返回的一定是二维码
qrcode = self.get_qrcode()
return Response(qrcode, mimetype='image/jpeg')
def login(self):
# 执行登录动作
bot = Bot(qr_callback=self.qr_callback)
def qr_callback(self, uuid, status, qrcode):
# 将拿到的二维码赋值给self._qrcode
self._qrcode = qrcode
def get_qrcode(self):
# 休眠0.1秒,等拿到了二维码之后再去返回,为了避免为空, 写成递归函数
sleep(0.1)
return self._qrcode if self._qrcode is not None else self.get_qrcode()
app.add_url_rule('/login', view_func=WxLoginView.as_view('login'))
if __name__ == '__main__':
app.run()
标签:__,登录,get,wxpy,self,二维码,qrcode,import 来源: https://www.cnblogs.com/ivy-blogs/p/12114691.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。