小程式調取錄音許可權授權等(各許可權)頁面的介面順序,
阿新 • • 發佈:2019-02-14
以錄音介面為例
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");
}
})
}
})