宝哥软件园

微信小程序生成携带参数的二维码

编辑:宝哥软件园 来源:互联网 时间:2021-08-19

第一步第二步都要必须由后端完成,返回图片地址给前端!原因?如下图:

想了解,想尝试的可以看看:

第一步:获取ACCESS_TOKEN

//这一步前端可以试试请求玩玩,一般由后端获取访问令牌。后端请求微信应用程序接口接口时会用到这个access_Token,前端

再请求会造成重复请求,会使之前的访问令牌过期。

第二步:获取小程序二维码并渲染:

小程序应用程序接口地址

wx。请求({//URL : ' https://API。微信。QQ。com/wxa/getwx代码?access_token=' accessToken,//a//URL : ' https://API。微信。QQ。com/wxa/getwxacodeunlimit?access_token=' accessToken,//b URL : 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token' accessToken,//c method: 'POST ',数据: { ' path ' : '/page/index/index?openid=' openid,//携参数openid 'width': '430' },responseType: 'arraybuffer ',success : function(RES){ console。日志(RES . data)//二维码那个。setdata({二维码: RES . data })},fail : function(RES){ console。日志('失败')})最后结果会出现小程序乱码,(这是个二进制流文件):

解决?

可以利用微信小程序拓展接口,(后台转二进制流也是可以的,后台获取后,直接保存为图片,然后将图片路径返回给前台)。

wx。arraybuffertobase64(arrayBuffer)可以将二进制流转为base64,拓展接口方法地址

//前端请求完整方法:

wx。请求({//URL : ' https://API。微信。QQ。com/wxa/getwx代码?access_token=' accessToken,//a//URL : ' https://API。微信。QQ。com/wxa/getwxacodeunlimit?access_token=' accessToken,//b URL : 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token' accessToken,//c method: 'POST ',数据: { ' path ' : '/page/index/index?openid=' openid,//携参数openid 'width': '430' },responseType: 'arraybuffer ',//arraybuffer是以数组的语法处理二进制数据,称为二进制数组成功:函数(RES){让数据=wx。arraybuffertobase64(RES . data);那个。setdata({ QR码: ' data : image/png;base64,' data }) },fail : function(RES){ console。日志(' fail ')} })wxml文件:

图像src=' { {二维码}}' /这样二维码就可以出现了,

首页获取二维码参数

onLoad:函数(选项){//控制台。日志(选项。OpenID)if(选项。OpenID){ wx。setstorageync(' OpenID ',options.openid) //将信息缓存}}要使用的时候,拿缓存则:让OpenID=wx。getstorage ync(' OpenID ');

如果后端给你传的是base64?

那么恭喜你,本该传图片路径给你.

解决base64图片显示的方法:

var数组=wx。base64 tarraybuffer(RES . data。数据)var base64=wx。arraybuffertbase64(array)if(RES . status code==200){ that。setdata({ QR码: '数据:图像/JPEG;base64 、' base64 、//数据为接口返回的base64字符串})}附:前端请求获取访问令牌与小程序二维码(试试)

wx.request({ //获取令牌网址: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential ',data: { appid: '*** ',//小程序appid secret: '***' //小程序秘钥},成功(RES){//RES . data。access _ token wx。请求({ URL : 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access _ token=' RES . data。access _ token,method: 'POST ',数据: { ' path ' : '/pages/index/index ',' width': 430 },success(RES){ console。日志(RES . data)//后台转二进制流,后台获取后,直接保存为图片,然后将图片路径返回给前台//前端转,如上} }) } })以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+