欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年04月19日 10:33:06   作者:返回主頁Jeff的技術(shù)棧  
這篇文章主要為大家介紹了微信小程序用戶后臺定位及錄音授權(quá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,標識沒有授權(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 獲取用戶當前的授權(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() {  // 用戶不同意進入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('進來了')
              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)及請求示例的詳細內(nèi)容,更多關(guān)于微信小程序用戶后臺定位及錄音授權(quán)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • javascript比較文檔位置

    javascript比較文檔位置

    一個很棒的 blog 文章,是 PPK 兩年前寫的,文章中解釋了 contains() 和 compareDocumentPosition() 方法運行在他們各自的瀏覽器上。從那起,我已經(jīng)對這些方法做了大量的研究,并且已經(jīng)在很多場合使用他們。在很多任務(wù)中,他們被證明是非常有用的(特別關(guān)于結(jié)構(gòu)的抽象 DOM 選擇器)。
    2008-04-04
  • JS判斷字符串字節(jié)數(shù)并截取長度的方法

    JS判斷字符串字節(jié)數(shù)并截取長度的方法

    這篇文章主要介紹了JS判斷字符串字節(jié)數(shù)并截取長度的方法,涉及JavaScript針對頁面元素與字符串的動態(tài)操作技巧,需要的朋友可以參考下
    2016-03-03
  • JavaScript獲取URL參數(shù)的幾種方法小結(jié)

    JavaScript獲取URL參數(shù)的幾種方法小結(jié)

    在Web開發(fā)中,經(jīng)常需要從URL中提取參數(shù)來進行相應(yīng)的操作,本文將深度解析在JavaScript中獲取URL參數(shù)的幾種方法,并附帶一些擴展與高級技巧,希望對你有所幫助
    2024-09-09
  • JavaScript使用setTimeout實現(xiàn)倒計時效果

    JavaScript使用setTimeout實現(xiàn)倒計時效果

    這篇文章主要為大家詳細介紹了JavaScript使用setTimeout實現(xiàn)倒計時效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • javascript實現(xiàn)計算指定范圍內(nèi)的質(zhì)數(shù)示例

    javascript實現(xiàn)計算指定范圍內(nèi)的質(zhì)數(shù)示例

    這篇文章主要介紹了javascript實現(xiàn)計算指定范圍內(nèi)的質(zhì)數(shù),涉及javascript數(shù)值計算與判斷相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • 微信小程序返回上一級頁面的實現(xiàn)代碼

    微信小程序返回上一級頁面的實現(xiàn)代碼

    這篇文章主要介紹了微信小程序返回上一級頁面的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • xmlplus組件設(shè)計系列之網(wǎng)格(DataGrid)(10)

    xmlplus組件設(shè)計系列之網(wǎng)格(DataGrid)(10)

    xmlplus 是一個JavaScript框架,用于快速開發(fā)前后端項目。這篇文章主要介紹了xmlplus組件設(shè)計系列之xmlplus網(wǎng)格,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 微信js-sdk 錄音功能的示例代碼

    微信js-sdk 錄音功能的示例代碼

    這篇文章主要介紹了微信jsdk錄音功能的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • JavaScript this綁定過程深入詳解

    JavaScript this綁定過程深入詳解

    這篇文章主要介紹了JavaScript this綁定過程,結(jié)合實例形式深入分析了JavaScript中this關(guān)鍵字的功能、原理、綁定方式及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-12-12
  • JS批量替換內(nèi)容中關(guān)鍵詞為超鏈接

    JS批量替換內(nèi)容中關(guān)鍵詞為超鏈接

    本文主要介紹了JS批量替換內(nèi)容中關(guān)鍵詞為超鏈接,避開已存在的鏈接和alt、title中的關(guān)鍵詞的方法。下面跟著小編一起來看下吧
    2017-02-02

最新評論