当第一次的时候使用wx.getSetting的时候会发现没有scope.writePhotosAlbum这个对象,所以并不知道是否授权在这里插入图片描述<view class=”ui-share-box”> <view class=”ui-thumb”> <image mode=”scaleToFill” src=”{{shareThumb}}”></image> </view> <view class=”ui-button-box main-justify”> <button class=”main-center cross-center” @tap.stop=”getSaveImage”> <text class=”icon-share”></text>保存图片 </button> <button class=”main-center cross-center” open-type=”share”><text class=”icon-share”></text>分享给好友</button> </view></view><view class=”ui-toast-box” :class=”{‘is-show’: isShowToast}”> <view class=”ui-toast-content dir-top main-justify”> <view class=”ui-content”> <view class=”cell-title”>温馨提示</view> <view class=”cell-content”>去设置允许访问相册</view> </view> <button open-type=”openSetting” bindopensetting=’getSetting’>确定</button> </view></view>data = { isShowToast: false, shareThumb: ”, // 最后生成的分享图片}/** * 获取微信设置信息 * @private */__wxSetting() { let self = this // 检测设置中是否允许保存到相册中去 wx.getSetting({ success(res) { // 第一,直接调取保存,系统会自动调取授权 if (_.isUndefined(res.authSetting[‘scope.writePhotosAlbum’])) { self.__saveImage() } else if (!res.authSetting[‘scope.writePhotosAlbum’]){ // 不授权 self.isShowToast = true } else { // 授权 self.__saveImage() } self.$apply() } })}/** * 保存图片 * @private */__saveImage() { let self = this wx.saveImageToPhotosAlbum({ filePath: self.shareThumb, // 这里是用canvas生成之后保存下来的图片地址 success(res) { wx.showModal({ title: ‘温馨提示’, content: ‘已保存到系统相册中’, showCancel: false }) }, fail(res) { wx.showModal({ title: ‘温馨提示’, content: ‘保存失败’, showCancel: false }) } })}methods = { /** * 保存图片 * @private */ getSaveImage() { let self = this self.__wxSetting() }, /** * 询问是否授权访问相册 * @private */ getSetting(event) { let self = this // 对用户的设置进行判断,如果没有授权,即使用户返回到保存页面,显示的也是“去授权”按钮;同意授权之后才显示保存按钮 self.isShowToast = false if (!event.detail.authSetting[‘scope.writePhotosAlbum’]) { wx.showModal({ title: ‘温馨提示’, content: ‘你关闭了访问相册的权限,无法保存,请允许访问相册’, showCancel: false }) } else { wx.showToast({ icon: ‘success’, title: `授权成功`, success(res) { self.__saveImage() } }) } }}
最新评论
不错的小程序案例
优秀的团队,不错的服务!
讲的很好
主播长的帅气
好系统好服务
优秀的团队
好服务,值得信赖
不错的服务