会挽雕弓如满月,西北望,射天狼。这篇文章主要讲述uniapp中小程序的授权操作相关的知识,希望能为你提供帮助。
使用uniapp开发小程序时,大致获取授权及权限的操作如下:
这里以获取位置信息为例,需要注意的是获取位置信息时,需要在manifest.json文件中进行相应配置
manifest.json:
"permission": { "scope.userLocation": { "desc": "提示文字" } }
vue文件内部写法:
< template> < view> < button @click="handleLocation"> 手动授权< /button> < /view> < /template> < script> export default { data() { return {} }, onLoad() { // 初始化页面,执行查看已授权信息 this.getSettingMess(); }, methods: { // 执行函数 getSettingMess() { // 获取已授权类别 uni.getSetting({ success(res) { if (res.authSetting[\'scope.userLocation\']) { console.log("userLocation位置功能已授权") // 如果已授权,直接获取对应参数 uni.getLocation({ success(res) { console.log(res) } }) } else if (!res.authSetting[\'scope.userLocation\']) { // 说明此时要获取的位置功能尚未授权, // 则设置进入页面时主动弹出,直接授权 uni.authorize({ scope: \'scope.userLocation\', success(res) { // 授权成功 console.log(res) // 成功后获取对应的位置参数 uni.getLocation({ success(res) { console.log(res) } }) }, fail() { console.log("位置授权失败") } }) } }, fail() { console.log("获取授权信息授权失败") } }) }, // 如果初始进入页面时点击了拒绝授权,如需要该权限,需要手动授权 // 手动授权的触发方法 handleLocation() { uni.getSetting({ success(res) { if (res.authSetting[\'scope.userLocation\']) { // 再次判断所需权限是否已授权,如已授权则直接使用 uni.getLocation({ success(res) { console.log(res) } }) } else if (!res.authSetting[\'scope.userLocation\']) { // 如未授权则重新打开设置页面,进行授权 uni.showModal({ //弹出提示框 title: \'是否打开设置页?\', content: \'需要在设置中获取xx信息和xx权限\', success(res) { if (res.confirm) { // 用户点击确定按钮 uni.openSetting({ // 确认后打开设置页面 success(res) { if(res.authSetting[\'scope.userLocation\']){ console.log("手动授权成功") }else{ console.log("手动授权失败") } }, fail(){ console.log("打开设置页面失败") } }) } else if (res.cancel) { // 用户点击取消按钮 console.log(\'用户点击取消\'); } }, fail(){ console.log("确认取消弹出未弹出") } }); } }, fail(){ console.log("获取已授权信息失败") } }) } } } < /script>
附截图:
文章图片
【uniapp中小程序的授权操作】
文章图片
文章图片
推荐阅读
- 利用kali生成木马远程控制安卓手机
- vant weapp tab切换 结构隐藏 下方高亮线消失解决方案
- class path resource [applicationContext.xml] cannot be opened because it does not exist
- Android中通过数组资源文件xml与适配器两种方式给ListView列表视图设置数据源
- flower 指定app
- WPF学习第七章 WrapPanel和DockPanel面板
- Flutter mac上打包安卓APK遇到的坑
- windows系统bat批处理文件打开Android模拟器
- 8.Android-简单的登录案例编写