zoukankan      html  css  js  c++  java
  • uni-app 微信小程序拒绝授权后如何再次授权

    在业务中可能会需要获取用户当前位置或者手机相机等权限,微信小程序是需要用户授权才能使用,但是当用户拒绝授权后再点击对应位置就会没有反应。操作代码如下,例子为二次授权相机权限

    uni.getSetting({
    	success(res) {
    		 if (!res.authSetting['scope.camera']) {
    						uni.authorize({
    							scope: 'scope.camera',
    							success(res) {
    								// 授权成功
    								uni.showToast({
    									title:'授权成功',
    									icon:'none',
    									success:function(){
    										uni.redirectTo({
    											url:'*******'
    										})
    									}
    								})
    							},
    							fail() {
    								uni.showModal({
    									content: '检测到您没打开获取相机功能权限,是否去设置打开?',
    									confirmText: "确认",
    									cancelText: '取消',
    									success: (res) => {
    										if (res.confirm) {
    											uni.openSetting({
    												success: (res) => {
    													uni.showToast({
    														title: '授权后请重新打开此页面',
    														icon: 'none',
    														success:function(){
    															uni.redirectTo({
    																url:'********'
    															})
    														}
    													})
    												},
    												fail: (err) => {
    													console.log(err)
    												}
    											})
    										} else {
    											uni.showToast({
    												title: '获取授权相机授权失败',
    												icon: 'none',
    												success:function() {
    													uni.navigateBack()
    												}
    											})
    										}
    									}
    								})
    							}
    						})
    					}
    				},
    				fail() {
    					uni.showToast({
    						title: '获取授权相机授权失败',
    						icon: 'none',
    						success:function() {
    							uni.navigateBack()
    						}
    					})
    				}
    			})
    

      其中scope参数配置文档:点击查看

    saveQr(){
                    var _this=this;
                    uni.getSetting({
                       success(res) {
                           console.log(res);
                          if (!res.authSetting['scope.writePhotosAlbum']) {
                                wx.authorize({
                                  scope: 'scope.writePhotosAlbum',
                                  success (){
                                       uni.downloadFile({
                                        url:_this.qrCode,
                                        success:(res)=> {
                                            console.log("123123")
                                            uni.saveImageToPhotosAlbum({
                                                filePath:res.tempFilePath,
                                                complete: (e) => {
                                                    console.log(e)
                                                    _this.tui.toast('保存成功~')
                                                }
                                            })
                                        }
                                       })
                                  },
                                  fail(){
                                      uni.showModal({
                                              content: '检测到您没打开保存到相册功能权限,是否去设置打开?',
                                              confirmText: "确认",
                                              cancelText: '取消',
                                              success: (res) => {
                                                  if (res.confirm) {
                                                      uni.openSetting({
                                                          success: (res) => {
                                                            
                                                          },
                                                          fail: (err) => {
                                                              console.log(err)
                                                          }
                                                      })
                                                  } else {
                                                      
                                                  }
                                              }
                                          })
                                      //_this.tui.toast('您已拒绝保存~')
                                  }
                                })
                              }else{
                                  uni.downloadFile({
                                        url:_this.qrCode,
                                        success:(res)=> {
                                            console.log("123123")
                                            uni.saveImageToPhotosAlbum({
                                                filePath:res.tempFilePath,
                                                complete: (e) => {
                                                    console.log(e)
                                                    _this.tui.toast('保存成功~')
                                                }
                                            })
                                        }
                                  })
                              }
                       }
                    })
                },

     来源:https://blog.csdn.net/weixin_43827462/article/details/110524481

  • 相关阅读:
    简易版计算器
    数据和简单计算程序
    程序设计和c语言
    bootstrap validator html attributes 选项
    免费开源的boostrap模板
    Sql CE 数据库编程
    Entity Framework Tools install to VS 2015
    Brackets + Sass 学习心得
    EF Unit Of Work
    DryIoc mvc 项目集成
  • 原文地址:https://www.cnblogs.com/xqschool/p/15438534.html
Copyright © 2011-2022 走看看