微信小程序中用Python生成二维码的两种方式

互联网 18-9-10

本篇文章给大家带来的内容是关于微信小程序中用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生成二维码的两种方式的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 微信小程序
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:微信小程序中生成图片的代码

相关资讯