前言:

想要获取微信小程序带参数二维码,如这种:

官方文档只说了获取小程序码和二维码的三种接口及调用(参考链接:https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html),但是自己模拟接口调用,返回的数据并不是我们现象中base64位的图片类型,而是一堆乱码。如下图:

经过百度得知这就是一个二进制的流文件,需要后端进行相应转换(感兴趣的可以查看:后端转换二进制流为图片的地址),感觉自己转换还挺麻烦的,最后采用了火狐浏览器插件的方式进行转换了,很快速的得到了想要的二维码。

注:由于需要给线下物料提供方形二维码,这里以接口C为例进行说明。

准备工作:

下载安装火狐浏览器。

一. 获取access_token:

1. 获取appid、secret:

小程序后台——设置——开发设置界面查询appid、secret(没技术含量,不懂的可以百度)

2. 打开微信公众平台接口调试工具,接口列表选择“获取access_token接口/token”,然后填写appid,secret,点击下边“检查问题”按钮;

3. 点击下边“检查问题”按钮之后,能看到按钮下边的响应数据,响应数据中已经有access_token的值了,复制这个值出来,下边就是使用火狐浏览器的插件获取小程序二维码了。

二. 安装火狐浏览器测试接口插件(RESTClient)

1. 安装火狐浏览器,点击右上角菜单图标,在弹出的快捷菜单中选择“附加组件”:

2. 点击“查看更多附加组件”:

3. 搜索“RESTClient”,搜索结果中点击进入“RESTClient”:

4. 点击——添加到Firefox:

5. 等待插件安装完成;

6. 插件安装完成之后,浏览器右上角会新增一个暗红色的图标,如图:

这个图标就是“RESTClient”入口了。

三. 生成小程序二维码:

1. 点击火狐浏览器右上角的RESTClientD的图标:

2. 设置请求方式为“post”:

3. 设置网址格式:

点击如图圈中的图标, 下拉框点选“文件型(Blog)”——很重要,一定要设置:

PS:经验证,如果未设置网址类型,第一次从右上角插件按钮入口点进来的时候会出现一个重新选择网址类型的弹窗,引导用户设置网址类型。但是如果页面刷新过,即使没有设置网址类型,则请求也可以成功,就是返回信息会为空的。所以最好一开始就设置好。

4. 把自己前边获取到的access_token拼接到小程序二维码api,然后填写到网址这里:

5. 正文这里填写POST 参数,具体参数根据对应接口和自己需求进行相应设置:

6. 设置完成,点击网址右侧的发送按钮:

7. 查看下方http相应部分,可以看到请求成功,出现http相应内容(小程序二维码的文件流),以及Http响应预览(图形二维码);

8. 点击“HTTP响应预览”,就能看到生成的小程序二维码了。

至此,成功生成小程序二维码。

注:

1. 微信官方提供的三种接口都可以用这个工具进行图形码生成的,可以根据自己的需要生成对应的图形码;

2. 使用restclient插件,如果发送请求之后响应内容为空,如下图(即使有“文件型”),那么需要关闭当前页面,重新点击浏览器右上角的插件入口进入页面才可以。

个人原创,转载请注明来源地址:https://www.cnblogs.com/xyyt/p/9646727.html

