专栏名称: 一斤代码
目录
相关文章推荐
北京厚朴中医  ·  周二周三晚直播预告 | 附直播间入口 ·  22 小时前  
福建晋江市中医院  ·  健康养生 | ... ·  22 小时前  
北京厚朴中医  ·  厚朴电子日历 ·  2 天前  
51好读  ›  专栏  ›  一斤代码

微信小程序之生成自定义参数小程序二维码

一斤代码  · 简书  ·  · 2017-11-29 22:08

正文

请到「今天看啥」查看全文


以下步骤中的后端代码是基于Node.js进行编写,并使用了Koa 2框架。代码仅供参考。

步骤1:获取重要参数access_token

调用获取小程序二维码的REST API需要一个很重要的参数: access_token ,这是用于获取微信公众平台API访问权限的重要参数,做过微信公众号HTML5开发的朋友对其肯定非常熟悉。没接触过的话,可以看一下 微信公众平台的文档

调用微信公众平台的API,已经有很多成熟的开源SDK可以使用,从Github上可以搜到很多不同语言实现的SDK。由于我用的是Node.js开发,所以使用了 co-wechat-api

以下是使用 co-wechat-api 来获取 access_token 的基本用法:

const WechatAPI = require('co-wechat-api')

const wxAppAPI = new WechatAPI('小程序的app id', '小程序的app secret')
const token = await wxAppAPI.ensureAccessToken()

console.log(token.accessToken)

步骤2:拼接url,发送请求获取二维码图片

const fs = require('fs')
const axios = require('axios')

// 拼接url
const url = `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${token.accessToken}`

// 发送POST请求
const response = await axios.post(url, {
  page: '小程序中Page的路径',
  scene: '自定义参数,格式你自己决定'
}, { responseType: 'stream' })

// 将请求结果中的二进制流写入到本地文件qrcode.png
response.data.pipe(fs.createWriteStream('qrcode.png'))

在上面的代码中,我们将 access_token 作为query string参数拼接到url上,然后向这个url发送 POST 请求,传递的参数主要是 page scene ,其中 page 参数是扫码后进入的小程序页面路径(比如pages/index/index,并且不能携带参数),而 scene 则传入的是我们的自定义参数。







请到「今天看啥」查看全文