在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
这是自己做小程序生成推广海报,并保存到本地相册的方法,向后台发起请求,返回一个海报图片,下载保存到相册, 如果只是单纯的下载图片代码43行-63行就足够了 如果想直接保存到相册,则不要做downFile的处理,直接调用saveImageToPhotoAlbum,线上版本无法保存临时路径的图片 具体看代码: //选中轮播图中的一个作为海报背景图。可自行实验,只是自己的总结 bindchange: function(a) { for (var t = this, o = a.detail.current, i = t.data.imgUrls, n = 0; n < i.length; n++) { var e = i[o].plogo; var title = i[o].title; t.setData({ imgcxs: e, title: title }); } t.setData({ tuhight: o, 真机的时候发现了一个问题,saveImageToPhotosAlbum没有调动本地相册。 后来发现是没有授权的原因,所以利用wx.getSetting进行检测,没有授权,调起弹窗授权,当授权成功,使ruler变为true,使授权按钮消失, onShow:function(){ var that=this wx.getSetting({ success(res) { if (!res.authSetting['scope.writePhotosAlbum']) { wx.authorize({ scope: 'scope.writePhotosAlbum', success() {//这里是用户同意授权后的回调 that.setData({ ruler:true }) }, fail() {//这里是用户拒绝授权后的回调 // wx.showModal({ // title: '警告', // content: '授权失败,无法保存到相册', // }) that.setData({ ruler:false }) } }) } else {//用户已经授权过了 } } }) }, 如果用户拒绝了授权,短时间内则不会在出现弹窗,所以,如果需要用户授权使用此功能的话,需要按钮授权,当授权成功,使ruler变为true,使授权按钮消失,也就是一共两个按钮作做处理 wxml: <text bindtap="bao" wx:if="{{ruler}}">保存图片到相册</text>
<button open-type="openSetting" bindopensetting='handleSetting' class="xsACA" wx:else> <text bindtap="bao" style='background:#64bcfc'>授权相册</text> </button> handleSetting: function (e) {
let that = this;
// 对用户的设置进行判断,如果没有授权,即使用户返回到保存页面,显示的也是“去授权”按钮;同意授权之后才显示保存按钮
if (!e.detail.authSetting['scope.writePhotosAlbum']) {
wx.showModal({
title: '警告',
content: '若不打开授权,则无法将图片保存在相册中!',
showCancel: false
})
that.setData({
ruler: false
})
} else {
wx.showModal({
title: '提示',
content: '您已成功授权相册',
showCancel: false
})
that.setData({
ruler: true
})
}
},
|
请发表评论