生成小程序码并携带参数

我们平时在开发微信小程序时,会遇到如下场景,需要制作某个推广链接,然后需要生成一个专属小程序码,扫描这个专属二维码时,获取到推广的链接携带的参数跳转到指定的界面。这个看似很难,其实特别简单,阅读微信官方的接口就很容易弄明白,获取小程序的appid和小程序的secret,然后生成token,再通过这个token请求微信那边的生成小程序码的接口,完事!

第一步:检测token是否存在于redis中且没有过期,如果都满足就直接到下一步,否则就通过接口获取token后将token存入redis。第二步:调用token,设置生成小程序码的页面、参数、和版本(开发版、体验版、正式版),生成小程序码。生成的小程序码是二进制内容,可以转换成base64编码后存入redis方便调用,也可以直接展示为图片或直接保存为图片。

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$getToken = $redis->exists("Token");
if ($getToken==0){$appid = '小程序appid';$secret = '小程序secret';$urlss = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $urlss);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);curl_close($ch);$redis->set("Token", $output);$redis->expire("Token","7000");
}
$tk = json_decode($redis->get("Token"))->access_token;$urlss = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$tk;
$ch = curl_init();
$datass = json_encode(array("page"=>"pages/login/login","env_version"=>"develop", "scene"=>"aa&bb&cc"));
curl_setopt($ch, CURLOPT_URL, $urlss);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $datass);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$output1 = curl_exec($ch);
curl_close($ch);

转换成base64编码

$imgUrl = 'data:image/jpg;base64,'.base64_encode($output1);

直接在页面显示为图片

header("Content-type: image/jpg;charset=gb2312");
echo $output1;

保存为图片

$url = "test.jpg";
file_put_contents($url, $output1, true);

PHP生成带参数的小程序码相关推荐

  1. 基于thinkphp6的上传excel批量生成带参数的小程序码功能

    前言 最近公司说要帮人生成一批一店一码的小程序码,本来想找第三方生成一下就好了,奈何数量有点多,满足此需求的只有某料二维码,但某料二维码批量上传生成小程序码需要小程序的管理员授权,因为某些原因,拿不到 ...

  2. 微信小程序如何批量生成带参数的小程序码,无需开发

    工作中遇到一个需求,批量生成小程序码,但是通过微信公众平台生成只能一次生成一张,如果通过小程序提供是接口去调用太费事了而且文档不全面,所以最终找到了一个第三方的网站-草料二维码生成器,使用后还不错,分 ...

  3. 微信小程序通过云函数生成带参数的小程序码

    小程序云开发还是挺强大啊,以前动不动就需要后端攻城狮进行操作,现在没后端啥事了,但是头发却开始紧张了啊!o(╥﹏╥)o 公众平台模式: 在没有用云函数时,只能先在微信公众平台去生成带参数的小程序码,接 ...

  4. h5生成带参数的小程序二维码,在小程序上获取生成的参数验证

    生成二维码后,保存下来,在微信开发者工具中点击添加编译模式, const en = encodeURIComponent("phone=15526262525&name=莹莹& ...

  5. 批量生成100万张小程序码?了解一下。

    引言 最近有一个生成很多小程序码的需求,生成的小程序码还要嵌入在指定的图片模板上,就去找轮子,没找到合适的轮子..无奈之下就决定去撸一个.目前已经完成并发布npm. Github:github.com ...

  6. 微信生成带参数的二维码,合成海报,扫码后推送小程序?

    微信服务号渠道二维码功能,支持生成带参数二维码,合成海报二维码,微信扫码后推送内容:结合微号帮平台48小时信息推送,推送微信小程序. 带参二维码 海报二维码 微信扫码后回复 48小时信息推送 在微号帮 ...

  7. 微信公众号怎么生成带参数的二维码?

    每位运营过微信公众平台的野生小编都知道,微信提供给开发者的文档是很高深的,最近为了弄个带参数的二维码,同样技术小白的小编也死了不少脑细胞了,然而我终于知道官方生成带参数的二维码的方法了. 1.注意事项 ...

  8. 微信公众号之生成带参数的二维码

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

  9. asp生成带参数的二维码并合成推广海报图片,asp合并合成推广海报图片asp代码

    最近做的一个项目中,客户要求用asp生成二维码,然后合并到一张背景图片上,合并生成一张推广海报来,可把我愁坏了,经过一个晚上的努力,成功了,下面把这个:asp生成带参数的二维码并合成推广海报,asp合 ...

最新文章

  1. 如何在1分钟内CSDN收益1000万,走上人生巅峰?!
  2. 按下回车表示确定提交
  3. 凝聚406万开发者 飞桨十大发布提速产业智能化
  4. 关于使用DataGrid的ButtonColumn,动态添加DataGrid列,实现不定列n个文件的下载功能...
  5. 移动开发平台性能比較
  6. Dropwizard:轻松的RESTful JSON HTTP Web服务
  7. 解决:Connect to xx.xx.xxx.xx :8081 [/xx.xx.xx.xx] failed: Connection refu sed: connect -> [H
  8. 实验楼python挑战答案_python基础知识
  9. 骚年快醒醒,你适合转行做前端吗?
  10. Xcode误删Images.xcassets文件夹的恢复办法(Assets.xcassets)
  11. 深入浅出 妙用Javascript中apply、call、bind
  12. 程序员简历大曝光,让HR哭笑不得,网友:太老实了!
  13. 20个令程序员泪流满面的瞬间
  14. 30个值得推荐的数据可视化工具--转
  15. 树莓派小车简单的迷宫算法-基于Python设计
  16. 腾讯云服务器IP地址绑定域名步骤
  17. 18、【易混淆概念集】第十一章2 实施定量风险分析 模拟、敏感性分析、决策树分析 风险应对策略 消极/威胁应对策略 积极/机会风险应对策略 开拓和提高的区别
  18. Java学习路线:day6 数组
  19. Java毕业设计_基于SSM的美食食谱分享网站的设计与实现
  20. 请介绍一下ivac 2L

热门文章

  1. HTML-table标签属性
  2. mac系统vscode配置c/c++环境
  3. canvas 圆角矩形填充_详解微信小程序canvas圆角矩形的绘制的方法
  4. AtomicInteger如何保证线程安全?
  5. yolo测试图片批量裁剪+pad指定尺寸
  6. 劳务派遣和劳务外包的区别
  7. 快速分辨订单号生成工具
  8. ubuntu--基础环境瞎搞集合
  9. ipad air激活服务器暂时不可用,iPad Air用户注意 有这个问题苹果可能免费修
  10. Achain 生态发展缓慢