import { getContentShareImg } from '../../api/index' import { checkAuth, downloadSaveFile } from '../../utils/downloadSaveFile' Page({ /** * 页面的初始数据 */ data: { bottomLift: '', downloadList: [], downloadConfig: {}, checkedAll: false, showParam: false, takeQrcode: true }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { var app = getApp().globalData this.setData({ bottomLift: app.bottomLift }) }, subDownload() { let that = this const downloadList = this.data.downloadList const downloadConfig = this.data.downloadConfig checkAuth(() => { wx.showLoading({ title: '正在下载', mask: true }) downloadList.forEach(item => { if (item.checked) { item.paddingStatus = 2 } }) this.setData({ downloadList }) downloadList.forEach(item => { if (item.checked) { if (that.data.takeQrcode == 1) { getContentShareImg({ articleId: `${downloadConfig.id}_${downloadConfig.path}`, type: that.data.takeQrcode ? 1 : 0, imgurl: item.url }).then(res => { wx.downloadFile({ url: res.data, success: res => { if (res.statusCode === 200) { wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: res => { item.paddingStatus = 3 item.checked = false that.setData({ downloadList }) wx.showToast({ title: '保存成功', icon: "none" }) }, fail: res => { item.paddingStatus = 4 item.checked = false that.setData({ downloadList }) wx.showToast({ title: '保存失败', icon: "none" }) } }) } } }) }) }else{ wx.downloadFile({ url: item.url, success: res => { if (res.statusCode === 200) { wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: res => { item.paddingStatus = 3 item.checked = false that.setData({ downloadList }) wx.showToast({ title: '保存成功', icon: "none" }) }, fail: res => { item.paddingStatus = 4 item.checked = false that.setData({ downloadList }) wx.showToast({ title: '保存失败', icon: "none" }) } }) } }, fail(err) { item.paddingStatus = 4 that.setData({ downloadList }) wx.showToast({ title: '图片下载失败',icon: 'none' }) } }) } } }) }) this.setData({ showParam: false }) }, onShow() { const downloadList = wx.getStorageSync('downloadList') || [] const downloadConfig = wx.getStorageSync('downloadConfig') || {} let temp = downloadList.map(i => { // paddingStatus: 0未下载1正在下载2等待下载3下载完成 return { url: i, paddingStatus: 0, checked: false } }) this.setData({ downloadList: temp, downloadConfig }) }, openParam() { const downloadList = this.data.downloadList.filter(i => i.checked) if (downloadList.length === 0) return wx.showToast({ title: '请先选择要下载的海报', icon: 'none' }) this.setData({ showParam: true }) }, onClose() { this.setData({ showParam: false }) }, downCheck(e) { const takeQrcode = e.currentTarget.dataset.flag console.log('takeQrcode', takeQrcode); this.setData({ takeQrcode }) }, itemCheck(e) { const i = e.currentTarget.dataset.i const { downloadList } = this.data let count = 0 downloadList.forEach((item, index) => { if (index === i) { if (item.paddingStatus == 3) { item.paddingStatus = 0 } item.checked = !item.checked } if (item.checked) { count++ } }) this.setData({ checkedAll: count == downloadList.length, downloadList }) }, allCheck() { const { downloadList, checkedAll } = this.data downloadList.forEach(item => { item.checked = !checkedAll }) this.setData({ checkedAll: !checkedAll, downloadList }) }, onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })