微信接口生成带参数的二维码

发布时间 - 2026-01-11 02:34:40    点击率:

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。

用户扫描带场景值二维码时,可能推送以下两种事件:

(1)如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。

(2)如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。

获取带参数的二维码的过程包括两步:(I)首先创建二维码ticket;(II)然后凭借ticket到指定URL换取二维码。

(I)首先创建二维码ticket

每次创建二维码ticket需要提供一个开发者自行设定的参数(scene_id)。

/** 
 * 首先创建二维码ticket 
 * @param string $sceneid 场景值ID 
 * @param string $type 值为'temp'的时候生成临时二维码 
 * @param string $expire_seconds 二维码过期时间 
 * @return string 二维码ticket 
 */ 
public function _getTicket($sceneid,$type='temp',$expire_seconds=604800){ 
 if($type=='temp'){ 
  $data = '{"expire_seconds": %s, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": %s}}}'; 
  $data = sprintf($data,$expire_seconds,$sceneid); 
 }else{ 
  $data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": %s}}}'; 
  $data = sprintf($data,$sceneid); 
 } 
 $curl = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$this->_getAccessToken(); 
 $content = $this->_request($curl,true,'POST',$data); 
 $cont = json_decode($content); 
  
 return $cont->ticket; 
} 

(II)然后凭借ticket到指定URL换取二维码

获取二维码ticket后,开发者可用ticket换取二维码图片。请注意,本接口无须登录态即可调用。

//然后凭借ticket到指定URL换取二维码 
public function _getQRCode($sceneid,$type='temp',$expire_seconds=604800){ 
 $ticket = $this->_getTicket($sceneid,$type,$expire_seconds); 
 $curl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.urlencode($ticket); 
 $content = $this->_request($curl); 
 return $content; 
} 

调用输出:

header('Content-type:image.jpeg'); 
$result = $wechat->_getQRCode(30); 
echo $result; 

总结

以上所述是小编给大家介绍的微信接口生成带参数的二维码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# 微信生成带参数二维码  # nodejs获取微信小程序带参数二维码实现代码  # 微信小程序 PHP生成带参数二维码  # 微信 开发生成带参数的二维码的实例  # Ajax轮询请求状态(微信公众号带参数二维码登录网站)  # php微信开发之带参数二维码的使用  # php微信开发之批量生成带参数的二维码  # 会将  # 小编  # 多个  # 在此  # 两种  # 给大家  # 还未  # 请注意  # 提供一个  # 两步  # 可以获得  # 所述  # 给我留言  # 值为  # 感谢大家  # 为了满足  # 则用  # 疑问请  # 有任何  # 后会自动 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站页面设计需要考虑到这些问题  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何在万网主机上快速搭建网站?  详解Android中Activity的四大启动模式实验简述  微信小程序 闭包写法详细介绍  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  javascript中闭包概念与用法深入理解  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel如何使用Blade组件和插槽?(Component代码示例)  香港服务器如何优化才能显著提升网站加载速度?  公司网站制作价格怎么算,公司办个官网需要多少钱?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Laravel如何使用Gate和Policy进行授权?(权限控制)  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  bing浏览器学术搜索入口_bing学术文献检索地址  如何在宝塔面板中修改默认建站目录?  如何在万网开始建站?分步指南解析  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  linux top下的 minerd 木马清除方法  PHP 500报错的快速解决方法  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  微信小程序 HTTPS报错整理常见问题及解决方案  如何在橙子建站上传落地页?操作指南详解  如何注册花生壳免费域名并搭建个人网站?  Python正则表达式进阶教程_复杂匹配与分组替换解析  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何在企业微信快速生成手机电脑官网?  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  WordPress 子目录安装中正确处理脚本路径的完整指南  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  Laravel如何处理文件下载请求?(Response示例)  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel如何处理异常和错误?(Handler示例)  MySQL查询结果复制到新表的方法(更新、插入)  大同网页,大同瑞慈医院官网?  如何在宝塔面板中创建新站点?  EditPlus中的正则表达式 实战(1)  如何快速生成橙子建站落地页链接?  如何在服务器上三步完成建站并提升流量?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel如何使用查询构建器?(Query Builder高级用法)  Python企业级消息系统教程_KafkaRabbitMQ高并发应用