当前位置: 首页 > article >正文

微信小程序显示后台文章副文本,图片和视频正常显示

解决方案:

  1. 使用 wxParse 或 rich-text 组件: 这两种方式可以解析 HTML 字符串并渲染富文本内容,包括图片和视频。

  2. 数据处理: 将后台返回的富文本数据进行处理,提取出图片和视频的链接,并将其转换成小程序支持的格式。

方案一:使用 rich-text 组件 (推荐)

优点:

  • 无需引入第三方库
  • 小程序原生支持,性能更优

代码示例:

<!-- pages/article/article.wxml -->
<view class="container">
  <rich-text nodes="{{articleContent}}"></rich-text>
</view>
// pages/article/article.js
Page({
  data: {
    articleContent: "",
  },

  onLoad: function (options) {
    this.getArticleDetail(options.id);
  },

  getArticleDetail: function (articleId) {
    // 模拟数据请求
    wx.request({
      url: `your-api-url/${articleId}`, // 替换成你的接口地址
      success: (res) => {
        const articleContent = this.processArticleContent(res.data.content);
        this.setData({
          articleContent,
        });
      },
    });
  },

  // 处理文章内容,将图片和视频链接转换为小程序支持的格式
  processArticleContent: function (content) {
    // 使用正则表达式匹配图片和视频链接
    const imgReg = /<img.*?src="(.*?)".*?>/g;
    const videoReg = /<video.*?src="(.*?)".*?>/g;

    // 替换图片链接
    content = content.replace(imgReg, (match, src) => {
      return `<image src="${src}" mode="widthFix"></image>`;
    });

    // 替换视频链接
    content = content.replace(videoReg, (match, src) => {
      return `<video src="${src}" controls></video>`;
    });

    return content;
  },
});

方案二:使用 wxParse 第三方库

优点:

  • 功能强大,支持更多 HTML 标签和样式
  • 使用简单,容易上手

步骤:

  1. 安装 wxParse:

    npm install wxParse
    
  2. 引入 wxParse:

    在需要使用 wxParse 的页面对应的 .js 文件中引入:

    var WxParse = require('../../wxParse/wxParse.js'); 
    // 将路径替换成 wxParse.js 文件在你项目中的实际路径
    
  3. 使用 wxParse 解析富文本:

    // pages/article/article.js
    Page({
      data: {
      },
    
      onLoad: function (options) {
        this.getArticleDetail(options.id);
      },
    
      getArticleDetail: function (articleId) {
        wx.request({
          url: `your-api-url/${articleId}`, // 替换成你的接口地址
          success: (res) => {
            // 使用 wxParse 解析富文本内容
            WxParse.wxParse('article', 'html', res.data.content, this, 5);
          },
        });
      },
    });
    
  4. 在 wxml 中渲染:

    <!-- pages/article/article.wxml -->
    <view class="container">
      <template is="wxParse" data="{{wxParseData:article.nodes}}"/> 
      </view>
    

注意:

  • 以上两种方案都需要根据实际情况对图片和视频链接进行处理,确保链接格式正确且资源可访问。
  • 建议使用 HTTPS 链接,以避免在小程序中出现安全警告。
  • 使用 wxParse 需要注意版本兼容性问题。

希望以上信息能够帮助你!


http://www.kler.cn/a/293553.html

相关文章:

  • 【学习】Fine-tuning知识汇总
  • Jmeter基础篇(22)服务器性能监测工具Nmon的使用
  • flink sql + kafka + mysql 如何构建实时数仓
  • JavaScript高级程序设计基础(四)
  • vue3项目中内嵌vuepress工程两种实现方式
  • 场景解决之mybatis当中resultType= map时,因某个字段为null导致返回的map的key不存在怎么处理
  • 考拉悠然董事长申恒涛受邀出席2024AGIC深圳通用人工智能大会
  • python3查看es集群中每个索引的分片和副本配置
  • 快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
  • [数据集][目标检测]水面垃圾检测数据集VOC+YOLO格式2027张1类别
  • 基础学习之——git 的使用方式
  • CTFHub技能树-Git泄漏-Stash
  • 前后端时间传递之注解
  • K8s中pod控制器
  • 影响画布微信小程序canvas及skyline和webview用户界面布局的关键流程
  • 如何利用ChatGPT提升学术论文讨论部分的撰写质量和效率
  • 图像仿射变换及其逆变换【Python实现】
  • 如何恢复格式化的 Android 智能手机
  • 使用NetBackup GUI 图形化进行oracle备份和恢复
  • 日志轮转方案和脚本
  • EvoSuite使用总结
  • Java+Swing+sqlserver学生成绩管理系统
  • springboot中上传图片到阿里云的oss云存储
  • CSS学习9[重点]--盒子模型大小、布局稳定性、CSS3盒模型以及盒子阴影
  • 端侧 ChatGPT 时刻到来!面壁小钢炮 3.0 重磅发布
  • Docker 在 Windows 上的使用指南