微信小程序生成推广二维码
近期的项目中,需要生成小程序的推广二维码,用于用户推广来方便进行绩效考核,下面分享整个生成过程的主要代码:
后端代码(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
微信小程序生成推广二维码相关推荐
- 【微信小程序】二维码跳转规则的前缀匹配是什么意思?
前言 基础库 2.12.0 开发者工具 1.03.2008270 微信小程序的二维码跳转规则 为了方便小程序开发者更便捷地推广小程序,兼容线下已有的二维码,微信公众平台开放扫描普通链接二维码跳转小程序 ...
- 微信小程序获取二维码中URL中带的参数
解析微信小程序获取二维码中的url参数 onLoad: function (options) { console.log(options) let qrUrl = decodeURIComponent ...
- 小程序推广二维码生成
小程序推广二维码生成 <?php$appid = '***************';$secret ='********************************';$url = &qu ...
- 微信小程序普通二维码解析
1.区别于微信小程序官方二维码是直接从onLoad的 options 解构出来就行,它是一个对象,这个大家都知道. 2.普通二维码 也是从onLoad的 options 里解构出来,此时options ...
- 微信小程序扫描二维码或者条码
程序是需要扫描条形码然后跳转到对应的产品信息页,其实微信小程序就有一个扫码识别的API,下面一起来看看: wx.scanCode(Object object) 调起客户端扫码界面进行扫码. 示例代码: ...
- 微信小程序转二维码方法分享
微信小程序转二维码方法分享 需要转码的可以看看 这个东西是看个人需求的,618就要来了,各种活动也将来袭 有些小伙伴不知道怎么生成 为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法 首 ...
- 微信小程序分享二维码生成
生成微信小程序分享二维码 微信小程序官方开放的二维码的接口,其中有一个是生成小程序二维码的,还有一个是圆形的小程序码,我这里就用php生成二维码. 完整代码: public function shar ...
- C#生成微信小程序文章二维码
/// <summary>/// 获取access_token/// </summary>/// <returns></returns>[HttpGet ...
- 微信小程序获取二维码接口整理,.Net Core后台获取小程序二维码
2019独角兽企业重金招聘Python工程师标准>>> 一.关于二维码接口说明 参考:https://my.oschina.net/tianma3798/blog/1811307 获 ...
- 微信小程序获取二维码
原文链接:https://blog.csdn.net/w410589502/article/details/77702358/ 版权归原有博主,此处为了方便自己是查看,故copy一份,B接口调用,亲测 ...
最新文章
- Linuxmingl
- 经典!MATLAB线性等分linspace()函数,精确等分点数
- BlockChain:区块链技术基础概念综合理解——个人总结
- 大数据算法:对5亿数据进行排序
- websocket传输canvas图像数据给C++服务端opencv图像实现web在线实时图像处理
- 逻辑漏洞之修改响应包绕过登录校验
- SDK 和 API
- 初级Java开发面试必问项!!! 标识符、字面值、变量、数据类型,该学学了!
- 越老越值钱,除了程序员!
- js日期控件_11个开源的Github开源日期选择器组件,供你选择
- Unity V3 初步使用 —— 为我的.NET项目从简单三层架构转到IOC做准备
- C语言源代码系列-管理系统之物业费管理
- html支付宝图标,支付宝小程序基础组件 图标·Icon
- hdu-2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191(多重背包)
- android 百度地图大头针,百度地图API 地理位置获取和大头针显示当前位置
- x64dbg安装xAnalyzer插件失败问题解决
- 【Linux】服务器部署:阿里云服务器购买配置与报价参考
- c语言tab什么意思_C语言所有的知识点干货
- H5+CSS3实现官网首页--视频全屏背景
- 重启docker卡死问题解决systemctl start docker卡住不动