小程序调取录音权限授权等(各权限)页面的接口顺序,

以录音接口为例

  var that = this;
  const recorderManager = wx.getRecorderManager()
  const options = {
    duration: 6000,
    sampleRate: 44100,
    numberOfChannels: 1,
    encodeBitRate: 192000,
    format: 'mp3',
  }
 //调取小程序新版授权页面
      wx.authorize({
        scope: 'scope.record',
        success() {
          console.log("录音授权成功");
          //第一次成功授权后 状态切换为2
          that.setData({
            status: 2,
          })
          // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
          // wx.startRecord();
          recorderManager.start(options);//使用新版录音接口,可以获取录音文件
        },
        fail(){
          console.log("第一次录音授权失败");
          wx.showModal({
            title: '提示',
            content: '您未授权录音,功能将无法使用',
            showCancel: true,
            confirmText: "授权",
            confirmColor: "#52a2d8",
            success: function (res) {
              if (res.confirm) {
                //确认则打开设置页面(重点)
                wx.openSetting({
                  success: (res) => {
                    console.log(res.authSetting);
                    if (!res.authSetting['scope.record']) {
                      //未设置录音授权
                      console.log("未设置录音授权");
                      wx.showModal({
                        title: '提示',
                        content: '您未授权录音,功能将无法使用',
                        showCancel: false,
                        success: function (res) {

                        },
                      })
                    } else {
                      //第二次才成功授权
                      console.log("设置录音授权成功");
                      that.setData({
                        status: 2,
                      })
                      recorderManager.start(options);
                    }
                  },
                  fail: function () {
                    console.log("授权设置录音失败");
                  }
                })
              } else if (res.cancel) {
                console.log("cancel");
              }
            },
            fail: function () {
              console.log("openfail");
            }
          })
        }
      })

你可能感兴趣的:(微信小程序)