微信小程序授权过程

首先询问用户是否同意授权,同意则直接授权,否则弹框提示用户没有授权将影响后续操作。引导用户去设置页开启授权wx.openSetting

wx.getSetting({
    success(res) {
        //没有权限,发起授权
        if (!res.authSetting['scope.writePhotosAlbum']) {
            wx.authorize({
                scope: 'scope.writePhotosAlbum',
                success() {
                    //用户允许授权,保存图片到相册
                    that.chooseImg()
                },
                fail(err) {
                    //用户点击拒绝授权,跳转到设置页,引导用户授权
                    that.showSettingToast()
                }
            });
        } else {
            //用户已授权,保存到相册
            that.chooseImg()
        }
    }
});

// 打开权限设置页提示框
showSettingToast(e) {
    wx.showModal({
        content: '检测到您没打开此小程序的此权限,是否去设置打开?',
        confirmText: "确认",
        cancelText: "取消",
        success: function(res) {
            //点击“确认”时打开设置页面
            if (res.confirm) {
                wx.openSetting({
                    success: (res) => {}
                })
            } else {
                console.log('用户点击取消')
            }
        }
    });
},

保存图片到本地,保存图片也需要先查询用户是否同意保存到本地

// 保存图片到本地
savePhoto() {
    let that = this
    uni.getImageInfo({
        src: that.currentItemUrl,
        success: function(res) {
            console.log(res);
            //保存图片
            uni.saveImageToPhotosAlbum({
                filePath: res.path,
                success(result) {
                    uni.showToast({
                        title: result
                    })
                }
            })
        }
    })
},

图片转为base64

imgBase64(tempPath) {
    // 转base64
    wx.getFileSystemManager().readFile({
        filePath: tempPath, //选择图片chooseImage返回的相对路径
        encoding: "base64", //这个是很重要的
        success: res => { //成功的回调
            //返回base64格式
            let photo = res.data
            this.storeUpdatedImg(photo)

        }
    })
},
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值