ll
liukangdong
2024-08-15 ebc6e7ee67f13e7aa311e737dfcb4c5caed112ee
wechat_staff/pages/promotion/index.js
@@ -1,23 +1,53 @@
// pages/promotion/index.js
import {
  newsPage,
  saveShareRecord
} from '../../api/index'
import moment from "moment";
Page({
  /**
   * 页面的初始数据
   */
  data: {
    capacity: 10,
    page: 1,
    list: [],
    total: 0,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getList()
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  getList() {
    newsPage({
        capacity: this.data.capacity,
        page: this.data.page,
        model: {
          type: 0
        }
      })
      .then(res => {
        wx.stopPullDownRefresh()
        if (this.data.page == 1) {
          this.setData({
            list: []
          })
        }
        if (this.data.page == res.data.page) {
          res.data.records.forEach(element => {
            element.createDate = moment(element.createDate).format("yyyy/MM/DD")
          })
          this.setData({
            list: [...this.data.list, ...res.data.records || []],
            total: res.data.total
          })
        }
        console.log(this.data)
      })
  },
  onReady() {
  },
@@ -28,7 +58,175 @@
  onShow() {
  },
  onReachBottom() {
    console.log('触底事件');
    const {
      total,
      list,
      page
    } = this.data
    if (total > list.length) {
      this.setData({
        page: page + 1
      })
      this.getList()
    } else {
      wx.showToast({
        title: '暂无更多数据',
        icon: 'none'
      })
    }
  },
  downfile(e) {
    const item = e.currentTarget.dataset.index;
    saveShareRecord(item.id)
    const files = []
    if (item.fileType == 1 && item.fileList && item.fileList.length && item.fileList[0].fileurlFull) {
      files.push(item.fileList[0].fileurlFull)
    }
    if (item.fileType != 1 && item.fileList && item.fileList.length) {
      item.fileList.forEach(ee => {
        if (ee.fileurlFull) {
          files.push(ee.fileurlFull)
        }
      })
    }
    if (item.fileType == 1) {
      this.downloadVideoFileDo(files, item.title)
    } else {
      this.downloadImageFileDo(files, item.title)
    }
  },
  downloadImageFileDo(files, title) {
    wx.showLoading({
      title: '正在下载',
      mask: true
    })
    let temp = 0;
    let count = 0;
    if (files.length) {
      for (let i = 0; i < files.length; i++) {
        let filePath = wx.env.USER_DATA_PATH + '/' + new Date().valueOf() + i + '.jpg';
        wx.downloadFile({
          url: files[i],
          filePath: filePath,
          timeout: 180000,
          success: function (res) {
            var tempFp = res.filePath
            wx.saveImageToPhotosAlbum({
              filePath: tempFp,
              success(result) {
                temp++;
                count++;
                if (count == files.length) {
                  wx.hideLoading()
                }
                if (temp == files.length) {
                  wx.setClipboardData({
                    data: title,
                    success: function (res) {
                      wx.getClipboardData({
                        success: function (res) {
                          wx.showToast({
                            title: '文案已复制成功,去分享吧'
                          })
                        }
                      })
                    }
                  })
                }
              },
              fail(err) {
                count++;
                if (count == files.length) {
                  wx.hideLoading()
                }
                wx.showToast({
                  title: '图片下载失败哦'
                })
              }
            })
          },
          fail(err) {
            count++;
            if (count == files.length) {
              wx.hideLoading()
            }
            wx.showToast({
              title: '图片下载失败哦'
            })
          }
        })
      }
    }else{
      wx.showToast({
        title: '该资讯暂无可分享的图片或视频',
        icon: 'none'
      })
    }
  },
  downloadVideoFileDo(files, title) {
    wx.showLoading({
      title: '正在下载',
      mask: true
    })
    let count = 0;
    if (files.length) {
      let filePath = wx.env.USER_DATA_PATH + '/' + new Date().valueOf() + '0.mp4';
      wx.downloadFile({
        url: files[0],
        filePath: filePath,
        timeout: 180000,
        success: function (res) {
          var tempFp = res.filePath
          wx.saveVideoToPhotosAlbum({
            filePath: tempFp,
            success(result) {
              count++;
              if (count == files.length) {
                wx.hideLoading()
              }
              wx.setClipboardData({
                data: title,
                success: function (res) {
                  wx.getClipboardData({
                    success: function (res) {
                      wx.showToast({
                        title: '文案已复制成功,去分享吧'
                      })
                    }
                  })
                }
              })
            },
            fail(err) {
              count++;
              if (count == files.length) {
                wx.hideLoading()
              }
              wx.showToast({
                title: '视频下载失败哦'
              })
            }
          })
        },
        fail(err) {
          count++;
          if (count == files.length) {
            wx.hideLoading()
          }
          wx.showToast({
            title: '视频下载失败哦'
          })
        }
      })
    }else{
      wx.showToast({
        title: '该资讯暂无可分享的图片或视频',
        icon: 'none'
      })
    }
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
@@ -47,14 +245,11 @@
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log('下拉刷新')
    this.setData({
      page: 1
    })
    this.getList()
  },
  /**