微信小程序> 微信小程序,保存图片到相册授权被拒绝后重新拉取授权wx.opensetting的使用方法

微信小程序,保存图片到相册授权被拒绝后重新拉取授权wx.opensetting的使用方法

浏览量:538 时间: 来源:哇咔咔哟

当第一次的时候使用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()                }            })        }    }}

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