本文共 1150 字,大约阅读时间需要 3 分钟。
最近在做百度小程序,发现百度小程序目前大家接触的都比较少,还搜不到相关的技术支持,特别是处理文章的富文本处理工具。做过微信小程序的都知道,微信有一个wxParse,专门针对微信富文本开发的一套组件,可以完美让html转换成小程序的节点,于是便想能不能把wxParse改造成百度小程序的。
由于百度小程序和微信小程序的代码相似度搞大95%以上,几乎就是微信的wxml,js请求和标签批量替换成百度swan,js的,css和json完全通用,这也包括富文本节点完全一样,所以尝试改造,用于百度和微信的循环和模板调用不太一样,所以也费了点时间,为了区分wxParse,所以改名字bdParse。
项目介绍
百度小程序富文本解析工具bdParse,改造自wxparse,支持html转换成百度小程序富文本节点。
安装教程下载整个全部文件,放到你的小程序根目录下
在小程序页面的js种直接引入代码:var bdParse = require('../../bdParse/bdParse.js');
在需要的字段使用baparse,代码:(注意:article和content不要重复)that.setData({ content:bdParse.bdParse('article', 'html', content, that, 5), })
swan页面引入模板, 然后在需要显示富文本的地方调用:
使用说明swan调用模板的data="{
{article}}"和setData中的article保持一致。调用bdparse组件的时候,组件已经把富文本内容赋值(即setData)给了article,所以swan可以直接data="{
{article}}"。wxParse的调用方式为{
{wxParseData:article.nodes}},这里和他的不一样。其他说明bdParse是在wxParse的基础上改造的,只是把wxParse替换换成了bdParse,包含js,swan, css
wxml修改后缀改成swan,并且修改了全部模板传值的调用方式,符合百度小程序的使用。
修复了其他百度小程序的专有组件,比如s-for,s-if,s-elif,s-for-index等等
修复其他问题,比如去掉重复的mode以及去掉data-from,给所有的s-for-index添加idx(好像不能为空)。
其他修改,不再赘述
因为直接批量替换内容,基本文章可以满足使用,其他没有做过多测试,欢迎大家反馈bug
参与贡献开发者:腾石建站
bdParse.swan改造自wxParse.wxml
码农不易,多多支持
如果你觉得bdParse帮你解决了问题,请不要忘了打赏,你的支持是我们最大的动力。
转载地址:http://jzctx.baihongyu.com/