[uniapp]小程序授权拒绝后,再次打开提示框

场景描述:uniapp 小程序授权拒绝后,再次打开提示框

<button type="default" @click="savePosterImg">保存图片</button>
savePosterImg() {
     
			let self = this;
			uni.showLoading({
     
				title: '加载中'
			});
			// 下载海报图片
			uni.downloadFile({
     
				url: self.poster_img,
				success(res) {
     
					uni.hideLoading();
					// 图片保存到本地
					uni.saveImageToPhotosAlbum({
     
						filePath: res.tempFilePath,
						success(data) {
     
							uni.showToast({
     
								title: '保存成功',
								icon: 'success',
								duration: 2000
							});
							// 关闭商品海报
							self.isCreatedImg = false;
						},
						fail(err) {
     
							if (err.errMsg === 'saveImageToPhotosAlbum:fail auth deny') {
     
								//打开自己设定的弹窗 !important
								self.settingShow=true
								// 关闭商品海报
								self.isCreatedImg = false;
							}
						},
						complete(res) {
     
							console.log('complete');
						}
					});
				}
			});
		},
	//这是我自己定义的组件
	<uni-popup ref="settingPopup" type="middle" :show='settingShow' class="locationCommentPop" padding="0" >
			<template v-slot=""  >
					<view class="" style="width: 600rpx;">
						<view class="pop-title">检测到您没打开相册权限,是否去设置打开</view>
						<view class="pop-btns box-s-b">
							<button type="default" class="pop-cancle" @click="locationCancel">取消</button>
							//需要自定义这个button按钮 绑定打开设定的属性
							<button open-type="openSetting" class="pop-open" bindopensetting="hidetowast">打开设置页</button>
						</view>
					</view>
			</template>
		
		</uni-popup>

原因
在这里插入图片描述
如果用户之前拒绝了授权,此接口会直接进入失败回调,一般搭配uni.getSetting和uni.openSetting使用。

逻辑点
当点击保存图片当相册,小程序拒绝授权之后,下次检测到用户已经拒绝授权了,则出现另外的弹窗,给弹窗里的button 设定打开授权页的属性
在这里插入图片描述

你可能感兴趣的:(Uniapp,Delete,Bug)