小程序授权流程:
1.首次小程序,将需要的授权调用一遍(uni.authorize || wx.authorize)
2.进入到应用模块,调用某个需要授权的API之前,先检测用户是否授权该功能 (uni.getSetting)
①如果已授权,就调用相关API (例:获取位置 uni.getLocation)
②如果未授权,就打开授权设置页(uni.openSetting:注意此API需要用户操作才能使用)
备注:用户信息需要button按钮授权,不能直接调用。如图:
<button open-type="getUserInfo" @getuserinfo="abc">用户信息授权</button>
案例:
uni.getSetting({
success(res) {
if (!res.authSetting["scope.userLocation"]) {
//console.log("用户未同意位置授权");
uni.openSetting({ //打开授权管理
success(res) {
console.log(res);
},
fail(err) {
console.log(err);
},
});
} else {
//console.log("用户已同意位置授权");
uni.getLocation({ //获取位置信息
success(res) {
console.log(res);
},
});
}
},
});
补充:button也能打开授权设置页
<button open-type="openSetting">打开授权设置</button>