最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序用戶后臺定位及錄音授權(quán)及請求示例

 更新時間:2022年04月19日 10:33:06   作者:返回主頁Jeff的技術(shù)棧  
這篇文章主要為大家介紹了微信小程序用戶后臺定位及錄音授權(quán)及請求示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

官方文檔

<https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html>

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html

小程序授權(quán)

1 因為部分功能需要用同意后才能使用。

2 wx.getSetting來判斷該用戶有沒有對接口授權(quán),我判斷哪個接口,就必須給wx.getSetting傳對應(yīng)的scope值

一個scope值對應(yīng)這個一個或多個接口

3 如果我們從wx.getSetting中發(fā)現(xiàn)scope值是false,標(biāo)識沒有授權(quán),我們可以通過wx.authorize發(fā)起授權(quán),對那個接口授權(quán),就給wx.authorize傳對應(yīng)scope值就可以了。如果用用戶同意授權(quán),就可以直接使用對應(yīng)的接口了。

4 但是scope.userInfo沒有辦法使用wx.authorize自動彈起彈框。必須要用戶手動點擊按鈕喚起授權(quán)彈框。

代碼格式:    

<button open-type="getUserInfo" bindgetuserinfo="user1">用戶信息</button>

我們可以再響應(yīng)函數(shù)的參數(shù)中獲取用戶信息。e.detail,這個和直接調(diào)用wx.getUserInfo獲取的內(nèi)容一樣。

獲取用戶授權(quán)設(shè)置

開發(fā)者可以使用 wx.getSetting 獲取用戶當(dāng)前的授權(quán)狀態(tài)。

提前發(fā)起授權(quán)請求

開發(fā)者可以使用 wx.authorize 在調(diào)用需授權(quán) API 之前,提前向用戶發(fā)起授權(quán)請求。

scope 列表

scope對應(yīng)接口描述
scope.userInfowx.getUserInfo用戶信息
scope.userLocationwx.getLocationwx.chooseLocation地理位置
scope.userLocationBackgroundwx.startLocationUpdateBackground后臺定位
scope.addresswx.chooseAddress通訊地址
scope.invoiceTitlewx.chooseInvoiceTitle發(fā)票抬頭
scope.invoicewx.chooseInvoice獲取發(fā)票
scope.werunwx.getWeRunData微信運動步數(shù)
scope.recordwx.startRecord錄音功能
scope.writePhotosAlbumwx.saveImageToPhotosAlbumwx.saveVideoToPhotosAlbum保存到相冊
scope.cameracamera 組件攝像頭

授權(quán)有效期

一旦用戶明確同意或拒絕過授權(quán),其授權(quán)關(guān)系會記錄在后臺,直到用戶主動刪除小程序。

注意事項

wx.authorize({scope: "scope.userInfo"})  用戶信息  的授權(quán)必須button用戶手動觸發(fā)彈窗,授權(quán)
其他錄音等授權(quán),可以直接寫在生命周期中,自動彈窗,用戶點擊授權(quán)

wx.authorize({scope: "scope.userInfo"}),不會彈出授權(quán)窗口,請使用 ``open-type="getUserInfo"

<button bindgetuserinfo="user1" open-type="getUserInfo">個人信息1</button>

需要授權(quán) scope.userLocation、scope.userLocationBackground 時必須配置地理位置用途說明。

后臺定位

與其它類型授權(quán)不同的是,scope.userLocationBackground 不會彈窗提醒用戶。需要用戶在設(shè)置頁中,主動將“位置信息”選項設(shè)置為“使用小程序期間和離開小程序后”。開發(fā)者可以通過調(diào)用wx.openSetting,打開設(shè)置頁。

案例:個人信息getUserInfo

# wxml文件:
<button bindtap="lu">錄音</button>
<button bindtap="user" open-type="getUserInfo">個人信息</button>
<button bindgetuserinfo="user1" open-type="getUserInfo">個人信息1</button>
# js文件:
lu:function(){
    wx.getSetting({
      success(res){
        if (!res.authSetting['scope.record']) {
          wx.authorize({
            scope: 'scope.record',  // 授權(quán)的功能
            success() {
              // 用戶已經(jīng)同意小程序使用錄音功能,后續(xù)調(diào)用 wx.startRecord 接口不會彈窗詢問
              wx.startRecord()  // 使用接口
            }, fail() {  // 用戶不同意進(jìn)入fail回調(diào)
              console.log("你沒有授權(quán)")
            }
          })
        } else {
          wx.startRecord()  //使用接口
        }
      }
    })
  },
  user: function () {
    wx.getSetting({
      success(res) {
        if (!res.authSetting['scope.userInfo']) {
          wx.authorize({
            scope: 'scope.userinfo',  // 授權(quán)的功能
            success() {
              console.log('進(jìn)來了')
              wx.startRecord()  // 使用接口
            }
          })
        } else {
          console.log('已經(jīng)授權(quán)了')
          wx.startRecord()  //使用接口
        }
      }
    })
  },
  user1:function(e){
    console.log('e',e.detail)
    wx.getSetting({
      success(res){
        if (res.authSetting['scope.userInfo']){
          wx.getUserInfo({
            success:(res) => {
              console.log('res',res)
            }
          })
        }
      }
    })
  },

錄音等,可以寫在onLaunch中

App({
  onLaunch: function () {
  // 獲取用戶信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.record']) {
          // 已經(jīng)授權(quán),可以直接調(diào)用 record 獲取頭像昵稱,不會彈框
          wx.getUserInfo({
            success: res => {
              // 可以將 res 發(fā)送給后臺解碼出 unionId
              this.globalData.userInfo = res.record
              // 由于 record 是網(wǎng)絡(luò)請求,可能會在 Page.onLoad 之后才返回
              // 所以此處加入 callback 以防止這種情況
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })

以上就是微信小程序用戶后臺定位及錄音授權(quán)及請求示例的詳細(xì)內(nèi)容,更多關(guān)于微信小程序用戶后臺定位及錄音授權(quán)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

且末县| 若羌县| 南通市| 班戈县| 个旧市| 长垣县| 榕江县| 北票市| 昆山市| 晋中市| 望都县| 乐东| 博兴县| 留坝县| 吐鲁番市| 南澳县| 昆明市| 板桥市| 刚察县| 宁晋县| 拉萨市| 沾益县| 商河县| 健康| 呼图壁县| 中方县| 梨树县| 日喀则市| 乐至县| 长沙市| 新巴尔虎右旗| 崇信县| 华蓥市| 廊坊市| 安乡县| 三门县| 融水| 平顶山市| 德惠市| 潢川县| 海原县|