近期的项目中,需要生成小程序的推广二维码,用于用户推广来方便进行绩效考核,下面分享整个生成过程的主要代码:

后端代码(PHP)

    // 获取accesstokenprotected function getAccessToken(){$code = $this->data['code'];$url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secrect."&js_code=".$code;$return = curlGet($url);return json_decode($return,true);}// 生成推广二维码public function createQRcode(){$tokenReturn = $this->getAccessToken();$accessToken = $tokenReturn['access_token'];$data = [];$data['scene'] = $_POST['scene'];$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$accessToken;$return = curlPost($url,$data,5,'','json');echo($return);}/*** CURL GET数据* @param  string  $url     访问地址* @param  integer $timeout 超时秒* @param  string  $header  头信息* @return string*/public function curlGet($url,$timeout=5,$header="") {$header=empty($header)?self::defaultHeader():$header;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  curl_setopt($ch, CURLOPT_HTTPHEADER, array($header));$result = curl_exec($ch);curl_close($ch);return $result;}/*** CURL POST数据* @param  string  $url       发送地址* @param  array   $post_data 发送数组* @param  integer $timeout   超时秒* @param  string  $header    头信息* @return string*/public function curlPost($url, $post_data=array(), $timeout=5,$header="",$format="") {$header=empty($header)?'':$header;if(!is_array($header)){$header = array($header);}if($format=='json'){$post_string = json_encode($post_data);}else{$post_string = http_build_query($post_data);}$ch = curl_init();curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);$result = curl_exec($ch);$error = curl_error($ch);self::checkErr($result,$error);curl_close($ch);return $result;}

小程序端

        // 请求API获取小程序码wx.request({url: url,method: 'post',data: {scene:'参数值'}, //传入小程序码参数header: header,responseType:'arraybuffer',success(res) {let url = wx.createBufferURL(res.data)that.setData({qrcode: url})},fail(err) {//请求失败console.log(err)}})
<image src="{{qrcode}}" mode="widthFix"></image>

以上代码用到:

wxacode.getUnlimited

auth.getAccessToken

wx.createBufferURL

微信小程序生成推广二维码相关推荐

  1. 【微信小程序】二维码跳转规则的前缀匹配是什么意思?

    前言 基础库 2.12.0 开发者工具 1.03.2008270 微信小程序的二维码跳转规则 为了方便小程序开发者更便捷地推广小程序,兼容线下已有的二维码,微信公众平台开放扫描普通链接二维码跳转小程序 ...

  2. 微信小程序获取二维码中URL中带的参数

    解析微信小程序获取二维码中的url参数 onLoad: function (options) { console.log(options) let qrUrl = decodeURIComponent ...

  3. 小程序推广二维码生成

    小程序推广二维码生成 <?php$appid = '***************';$secret ='********************************';$url = &qu ...

  4. 微信小程序普通二维码解析

    1.区别于微信小程序官方二维码是直接从onLoad的 options 解构出来就行,它是一个对象,这个大家都知道. 2.普通二维码 也是从onLoad的 options 里解构出来,此时options ...

  5. 微信小程序扫描二维码或者条码

    程序是需要扫描条形码然后跳转到对应的产品信息页,其实微信小程序就有一个扫码识别的API,下面一起来看看: wx.scanCode(Object object) 调起客户端扫码界面进行扫码. 示例代码: ...

  6. 微信小程序转二维码方法分享

    微信小程序转二维码方法分享 需要转码的可以看看 这个东西是看个人需求的,618就要来了,各种活动也将来袭 有些小伙伴不知道怎么生成 为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法 首 ...

  7. 微信小程序分享二维码生成

    生成微信小程序分享二维码 微信小程序官方开放的二维码的接口,其中有一个是生成小程序二维码的,还有一个是圆形的小程序码,我这里就用php生成二维码. 完整代码: public function shar ...

  8. C#生成微信小程序文章二维码

    /// <summary>/// 获取access_token/// </summary>/// <returns></returns>[HttpGet ...

  9. 微信小程序获取二维码接口整理,.Net Core后台获取小程序二维码

    2019独角兽企业重金招聘Python工程师标准>>> 一.关于二维码接口说明 参考:https://my.oschina.net/tianma3798/blog/1811307 获 ...

  10. 微信小程序获取二维码

    原文链接:https://blog.csdn.net/w410589502/article/details/77702358/ 版权归原有博主,此处为了方便自己是查看,故copy一份,B接口调用,亲测 ...

最新文章

  1. Linuxmingl
  2. 经典!MATLAB线性等分linspace()函数,精确等分点数
  3. BlockChain:区块链技术基础概念综合理解——个人总结
  4. 大数据算法:对5亿数据进行排序
  5. websocket传输canvas图像数据给C++服务端opencv图像实现web在线实时图像处理
  6. 逻辑漏洞之修改响应包绕过登录校验
  7. SDK 和 API
  8. 初级Java开发面试必问项!!! 标识符、字面值、变量、数据类型,该学学了!
  9. 越老越值钱,除了程序员!
  10. js日期控件_11个开源的Github开源日期选择器组件,供你选择
  11. Unity V3 初步使用 —— 为我的.NET项目从简单三层架构转到IOC做准备
  12. C语言源代码系列-管理系统之物业费管理
  13. html支付宝图标,支付宝小程序基础组件 图标·Icon
  14. hdu-2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191(多重背包)
  15. android 百度地图大头针,百度地图API 地理位置获取和大头针显示当前位置
  16. x64dbg安装xAnalyzer插件失败问题解决
  17. 【Linux】服务器部署:阿里云服务器购买配置与报价参考
  18. c语言tab什么意思_C语言所有的知识点干货
  19. H5+CSS3实现官网首页--视频全屏背景
  20. 重启docker卡死问题解决systemctl start docker卡住不动

热门文章

  1. 百度移动开放平台认领应用--apk 空包签名
  2. win10电脑网速慢怎么解决
  3. 解决“VS2015安装包丢失或损坏“问题
  4. 联想锁屏壁纸缓存文件夹目录
  5. vue lic在element-ui中使用阿里巴巴矢量图标库iconfont图标
  6. 转载:【Gradle教程】Gradle 基础入门
  7. Mat常用构造函数及IplImage 与Mat 之间的相互转换
  8. Win10驱动数字签名的解决办法
  9. kmeans聚类算法如何选k值?
  10. 2010年中考英语写作高分指导