歸納整理微信小程式權(quán)限接口
May 16, 2022 am 11:43 AM本篇文章為大家?guī)砹岁P(guān)於微信小程式的相關(guān)問題,其中主要介紹了微信小程式中的權(quán)限介面的相關(guān)內(nèi)容,包括了使用者授權(quán)介面、取得使用者權(quán)限設(shè)置介面、開啟使用者權(quán)限設(shè)定介面等內(nèi)容,下面一起來看一下,希望對大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程式學(xué)習(xí)教學(xué)】
1、權(quán)限介面
##??部分介面需要經(jīng)過用戶授權(quán)統(tǒng)一才能呼叫。我們把這些介面依使用範(fàn)圍分成多個scope,使用者選擇對scope進行授權(quán),當(dāng)授權(quán)給一個scope之後,其對應(yīng)的所有介面都可以直接使用,此類介面呼叫時:- 如果用戶未接受或拒絕此權(quán)限,會彈出視窗詢問用戶,用戶按一下統(tǒng)一後方可呼叫介面。
- 如果使用者已授權(quán),可以直接呼叫介面。
- 如果使用者已拒絕授權(quán),則不會出現(xiàn)彈跳窗,而會直接進入介面fail回呼。
對應(yīng)介面 | #描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
wx.getLocation, wx.chooseLocation, wx.startLocationUpdate | 地理位置 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wx. startLocationUpdateBackground | 後臺定位 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wx.startRecord, wx.joinVoIPChat, RecorderManager.start | 麥克風(fēng) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
camera元件, wx.createVKSession | 攝影機 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wx.openBluetoothAdapter, wx.createBLEPeripheralServer | 藍牙 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wx.saveImageToPhotosAlbum, wx.save | wx.saveImageToPhotosAlbum, wx.save. #加入到相簿 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wx.wx.addPhoneContact | ##加入到聯(lián)絡(luò)人#scope.addPhoneCalendar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
新增到日曆 | scope.werun | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
微信運動步數(shù) | scope.address | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
通訊位址(已取消授權(quán),可直接呼叫對應(yīng)介面) | scope.invoiceTitle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
發(fā)票抬頭(已取消授權(quán),可以直接呼叫對應(yīng)介面) | scope.invoice | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
取得發(fā)票(已取消授權(quán),可以直接呼叫對應(yīng)介面) | #scope.userInfo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用者資訊(小程式已回收,請使用頭像暱稱填寫,小遊戲可繼續(xù)呼叫) |
屬性 | 類型 | 預(yù)設(shè)值 | 必填 | ##說明|
---|---|---|---|---|
string | 需要取得權(quán)限的scope,詳見scope 清單 | |||
function |
##否 |
介面呼叫成功的回呼函數(shù) | ||
function |
#否 |
介面呼叫失敗的回呼函數(shù) | ||
function |
#否 |
介面呼叫結(jié)束的回呼函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
//?可以通過?wx.getSetting?先查詢一下用戶是否授權(quán)了?"scope.record"?這個?scopewx.getSetting({ ??success(res)?{ ????if?(!res.authSetting['scope.record'])?{ ??????wx.authorize({ ????????scope:?'scope.record', ????????success?()?{ ??????????//?用戶已經(jīng)同意小程序使用錄音功能,后續(xù)調(diào)用?wx.startRecord?接口不會彈窗詢問 ??????????wx.startRecord() ????????} ??????}) ????} ??}})
1.2 取得使用者權(quán)限設(shè)定介面
wx.getSetting(Object object)
??該介面取得使用者的目前設(shè)定。傳回值中只會出現(xiàn)小程式已經(jīng)向使用者請求過的權(quán)限。屬性如下:
型別 | 預(yù)設(shè)值 | 必填 | 說明 | 最低版本 | |
---|---|---|---|---|---|
Boolean | false | 否 | 是否同時取得使用者訂閱訊息的訂閱狀態(tài),預(yù)設(shè)不取得。注意:withSubscriptions 只回傳用戶勾選過訂閱面板中的「總是保持以上選擇,不再詢問」的訂閱訊息。 | 2.10.1 | |
#function |
否 |
#介面呼叫成功的回呼函數(shù) | |||
fail | function | 介面呼叫失敗的回呼函數(shù) | |||
function |
#否 | |||
---|---|---|---|
object.success回呼函數(shù)如下: | |||
類型 |
#最低版本
|
authSetting | |
使用者授權(quán)結(jié)果 |
??官網(wǎng)示例代碼:
wx.getSetting({ ??success?(res)?{ ????console.log(res.authSetting) ????//?res.authSetting?=?{ ????//???"scope.userInfo":?true, ????//???"scope.userLocation":?true ????//?} ??}})
1.3 打開用戶權(quán)限設(shè)置接口wx.openSetting(Object object)
??該接口調(diào)用客戶端小程序設(shè)置界面,返回用戶設(shè)置的操作結(jié)果。設(shè)置界面只會出現(xiàn)小程序已經(jīng)向用戶請求過的權(quán)限。
屬性 | 類型 | 默認值 | 必填 | 說明 | 最低版本 |
---|---|---|---|---|---|
withSubscriptions | Boolean | false | 否 | 是否同時獲取用戶訂閱消息的訂閱狀態(tài),默認不獲取。注意:withSubscriptions 只返回用戶勾選過訂閱面板中的“總是保持以上選擇,不再詢問”的訂閱消息。 | 2.10.3 |
success | function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | ||
fail | function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | ||
complete | function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
object.success回調(diào)函數(shù)如下:
屬性 | 類型 | 說明 | 最低版本 |
---|---|---|---|
authSetting | AuthSetting | 用戶授權(quán)結(jié)果 | |
subscriptionsSetting | SubscriptionsSetting | 用戶訂閱消息設(shè)置,接口參數(shù)withSubscriptions 值為true 時才會返回。 |
2.10.3 |
- 注意:2.3.0 版本開始,用戶發(fā)生點擊行為后,才可以跳轉(zhuǎn)打開設(shè)置頁,管理授權(quán)信息。
??官網(wǎng)示例代碼:
wx.openSetting({ ??success?(res)?{ ????console.log(res.authSetting) ????//?res.authSetting?=?{ ????//???"scope.userInfo":?true, ????//???"scope.userLocation":?true ????//?} ??}})
2、授權(quán)案例
??本例使用獲取地理位置接口wx.getLocation()
和開始錄音接口wx.startRecord()
進行相關(guān)操作,而這兩個接口都需要設(shè)置操作權(quán)限。
Setting.wxml代碼如下:
<!--index.wxml--><view>獲取地理位置</view><view>{{context}}</view><view>開始錄音</view>
Setting.js代碼如下:
//index.js//獲取應(yīng)用實例const?app?=?getApp()Page({ ??data:?{ ??? ??}, ?? ??onLoad:?function?()?{ ????context:'' ??}, ??location1:function(){ //獲取地理位置 ????var?that=this ????wx.getSetting({ //獲取用戶權(quán)限設(shè)置接口 ??????success(res)?{ ????????console.log(res) ????????if?(!res.authSetting['scope.userLocation'])?{ ??????????wx.authorize({ //授權(quán) ????????????scope:?'scope.userLocation', //地理位置權(quán)限,看線上面的scope對應(yīng)的參數(shù) ????????????success()?{ ??????????????wx.getLocation({ //獲取當(dāng)前的地理位置 ????????????????success:?function(res)?{ ?????????????????console.log(res) ??????????????????that.setData({?context:?"你所在的經(jīng)度是"?+?res.latitude+"你所在的緯度是"+res.longitude}) ????????????????}, ??????????????}) ????????????} ??????????}) ????????} ??????} ????}) ??}, ? ??location2:?function?()?{ //錄音 ????var?that?=?this ?? ????????wx.getSetting({ ??????????success(res)?{ ????????????console.log(res.authSetting) ????????????if?(!res.authSetting['scope.record'])?{ ??????????????wx.openSetting({ //打開用戶權(quán)限設(shè)置界面 ????????????????success(res)?{ ??????????????????console.log(res) ??????????????????wx.startRecord({ //開始錄音 ????????????????????success(res)?{ ??????????????????????const?tempFilePath?=?res.tempFilePath ??????????????????????console.log("錄音結(jié)束") ????????????????????} ??????????????}) ????????????}? ????????}) ????????}} ????????}) ??}})
?? location()1函數(shù)實現(xiàn)獲取地理位置的功能,該函數(shù)先調(diào)用wx.getSetting()接口獲取權(quán)限狀態(tài),然后調(diào)用wx.authorize()接口修改地理位置權(quán)限scope.userLocation。location2()函數(shù)實現(xiàn)錄音功能,該函數(shù)先調(diào)用wx.getSetting()接口獲取權(quán)限狀態(tài),然后調(diào)用wx.openSetting()接口打開錄音權(quán)限設(shè)置界面來修改錄音權(quán)限。從本例可以看出設(shè)置權(quán)限的時候應(yīng)該先調(diào)用wx.getSetting()接口來修改權(quán)限狀態(tài),在沒有權(quán)限打開的情況下可以調(diào)用wx.authorize()接口或者wx.openSetting()接口來修改權(quán)限狀態(tài),wx.authorize()接口不出現(xiàn)修改權(quán)限的操作權(quán)限,而wx.openSetting()接口會出現(xiàn)修改權(quán)限的操作界面。
??案例效果如下:
??點擊獲取地理位置:
??點擊允許之后會顯示當(dāng)前所在的經(jīng)緯度。
??點擊開始錄音按鈕出現(xiàn)麥克風(fēng)授權(quán):
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
以上是歸納整理微信小程式權(quán)限接口的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

閒魚官方微信小程式悄悄上線,在小程式中可以發(fā)布閒置與買家/賣家私訊交流、查看個人資料及訂單、搜尋物品等,有用好奇閒魚微信小程式叫什麼,現(xiàn)在快來看一下。閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發(fā)閒置、訊息、我的5項功能;3、想要使用的話必要要開通微信支付才可以購買;

實現(xiàn)微信小程式中的圖片濾鏡效果隨著社群媒體應(yīng)用程式的流行,人們越來越喜歡在照片中應(yīng)用濾鏡效果,以增強照片的藝術(shù)效果和吸引力。在微信小程式中也可以實現(xiàn)圖片濾鏡效果,為使用者提供更多有趣和創(chuàng)意的照片編輯功能。本文將介紹如何在微信小程式中實現(xiàn)圖片濾鏡效果,並提供具體的程式碼範(fàn)例。首先,我們需要在微信小程式中使用canvas元件來載入和編輯圖片。 canvas元件可以在頁面

實現(xiàn)微信小程式中的下拉式選單效果,需要具體程式碼範(fàn)例隨著行動互聯(lián)網(wǎng)的普及,微信小程式成為了網(wǎng)路開發(fā)的重要一環(huán),越來越多的人開始關(guān)注和使用微信小程式。微信小程式的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡單快捷,但也需要掌握一定的開發(fā)技巧。在微信小程式的開發(fā)中,下拉式選單是一個常見的UI元件,實現(xiàn)了更好的使用者操作體驗。本文將詳細介紹如何在微信小程式中實現(xiàn)下拉式選單效果,並提供具

閒魚官方微信小程式已經(jīng)悄悄上線,它為用戶提供了一個便捷的平臺,讓你可以輕鬆地發(fā)布和交易閒置物品。在小程式中,你可以與買家或賣家進行私訊交流,查看個人資料和訂單,以及搜尋你想要的物品。那麼閒魚在微信小程式中究竟叫什麼呢,這篇教學(xué)攻略將為您詳細介紹,想要了解的用戶們快來跟著本文繼續(xù)閱讀吧!閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發(fā)閒置、訊息、我的5項功能;3、

微信小程式實現(xiàn)圖片上傳功能隨著行動網(wǎng)路的發(fā)展,微信小程式已經(jīng)成為了人們生活中不可或缺的一部分。微信小程式不僅提供了豐富的應(yīng)用場景,還支援開發(fā)者自訂功能,其中包括圖片上傳功能。本文將介紹如何在微信小程式中實作圖片上傳功能,並提供具體的程式碼範(fàn)例。一、前期準(zhǔn)備工作在開始編寫程式碼之前,我們需要先下載並安裝微信開發(fā)者工具,並註冊成為微信開發(fā)者。同時,也需要了解微信

使用微信小程式實現(xiàn)輪播圖切換效果微信小程式是一種輕量級的應(yīng)用程序,具有簡單、高效的開發(fā)和使用特點。在微信小程式中,實作輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程式實現(xiàn)輪播圖切換效果,並給出具體的程式碼範(fàn)例。首先,在微信小程式的頁面檔案中,新增一個輪播圖元件。例如,可以使用<swiper>標(biāo)籤來實現(xiàn)輪播圖的切換效果。在該組件中,可以透過b

實現(xiàn)微信小程式中的圖片旋轉(zhuǎn)效果,需要具體程式碼範(fàn)例微信小程式是一種輕量級的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗。在小程式中,開發(fā)者可以利用各種元件和API來實現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見的動畫效果,可以為小程式增添趣味性和視覺效果。在微信小程式中實作圖片旋轉(zhuǎn)效果,需要使用小程式提供的動畫API。以下是一個具體的程式碼範(fàn)例,展示如何在小程

實作微信小程式中的滑動刪除功能,需要具體程式碼範(fàn)例隨著微信小程式的流行,開發(fā)者在開發(fā)過程中經(jīng)常會遇到一些常見功能的實作問題。其中,滑動刪除功能是常見、常用的功能需求。本文將為大家詳細介紹如何在微信小程式中實現(xiàn)滑動刪除功能,並給出具體的程式碼範(fàn)例。一、需求分析在微信小程式中,滑動刪除功能的實作涉及以下要點:列表展示:要顯示可滑動刪除的列表,每個列表項目需要包
