真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信小程序的權(quán)限接口有哪些及怎么用

這篇文章主要講解了“微信小程序的權(quán)限接口有哪些及怎么用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“微信小程序的權(quán)限接口有哪些及怎么用”吧!

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比大冶網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式大冶網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大冶地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

1、權(quán)限接口

??部分接口需要經(jīng)過用戶授權(quán)統(tǒng)一才能調(diào)用。我們把這些接口按使用范圍分成多個scope,用戶選擇對scope進(jìn)行授權(quán),當(dāng)授權(quán)給一個scope之后,其對應(yīng)的所有接口都可以直接使用,此類接口調(diào)用時:

  • 如果用戶未接受或拒絕此權(quán)限,會彈窗詢問用戶,用戶單擊統(tǒng)一后方可調(diào)用接口。

  • 如果用戶已授權(quán),可以直接調(diào)用接口。

  • 如果用戶已拒絕授權(quán),則不會出現(xiàn)彈窗,而會直接進(jìn)入接口fail回調(diào)。

??此類接口再權(quán)限中的對象scope的字段和接口的對應(yīng)關(guān)系如下表所示。

scope對應(yīng)接口描述
scope.userLocationwx.getLocation, wx.chooseLocation, wx.startLocationUpdate地理位置
scope.userLocationBackgroundwx.startLocationUpdateBackground后臺定位
scope.recordwx.startRecord, wx.joinVoIPChat, RecorderManager.start麥克風(fēng)
scope.cameracamera組件, wx.createVKSession攝像頭
scope.bluetoothwx.openBluetoothAdapter, wx.createBLEPeripheralServer藍(lán)牙
scope.writePhotosAlbumwx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum添加到相冊
scope.addPhoneContactwx.wx.addPhoneContact添加到聯(lián)系人
scope.addPhoneCalendarwx.addPhoneRepeatCalendar, wx.addPhoneCalendar添加到日歷
scope.werunwx.getWeRunData微信運動步數(shù)
scope.addresswx.chooseAddress通訊地址(已取消授權(quán),可以直接調(diào)用對應(yīng)接口)
scope.invoiceTitlewx.chooseInvoiceTitle發(fā)票抬頭(已取消授權(quán),可以直接調(diào)用對應(yīng)接口)
scope.invoicewx.chooseInvoice獲取發(fā)票(已取消授權(quán),可以直接調(diào)用對應(yīng)接口)
scope.userInfowx.getUserInfo用戶信息(小程序已回收,請使用頭像昵稱填寫,小游戲可繼續(xù)調(diào)用)

??小程序提供了三組接口對接口權(quán)限進(jìn)行相應(yīng)的操作:wx.getSetting()獲取用戶當(dāng)前的授權(quán)狀態(tài);wx.openSetting()打開設(shè)置界面以引導(dǎo)用戶開啟授權(quán);wx.authorize()改變授權(quán)狀態(tài)。

1.1 用戶授權(quán)接口wx.authorize(Object object)

??提前向用戶發(fā)起授權(quán)請求。該接口調(diào)用后會立刻彈窗詢問用戶是否同意授權(quán)小程序使用某項功能或獲取用戶的某些數(shù)據(jù),但不會實際調(diào)用對應(yīng)接口。如果用戶之前已經(jīng)同意授權(quán),則不會出現(xiàn)彈窗,直接返回成功。屬性如下表所示。

屬性類型默認(rèn)值必填說明
scopestring
需要獲取權(quán)限的 scope,詳見 scope 列表
successfunction
接口調(diào)用成功的回調(diào)函數(shù)
failfunction
接口調(diào)用失敗的回調(diào)函數(shù)
completefunction
接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

??官網(wǎng)的示例代碼:

// 可以通過 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)

??該接口獲取用戶的當(dāng)前設(shè)置。返回值中只會出現(xiàn)小程序已經(jīng)向用戶請求過的權(quán)限。屬性如下:

屬性類型默認(rèn)值必填說明最低版本
withSubscriptionsBooleanfalse是否同時獲取用戶訂閱消息的訂閱狀態(tài),默認(rèn)不獲取。注意:withSubscriptions 只返回用戶勾選過訂閱面板中的“總是保持以上選擇,不再詢問”的訂閱消息。2.10.1
successfunction
接口調(diào)用成功的回調(diào)函數(shù)
failfunction
接口調(diào)用失敗的回調(diào)函數(shù)
completefunction
接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

object.success回調(diào)函數(shù)如下:

屬性類型說明最低版本
authSettingAuthSetting用戶授權(quán)結(jié)果
subscriptionsSettingSubscriptionsSetting用戶訂閱消息設(shè)置,接口參數(shù)withSubscriptions值為true時才會返回。2.10.1
miniprogramAuthSettingAuthSetting在插件中調(diào)用時,當(dāng)前宿主小程序的用戶授權(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)限。

屬性類型默認(rèn)值必填說明最低版本
withSubscriptionsBooleanfalse是否同時獲取用戶訂閱消息的訂閱狀態(tài),默認(rèn)不獲取。注意:withSubscriptions 只返回用戶勾選過訂閱面板中的“總是保持以上選擇,不再詢問”的訂閱消息。2.10.3
successfunction
接口調(diào)用成功的回調(diào)函數(shù)
failfunction
接口調(diào)用失敗的回調(diào)函數(shù)
completefunction
接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

object.success回調(diào)函數(shù)如下:

屬性類型說明最低版本
authSettingAuthSetting用戶授權(quán)結(jié)果
subscriptionsSettingSubscriptionsSetting用戶訂閱消息設(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()進(jìn)行相關(guān)操作,而這兩個接口都需要設(shè)置操作權(quán)限。

Setting.wxml代碼如下:

獲取地理位置{{context}}開始錄音

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)限的操作界面。

感謝各位的閱讀,以上就是“微信小程序的權(quán)限接口有哪些及怎么用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對微信小程序的權(quán)限接口有哪些及怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


分享題目:微信小程序的權(quán)限接口有哪些及怎么用
URL標(biāo)題:http://weahome.cn/article/pscggj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部