在小程序開發(fā)過程中,有時候通常會需要獲取用戶一些隱私的信息,但是又不是隨隨便便想獲取就獲取的,需要用戶授權(quán),如果用戶不同意就無法獲取響應(yīng)數(shù)據(jù)
提前向用戶發(fā)起授權(quán)請求啃憎。調(diào)用后會立刻彈窗詢問用戶是否同意授權(quán)小程序使用某項(xiàng)功能或獲取用戶的某些數(shù)據(jù)芝囤,但不會實(shí)際調(diào)用對應(yīng)接口。如果用戶之前已經(jīng)同意授權(quán),則不會出現(xiàn)彈窗凡人,直接返回成功名党。
場景:
假如我們在開發(fā)中,我們要獲取用戶微信的個人信息,這個時候我需要彈窗獲取用戶的同意
微信提供了API
wx.authorize(OBJECT)
參數(shù)
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
scope | String | 是 | |
success | Function | 否 | 成功回調(diào) |
fail | Function | 否 | 失敗回調(diào) |
complete | Function | 否 | 接口調(diào)用結(jié)束 |
scope 參數(shù) | 對應(yīng)接口 | 描述 |
---|---|---|
scope.userInfo | wx.getUserInfo | 用戶信息 |
scope.userLocation | wx.getLocation, wx.chooseLocation | 地理位置 |
scope.address | wx.chooseAddress | 通訊地址 |
scope.invoiceTitle | wx.chooseInvoiceTitle | 發(fā)票抬頭 |
scope.werun | wx.getWeRunData | 微信運(yùn)動步數(shù) |
scope.record | wx.startRecord | 錄音功能 |
scope.writePhotosAlbum | wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum | 保存到相冊 |
scope.camera |
返回參數(shù)
參數(shù)名 | 類型 |
---|---|
errMsg | String |
// 可以通過 wx.getSetting 先查詢一下用戶是否授權(quán)了 "scope.record" 這個 scope
wx.getSetting({
success(res) {
if (!res.authSetting['scope.record']) {
wx.authorize({
scope: 'scope.record',
success() {
// 用戶已經(jīng)同意小程序使用錄音功能,后續(xù)調(diào)用 wx.startRecord 接口不會彈窗詢問
wx.startRecord()
}
})
}
}
})