| 
					
				 | 
			
			
				@@ -5,7 +5,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<image :src="qrImg" mode="" class="QR"></image>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</view>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		<image src="../../static/img/saveBtn.png" mode="" class="saveBtn" @click="toSave"></image>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<image src="../../static/img/saveBtn.png" mode="" class="saveBtn" @click="saveEwm"></image>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</view>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template>
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,11 +18,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				qrImg: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 openSettingBtnHidden: true,//是否授权
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		},
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		onLoad() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			this.getQR();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		},
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		methods: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46,55 +48,87 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					this.qrImg = 'data:image/png;base64,' + uni.arrayBufferToBase64(res)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				})
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			saveImgFile() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            let base64 = this.qrImg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            const bitmap = new plus.nativeObj.Bitmap("test"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            bitmap.loadBase64Data(base64, function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                const url = "_doc/" + new Date().getTime() + ".png";  // url为时间戳命名方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                console.log('saveHeadImgFile', url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                bitmap.save(url, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    overwrite: true,  // 是否覆盖 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    quality: 'quality'  // 图片清晰度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                }, (i) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    uni.saveImageToPhotosAlbum({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                        filePath: url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                        success: function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                            uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                                title: '图片保存成功', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                                icon: 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                            bitmap.clear() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                }, (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                        title: '图片保存失败', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                        icon: 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    bitmap.clear() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            }, (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    title: '图片保存失败', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    icon: 'none' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                bitmap.clear() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			        toSave() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            uni.showModal({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                title: '图片保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                content: '确定要保存图片吗', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                success: e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    if (e['confirm']) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                        this.saveImgFile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			},
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			        toSave() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			            uni.showModal({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                title: '图片保存',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                content: '确定要保存图片吗',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                success: e => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                    if (e['confirm']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                        this.saveImgFile();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			            });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			        },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//微信小程序保存到相册
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					        saveEwm:function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								let that = this;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					            //获取相册授权
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					               uni.getSetting({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                 success(res) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                   if (!res.authSetting['scope.writePhotosAlbum']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                     uni.authorize({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                       scope: 'scope.writePhotosAlbum',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                       success() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                         //这里是用户同意授权后的回调
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                         that.saveBase64Img(that.qrImg);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                       },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                       fail() {//这里是用户拒绝授权后的回调
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                           that.openSettingBtnHidden=false
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                       }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                     })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                   } else {//用户已经授权过了
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                     that.saveBase64Img(that.qrImg);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                   }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					                 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					               })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					        },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							//#ifdef MP-WEIXIN || H5
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							saveBase64Img(base64) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							    const bitmap = new plus.nativeObj.Bitmap('test'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							    
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							    bitmap.loadBase64Data(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							        base64,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							        function() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							            const url = '_doc/' + new Date() + '.png'; // url建议用时间戳命名方式
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							            console.log('url:', url);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							            bitmap.save(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                url,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                    overwrite: true ,// 是否覆盖
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                    quality: 'quality' , // 图片清晰度
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                i => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                    uni.saveImageToPhotosAlbum({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                        filePath: url,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                        success: function() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                            console.log('保存成功');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                            bitmap.clear();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                    });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                e => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                    console.log('保存失败', e);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                    bitmap.clear();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							            );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							        },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							        e => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							            console.log('保存失败', e);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							            bitmap.clear();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							    );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							 //#endif
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,10 +157,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		background-color: #FFFFFF;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		padding: 20rpx;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	.QR{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.QR{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		height: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	.saveBtn {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,4 +168,4 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		height: 115rpx;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		margin-top: 60rpx;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style>
 
			 |