微信小程序中用Python生成二维码的两种方式
本篇文章给大家带来的内容是关于微信小程序中用Python生成二维码的两种方式 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
微信小程序生成二维码:
所用语言python,有两种方式:
1: 后端传一段字符串给前端, 前端显示
2: 后端直接生成图片
1: 后端传一段字符串给前端, 前端显示def get_wxCode(Request, UserInfo):try:scene = Request["scene"]access_token = get_wxCode_token()if not access_token:return Falsetextmod = {"scene": scene, "page": "pages/index/main", "width": 430, "auto_color": True, "is_hyaline": False}textmod = json.dumps(textmod).encode(encoding='utf-8')header_dict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',"Content-Type": "application/json"}url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + access_tokenreq = request.Request(url=url, data=textmod, headers=header_dict)res = request.urlopen(req)res = res.read()b64str = base64.b64encode(res)return b64strexcept Exception as e:print(e)return Falsevar getWXcode2 = function(hostname){//获取管理端小程序码//动态获取域名,若为本地环境,则默认携带参数为wx-test//示例:londex.i-plc.cnvar hostname1 =window.location.host;hostname1 = hostname1.split('.')[0];if(hostname1 == '127' || hostname1 == 'localhost'){hostname1 = hostname;}if(window.localStorage.getItem('wxcode2')){$('#wxcodeImg2').attr('src','data:image/png;base64,'+ window.localStorage.getItem('wxcode2'));$('#wxCodeModal2').modal('show');return;}var params = {"scene":hostname1,};$.ajax({type:'post',url:'/request?rname=i_plc.Page.wechat_api.wechat.get_wxCode',data:params,success:function (res) {console.log(res)if(res === false){$.MessageBox.notify('warn', '获取失败,请稍后再试!');}else{console.log(res)$('#wxcodeImg2').attr('src','data:image/png;base64,'+res);$('#wxCodeModal2').modal('show');window.localStorage.setItem('wxcode2',res)}}});};2: 后端直接生成图片def get_wxCode(Request, UserInfo):"""生成小程序二维码:param Request::param UserInfo::return:"""result = {"success": False}try:# scene = Request["scene"]access_token = get_wxCode_token()if not access_token:raise Exception("access_token")compid = Request["compid"]sql = "select compIndex from company where operationFlag=9 and compID=%s" % compidResult = SqlRun(sql)if Result["Data"] and Result["Data"][0] and Result["Data"][0][0]:scene = Result["Data"][0][0]textmod = {"scene": scene, "page": "pages/index/main", "width": 430, "auto_color": True, "is_hyaline": False}textmod = json.dumps(textmod).encode(encoding='utf-8')header_dict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',"Content-Type": "application/json"}url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + access_tokenreq = request.Request(url=url, data=textmod, headers=header_dict)res = request.urlopen(req)res = res.read()b64str = base64.b64encode(res)imgdata=base64.b64decode(b64str)path = "static/tmpfiles/scan_%s.png" % file_namefile = open(os.path.join(settings.BASE_DIR, path,), 'wb+')file.write(imgdata)file.close()result["code_url"] = pathresult["success"] = Trueexcept Exception as e:result["error_msg"] = str(e)return json.dumps(result)def get_wxCode_token():try:textmod = {"grant_type": "client_credential","appid": "wx44a452fb08b0a990","secret": "9aedb0a274027bdd09612fbde3298129"}textmod = parse.urlencode(textmod)header_dict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko'}url = 'https://api.weixin.qq.com/cgi-bin/token'req = request.Request(url='%s%s%s' % (url, '?', textmod), headers=header_dict)res = request.urlopen(req)res = res.read().decode(encoding='utf-8')res = json.loads(res)access_token = res["access_token"]return access_tokenexcept Exception as e:print(e)return False相关推荐:
微信小程序PHP生成带参数二维码
微信小程序用户点击按钮生成带参二维码的示例代码以上就是微信小程序中用Python生成二维码的两种方式的详细内容,更多请关注小潘博客其它相关文章!