1、檢查接口狀態(tài)
// 檢查接口是否可用
wx.getSetting({
success(res) {
if (!res['scope.record']) {
// 接口調用詢問
wx.authorize({
scope: 'scope.userInfo',
success(res) {
wx.startRecord() // 用戶已經同意小程序使用錄音功能,后續(xù)調用 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: 適用于需要的碼數(shù)量較少的業(yè)務場景 接口地址:(永久有效,數(shù)量有限,進入path對應的頁面)
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
path String 不能為空,最大長度 128 字節(jié)
width Int 430(默認) 二維碼的寬度
auto_color 。。
line_color 。。
接口B:適用于需要的碼數(shù)量極多,或僅臨時使用的業(yè)務場景(永久有效,數(shù)量暫無限制,將統(tǒng)一打開首頁)
http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
scene String 最大32個可見字符
width Int 430(默認) 二維碼的寬度
開發(fā)者需在首頁根據(jù)獲取的碼中 scene 字段的值,再做處理邏輯。如下示例
Page({
onLoad: function(options) {
var scene = options.scene
}
})
接口C:適用于需要的碼數(shù)量較少的業(yè)務場景(永久有效,數(shù)量有限,進入path對應的頁面)
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
path String 不能為空,最大長度 128 字節(jié)
width Int 430(默認) 二維碼的寬度
Bug & Tip
tip:調用接口,POST傳參。
tip:通過該接口,僅能生成已發(fā)布的小程序的二維碼。
tip:可以在開發(fā)者工具預覽時生成開發(fā)版的帶參二維碼。
tip:接口A加上接口C,總共生成的碼數(shù)量限制為100,000,請謹慎調用。
tip: POST 參數(shù)需要轉成 json 字符串,不支持 form 表單提交。
tip: auto_color line_color 參數(shù)僅對小程序碼生效。
代碼
1.接口需要access_token,access_token是公眾號的全局唯一接口調用憑據(jù)。
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是二進制流,后臺獲取后,直接保存為圖片,然后將圖片返回給前臺
// 后臺二進制怎么轉圖片?我也不會后臺,學會了再貼代碼
}
})
}
})
|