### [微信小程序中用Python生成二维码的两种方式](https://www.prosaas.cn/article/17044) **Published:** 2018-09-10T06:33:54 **Author:** 5201314 **Excerpt:** 本篇文章给大家带来的内容是关于微信小程序中用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 False 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\_token req = request.Request(url=url, data=textmod, headers=header\_dict) res = request.urlopen(req) res = res.read() b64str = base64.b64encode(res) return b64str except Exception as e: print(e) return False var getWXcode2 = function(hostname){ //获取管理端小程序码 //动态获取域名,若为本地环境,则默认携带参数为wx-test //示例:londex.i-plc.cn var 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" % compid Result = 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\_token req = 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\_name file = open(os.path.join(settings.BASE\_DIR, path,), 'wb+') file.write(imgdata) file.close() result\["code\_url"\] = path result\["success"\] = True except 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\_token except Exception as e: print(e) return False 相关推荐: 微信小程序PHP生成带参数二维码 微信小程序用户点击按钮生成带参二维码的示例代码 以上就是微信小程序中用Python生成二维码的两种方式的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 后端开发 ---