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是公众号的全局唯一接口调用凭据。 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是二进制流,后台获取后,直接保存为图片,然后将图片返回给前台 // 后台二进制怎么转图片?我也不会后台,学会了再贴代码 } }) } }) |