module.exports = {
/**
* 检查摄像头 麦克风权限
*
* resolve 成功 reject 失败{camera,record}
*/
checkCameraAndRecord: () => {
return new Promise((resolve, reject) => {
//检查授权
wx.getSetting({
success(result) {
//有摄像头和麦克风权限
if (result.authSetting['scope.camera'] && result.authSetting['scope.record']) {
console.log("有camera和record权限!")
resolve();
//没有摄像头权限
} else if (!result.authSetting['scope.camera'] || !result.authSetting['scope.record']) {
//授权摄像头
wx.authorize({
scope: 'scope.camera',
success(res) {
console.log("camera授权成功!")
},
fail(res) {
//授权麦克风
console.log("camera授权失败!",res)
},
complete() {
wx.authorize({
scope: 'scope.record',
success(res) {
console.log("record授权成功!")
},
fail(res) {
console.log("record授权失败!",res)
// reject({record:false})
},
complete() {
//重新获取配置
wx.getSetting({
success(res) {
var authCamera = !!res.authSetting['scope.camera'],
authRecord = !!res.authSetting['scope.record'];
if (!authCamera || !authRecord) {
var contentMsg = '您没有授权开启' + (authCamera ? '' : '摄像头 ') + (authRecord ? '' : '麦克风 ') + ',请前往开启。';
//弹框去开启
wx.showModal({
content: contentMsg,
showCancel: false,
success(res) {
wx.openSetting({
success: (res) => {
if (res.authSetting['scope.camera'] && res.authSetting['scope.record']) {
resolve();
} else {
reject({
camera: authCamera,
record: authRecord
})
}
}
})
}
})
} else {
resolve();
}
}
})
}
})
}
})
}
},
fail(err){
console.log(err)
}
})
})
},
/**
* 定位位置权限
*
* resolve 成功 reject 失败{userLocation1}
*/
checkLocationPermission: () => {
// var _this = this;
return new Promise((resolve, reject) => {
wx.getSetting({
success: (res) => {
console.log('用户首次进入页面授权')
const userLocation = res.authSetting['scope.userFuzzyLocation']
if (!userLocation) {
wx.authorize({
scope: 'scope.userFuzzyLocation',
success(res) {
console.log("userFuzzyLocation授权成功!")
},
fail(res) {
//授权麦克风
console.log("userFuzzyLocation授权失败!",res)
},
complete() {
wx.getSetting({
success(res) {
var userLocation1 = !!res.authSetting['scope.userFuzzyLocation'];
if (!userLocation1) {
//弹框去开启
wx.showModal({
content: '需要获取您的地理位置,请确认授权',
showCancel: false,
success(res) {
wx.openSetting({
success: (res) => {
if (res.authSetting['scope.userFuzzyLocation']) {
resolve();
} else {
reject({
userLocation1
})
}
}
})
}
})
} else {
resolve();
}
}
})
}
})
//未授权
} else {
console.log('授权成功')
//调用wx.getLocation的API
resolve();
}
}
})
})
}
}