微信小程序使用rich-text 里面图片预览下载问题

发布时间 2024-01-04 15:36:46作者: 小杨观世界

方案:将html文本里面的图片地址保留起来,然后做一个长按事件,放手后进行预览图片地址(缺点:无法确定长按的是那一张,全部展示)

html

  <view class="text-content" style="max-height: max-content;">
      <rich-text bindtouchstart="onStart" bindtouchend="onEnd" user-select nodes="{{JournalismDetailDto.thisDetail.journalismContent}}"></rich-text>
    </view>

js

//整理图片
var paths = [];
var idx = res.data.thisDetail.journalismContent.indexOf(`src="${app.globalData.downloadurl}/`);
while (idx !== -1) {
  var idx2= res.data.thisDetail.journalismContent.indexOf('">',idx);
  if(idx2!==-1){
    var path =  res.data.thisDetail.journalismContent.substring(idx, idx2);
    paths.push(path.replace('src="',''))
  }
  idx = res.data.thisDetail.journalismContent.indexOf(`src="${app.globalData.downloadurl}/`, idx + 1);
}

//长按操作

startTime: null,
endTime: null,
picslist:[],//图片集合

onStart: function (event) {
    this.data.startTime = event.timeStamp
    console.log("按下时间戳:" + this.data.startTime)
  },
  onEnd: function (event) {
    this.data.endTime = event.timeStamp
    console.log("抬起时间戳:" + this.data.endTime)

    let ti = this.data.endTime - this.data.startTime
    if (ti >= 1500) {
      console.log("大于指定时间,开始执行对应的业务逻辑")
      wx.previewImage({
        urls:  this.data.picslist, // 需要预览的图片http链接列表
      })
    }
    else {
      console.log("小于指定时间,不执行操作")
    }
  }