微信小程序开发——获取小程序带参二维码全流程的更多相关文章

  1. mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案

    微信小程序概念的提出,绝对可以算得上中国IT界惊天动地的一件大事,这可能意味着一场新的开发热潮即将到来, 我也怀着激动的心情准备全身心投入其中,不过截止目前,在官方网站上下载的最新版本都无法使用,打开 ...

  2. 【转】mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案

    转自:https://www.cnblogs.com/stevenluo/p/6030445.html   微信小程序概念的提出,绝对可以算得上中国IT界惊天动地的一件大事,这可能意味着一场新的开发热 ...

  3. 微信小程序开发——使用第三方插件生成二维码

    需求场景: 小程序中指定页面需要根据列表数据生成多张二维码. 实现方案: 鉴于需要生成多张二维码,可以将生成二维码的功能封装到组件中,直接在页面列表循环中调用就好了.也可以给组件添加slot,在页面调 ...

  4. 小程序对于华为Oppo的canvas二维码渲染数据量大

    setTimeout(()=>{ ctx.draw(false, function (e) { options.callback && options.callback(e); ...

  5. 微信蓝牙设备开发教程之获取设备deviceid和二维码(3)

    文章转载地址  http://www.vxzsk.com/87.html  设备授权 调用 设备授权新接口 ,获取deviceid和二维码,然后利用获取到的deviceid更新设备属性(如mac地址, ...

  6. 微信获取ticket及生成二维码(临时或永久)

    微信获取ticket及生成二维码(临时或永久) curl.php---- define("APPID",""); define("APPSECRET& ...

  7. java、python、golang等开发语言如何快速生成二维码?

    免费二维码生成途径非常多!比如比较有名的草料二维码,如果只是简单的使用,用它就足够了.但是如果想大规模的生成,那就不太合适了.再者很多工具都没办法在二维码中加入logo(像微信二维码一样). 接下来, ...

  8. 微信小程序开发工具使用与设计规范(二)

    [未经作者本人同意,请勿以任何形式转载] 上一篇文章主要分析了微信小程序应用场景和优劣势.本篇你可以学习到: 如何使用小程序开发工具写一个Hello World 微信小程序设计规范 微信小程序项目结构 ...

  9. 微信小程序开发 [01] 小程序基本结构和官方IDE简介

    1.小程序账户注册 实际上在进行开发时没有注册小程序账户也是可以的,官方提供的IDE提供实时编译模拟预览,和当前你有没有绑定小程序账户没有关系. 当然,最终你要正式上线你的小程序的话,肯定还是需要账户 ...

随机推荐

  1. java中线程池的使用

    public static ExecutorSevice newSingleThreadExecutor() public static ExecutorSevice newFixedThreadPo ...

  2. day03-变量

    Python中的变量类型有: int:带正负号的整数long:在python2中表示长整数,在python3中被放弃complex:复数str:字符串True,False:布尔list:列表dict: ...

  3. leetcode解题报告 32. Longest Valid Parentheses 动态规划DP解

    dp[i]表示以s[i]结尾的完全匹配的最大字符串的长度. dp[] = ; ; 开始递推 s[i] = ')' 的情况 先想到了两种情况: 1.s[i-1] = '(' 相邻匹配 这种情况下,dp ...

  4. WebStorm新创建项目介绍

    WebStorm创建一个项目 这里支持有很多的类型项目: Empty Project         ----一个空的项目 Html5 Boilerplate     ----HTML5开发框架 We ...

  5. 最干净,最便捷的卸载Mysql

    由于没有卸干净Mysql,用一下就崩溃了,使用这个步骤,都不用重装系统 1,停止Mysql服务,卸载MySQL 2,删除安装目录及数据存放目录 注: 默认安装路径:C:\Program Files\M ...

  6. 多线程 死锁 wait(int i) notifyAll()

    public class ThreadDemo5 { public static void main(String[] args){ Pool pool = new Pool(); Productor ...

  7. Django使用自定义的authentication登录认证

    import ldap class LDAPMgmt(): def __init__(self): self.ldap_host = 'xxx' self.ldap_base_dn = 'ou=xx, ...

  8. Java学习04 (第一遍)

    封装.抽象.继承和多态.封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属 ...

  9. CSS 字体术语

    字体有些术语需要了解. 衬线字体 衬线字体指的是有衬线的字体,又称为有衬线体.衬线字.曲线描边字,俗称白体字. 衬线指的是字形笔画末端的装饰细节部分. 衬线字体便于阅读,通常用于长篇文本. 常见的衬线 ...

  10. SPSS-判别分析

    判别分析 判别分析是一种有效的对个案进行分类分析的方法.和聚类分析不同的是,判别分析时组别的特征已知. 定义:判别分析先根据已知类别的事物的性质,利用某种技术建立函数式,然后对未知类别的新事物进 行判 ...