xqschool

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

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

分类:

技术点:

相关文章:

  • 2021-12-05
  • 2021-12-05
  • 2021-05-20
  • 2021-12-01
  • 2021-05-19
猜你喜欢
  • 2022-12-23
  • 2021-12-05
  • 2021-04-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
相关资源
相似解决方案