zoukankan      html  css  js  c++  java
  • 微信小程序 保存图片

    微信小程序 保存图片

    注: 此处使用的是小程序 wepy框架, 原生或其他的请注意转换写法

    <div class="handle">
                <button class="btn" open-type="{{saveset}}" @tap="bindSave">
                    <img src="@/images/icon_download_white.png" alt="" mode="widthFix" />保存二维码
                </button>
                <button class="btn" open-type="share"><img src="@/images/icon_share_white.png" alt="" mode="widthFix" />分享给好友</button>
    </div>
    // 保存图片
                bindSave(e) {
                    console.log(e)
                    let that = this;
                    wx.getSetting({//检查小程序的授权状态
                        success(res) {
                            console.log(res)//授权后的回调
                            if (!res.authSetting['scope.writePhotosAlbum']) {
                                wx.authorize({//调用 wx.authorize 弹出对话窗提醒用户是否要授权小程序得到他的授权
                                    scope: 'scope.writePhotosAlbum',
                                    success(t) {//这里是用户同意授权后的回调
                                        console.log("这里是用户同意授权后的回调", t)
                                        that.saveset = "";
                                        that.getImage();
                                    },
                                    fail(err) {//这里是用户拒绝授权后的回调
                                        console.log("这里是用户拒绝授权后的回调", err);
                                        that.saveset = "openSetting";
                                        if (err.errMsg == "authorize:fail:auth deny") {//如果用户拒绝打开授权接口,通过button按钮的open-type="openSetting"属性来调起授权窗口
                                            console.log("打开设置窗口");
                                            if (that.data.saveset == "openSetting"){
                                                console.log("第二次进来",that.data.opensett);
                                                wx.openSetting({
                                                    success(settingdata) {
                                                        console.log(settingdata)
                                                        if (settingdata.authSetting["scope.writePhotosAlbum"]) {
                                                            console.log("获取权限成功,再次点击图片保存到相册")
                                                            that.setData({
                                                                saveset: ""
                                                            });
                                                        } else {
                                                            console.log("获取权限失败")
                                                        }
                                                    }
                                                });
                                            }
                                        }
                                    }
                                })
                            } else {//用户已经授权过了
                                console.log("用户已经授权过了")
                                that.saveset = "";
                                that.getImage();
                            }
                        }
                    })
                },
                getImage(){
                    wx.downloadFile({
                        url: 'https://xcx.rejoint.com.cn/uploads/avatar/201908/29/BwCOi6fRPzsD6ZX5LstG7FPdwqHC9u8UOH90UCew.png', //测试图片
                        success: function (res) {
                            console.log(res);
                            //图片保存到本地
                            wx.saveImageToPhotosAlbum({
                                filePath: res.tempFilePath,
                                success: function (data) {
                                    console.log("保存到相册", data);
                                    wx.showToast({
                                      title: '保存成功',
                                      icon: "none"
                                    })
                                  },
                                fail: function (err) {
                                    console.log(err)
                                }
                            })
                        }
                    })
                }
  • 相关阅读:
    225. 用队列实现栈
    232. 用栈实现队列
    459.重复的子字符串(简单)
    28. 实现 strStr()(简单)
    剑指 Offer 58
    541. 反转字符串 II(简单)
    浏览器渲染页面的过程、重绘、重排以及页面优化
    隐藏一个元素的几种方法
    当我们在浏览器中输入一个URL后,发生了什么?
    Object.create() 和 new Object()、{} 的区别
  • 原文地址:https://www.cnblogs.com/wangyihong/p/11496160.html
Copyright © 2011-2022 走看看