小程序模板网

微信小程序--检查接口状态、获取二维码

2018-04-21 红绿灯
1、检查接口状态
// 检查接口是否可用
wx.getSetting({
  success(res) {
    if (!res['scope.record']) {
      // 接口调用询问
      wx.authorize({
        scope: 'scope.userInfo', 
        success(res) {
          wx.startRecord()    // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
        },
        fail() { },
        complete() { }
      })
    }
  }
})


scope: 'scope.userInfo',   // 用户信息 wx.getUserInfo
scope: 'scope.userLocation',   // 地理位置 wx.getLocation, wx.chooseLocation
scope: 'scope.address',    // 通讯地址 wx.chooseAddress
scope: 'scope.record',   // 录音功能 wx.startRecord
scope: 'scope.writePhotosAlbum'   // 保存到相册  wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum

2、获取二维码

理论:

接口A: 适用于需要的码数量较少的业务场景 接口地址:(永久有效,数量有限,进入path对应的页面)

https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
    path    String      不能为空,最大长度 128 字节
    width   Int     430(默认)     二维码的宽度
    auto_color  。。
    line_color  。。

接口B:适用于需要的码数量极多,或仅临时使用的业务场景(永久有效,数量暂无限制,将统一打开首页)

http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
    scene   String  最大32个可见字符
    width   Int     430(默认)     二维码的宽度
开发者需在首页根据获取的码中 scene 字段的值,再做处理逻辑。如下示例
Page({
  onLoad: function(options) {
    var scene = options.scene
  }
})

接口C:适用于需要的码数量较少的业务场景(永久有效,数量有限,进入path对应的页面)

https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
    path    String      不能为空,最大长度 128 字节
    width   Int     430(默认)     二维码的宽度

Bug & Tip

    tip:调用接口,POST传参。
    tip:通过该接口,仅能生成已发布的小程序的二维码。
    tip:可以在开发者工具预览时生成开发版的带参二维码。
    tip:接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用。
    tip: POST 参数需要转成 json 字符串,不支持 form 表单提交。
    tip: auto_color line_color 参数仅对小程序码生效。

代码

1.接口需要access_token,access_token是公众号的全局唯一接口调用凭据。 
2.access_token的存储至少要保留512个字符空间。 
3.access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

wx.request({
  // 获取token
  url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential',
  data: {
    appid: '***',
    secret: '***'
  },
  success(res) {
    wx.request({
      // 调用接口C
      url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + res.data.access_token,
      method: 'POST',
      data: {
        "path": "pages/meiTuan/meiTuan",
        "width": 430
      },
      success(res) {
        // res是二进制流,后台获取后,直接保存为图片,然后将图片返回给前台
        // 后台二进制怎么转图片?我也不会后台,学会了再贴代码
      }
    })
  }
})


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/23817.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询