Cet article vous propose deux façons d'utiliser Python pour générer des codes QR dans les mini-programmes WeChat. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
L'applet WeChat génère un QR code :
Le langage utilisé est python, il y a deux manières :
1 : Le backend passe une chaîne au frontend, et le frontend affiche
2 : Le backend génère directement des images
1 : Le backend passe une chaîne au frontend, et le frontend affiche
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 : Le backend génère directement des images
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
Recommandations associées :
L'applet WeChat PHP génère un code QR avec des paramètres
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!