在开源项目达到一定规模时,社区就会给出非常多的反馈,想要开源保持长久的生命力和正向的影响力,定期维护和更新是十分必要的。同时,从另一个角度来说,这也是对该开源项目使用者负责。

1

新蜂商城开源项目的重要节点

新蜂商城 项目自 2019 年 10 月开源到 GitHub 后已经取得了挺多的关注,直接已获得 5k+ star 和 1.3k 的 fork 数量,过程中也一直修改该开源项目存在的问题,很多问题其实都是用户提出来的,之后我再去进行修复和优化,此次修改的是商品详情编辑器。

以下新蜂商城开源项目的重要节点:


2020.3 ~ 2020.5 前后端分离版本开源

  • 开发 newbee-mall 前后端分离版本,前端为 Vue 技术栈

  • newbee-mall-vue-app 项目正式开源

  • 修复了部分 bug

2019.11 ~ 2020.2 代码优化及 bug 处理

  • 修复 SQL 注入问题

  • 修复“订单相关的请求未拦截登陆状态”的问题

  • 代码及注释的整理

  • 添加全局异常处理

  • 购物项数量验证逻辑修改

  • 下架商品的访问限制和下单限制

2019.8 ~ 2019.10 新蜂商城正式开源

  • 开发 newbee-mall 项目

  • newbee-mall 项目正式开源

2018.10 构思新蜂商城项目

2

本次更新内容

更新记录大家可以在仓库的提交历史中查看:

此次更新主要是商品编辑页面的修改,包括页面排版更新、KindEditor 富文本编辑器删除和 wangEditor 富文本编辑器引入、后端图片上传接口修改和 SQL 文件的调整。

原编辑页面如下图所示:

更新后商品编辑页面如下图所示:

更换富文本编辑器,其实只修改代码就可以,为什么 SQL 语句也要更改,后面我会解释。

3

为什么做这次更新?

主要有以下三个原因:

  • KindEditor 富文本编辑器长时间没有维护更新

大家可以点开 KindEditor 编辑器的 开源仓库提交记录 看一看,已经是一个长时间无维护更新的状态了,看了更新记录,很多都是 2016 年和 2017 年的更新,开发 newbee-mall 项目的时候是 2018 年底,所以当时也没有觉得特别别扭。

而现在,是在 2020 年底,这个时间跨度有点长了。

  • 收到了很多关于编辑器的问题反馈

长时间未更新、各种浏览器却一直进行版本更新、再加上现在有些浏览器默认也不再开启 Flash,导致现在使用 KindEditor 编辑器会出现一些奇怪的问题。

我也修改过一部分问题,但是新的问题依然存在,兼容问题、图片上传问题等等,每过一段时间就会有使用 newbee-mall 项目的朋友向我反馈问题。

  • wangEditor 富文本编辑器重启更新,V4 版本发布

问题很多,导致我之前也想过使用其他编辑器,但是并没有找到特别合适的,几个好用的编辑器也是和 KindEditor 一样的状态,很久不更新了,所以就没有更改。刚好前几天看到 wangEditor 编辑器的作者发文【长文】wangEditor V4.0 探索以团队的形式做开源项目,才知道 2020 年 wangEditor 编辑器又重启更新,因此决定更新一下 newbee-mall 项目的商品详情编辑器。

之前 wangEditor 也是很久没维护更新,看到作者的文章才知道又开始维护了,以下是作者的叙述:

特别是到了 2017 - 2018 年,自己实在是没有业余时间,所以就停止维护了。所以,在 V4 没有发布之前,大家看 github 代码的更新时间,都在 2 年之前了。对此我只能表示很无奈,不甘心,但又没办法。

2020 年春天,我从滴滴离职,业余时间就多一些了。我就想着把这个项目再重新做起来,于是就这样做了几个月,才有了现在的 V4 版本发布。

看到文章的当天下午,我就去看了一下 wangEditor 项目的开源仓库和使用文档,之后就把 wangEditor 整合进 newbee-mall 项目里,速度也算是比较快的了,测试完成后,于 2020.10.14 号将所有修改后的代码上传至 GitHub 开源仓库。

4

wangEditor 富文本编辑器的一个小问题

整合过程还是比较顺利的,因为使用文档比较清晰,主要是两个问题花了些时间:

  • 一是文件上传代码需要重新写

  • 二是编辑器在初始化时只会处理带有 html 标签的字符串,无 html 标签的字符串不会初始化到编辑器中

这里主要说一下第二个问题,如下图所示:

我们需要将 div1 初始化为编辑器模块,div1 中有两个字符串,一个带有 p 标签,一个不带 p 标签,初始化后只有带着 p 标签的字符串出现在编辑器中,而不带有 p 标签的字符串则出现在编辑器外。

对应到 newbee-mall 的商品详情编辑页面,就会出现下图中的情况:

想要编辑商品详情时,有些内容会出现在编辑器的外面。

我一开始以为我代码写错了,找问题找了一会儿,但是没发现哪里写错了。后面点了几个其他商品详情,我发现有的是正常的,有的是不正常的,而正常的就是有 html 标签的,不正常的都是这种纯字符串的,于是我把几个有问题的字符串包上 p 标签之后,一切正常了。

这个时候,我就想到,可能是 wangEditor 编辑器可能不支持这种纯字符串的内容,于是我到 wangEditor 的开源仓库中提了一个 issue:

该 issue 地址为:https://github.com/wangeditor-team/wangEditor/issues/2283

wangEditor 编辑器的作者 @wangfupeng 也很快回复了这条 issue:

想要渲染进编辑器中,必须要使用标签包裹,否则可能会出现额外的问题,暂时不支持该功能。

得到这个回复之后,我也就没继续追问下去,已经说得很清楚了,为了避免出现其他问题,所以要遵循一些规则,在 wangEditor 富文本编辑器支持该功能之前,我们尽量把需要初始化到编辑器中的内容字段,保证用 html 标签包裹。

而新蜂商城项目中的商品详情字段有很多都是纯字符串内容,由于项目中使用了 wangEditor 富文本编辑器,所以要对这些内容做一些修改去“适配”,于是我重新修改了 SQL 文件中的商品详情字段,对没有标签的数据进行修改,加上 html 标签:

这也是为什么在修改了代码之后,还要修改 SQL 语句的原因:

5

总结

好的,本次更新相关事宜已经介绍的差不多了,大家有什么问题也可以给我留言。后面有时间的话,我会继续整理一些 wangEditor 富文本编辑器的使用事项分享给大家。

另外,也有一点点小感慨,分享一下,勿喷,哈哈哈哈。

  • 越来越觉得做开源不是一个很轻松的活儿,甚至觉得有些繁琐有些麻烦

  • 能坚持维护更新开源项目的作者都值得一个大拇指,希望我也能一直坚持下去

  • wangEditor 是一个很棒的富文本编辑器,如果项目中需要集成富文本编辑器的话,一定要尝试一下

● 程序员的副业:我靠写作赚到的第一笔收入

● Vue+Spring Boot 前后端分离的商城项目开源啦!

● 「2020年中总结」这半年我又做了哪些副业?

● 程序员的副业:996的我们还要做副业吗?

● 程序员的副业:讲一讲线上视频课程制作的经历

● 我在地铁上写了一个开源商城项目

● 开源项目在闲鱼、b 站上被倒卖?这是什么骚操作?

● 年终总结-2019年,我的副业元年

● 程序员,你怎么这么忙?

● 捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了

● SpringBoot+MyBatis开发JavaWeb线上商城项目

“程序员的小故事”公众号中除注明转载/出处外,皆为作者原创,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

「newbee-mall新蜂商城开源啦」 页面优化,最新版 wangEditor 富文本编辑器整合案例...相关推荐

  1. 「newbee-mall新蜂商城开源啦」 前后端分离的 Vue 版本即将开源

    不仅仅是展现形式的增多和产品线的丰富,技术栈也加入了 Vue,开发模式也变成了前后端分离模式. 1 新蜂商城 Vue 版本 2019 年 10 月份我在 GitHub 开源仓库中上传了新蜂商城项目的所 ...

  2. 「newbee-mall新蜂商城开源啦」GitHub 上最热门的 Spring Boot 项目,我也要做一次靓仔!...

    没有一个冬天不可逾越,也没有一个春天不会到来. 介绍一下新蜂商城的近况,同时,新蜂商城 Vue 版本目前也在开发中,在这篇文章里我也向大家公布一下新蜂商城 Vue 版本的开发进度,和大家同步一下,在不 ...

  3. 「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

    我的想法很简单,就是做一个大家都能运行的商城项目,而不是缺胳膊少腿的项目,不求有多么完善,也不求有多少技术栈,我目前的想法就是大家都可以运行它.使用它,至于完善它嘛,给我点时间哈. 本项目开源地址: ...

  4. 「newbee-mall新蜂商城开源啦」1000 Star Get !仓库Star数破千!记录一下

    新蜂商城已经开源了 3 个多月左右的时间,在 2019 年的年末,仓库的 Star 数量冲破了 1000,整理本篇文章的时间是 2020 年 1 月 12 日,目前的 Star 数量是 1180 左右 ...

  5. 开源项目新蜂商城在Linux上部署,mysql+nginx

    newbee-mall是一项基于Spring Boot的在线商城系统,非常适合新手了解学习Spring Boot框架 源码新蜂商城后端接口 newbee-mall-api 新蜂商城 Vue3 版本 n ...

  6. 新蜂商城(newbee-mall-api)部分接口实验,跨域处理(同源策略,跨域访问,CORS),系统安全问题(Session,Cookie,Token,OAuth)(软件工程综合实践课程第十三周)

    文章目录 一.要求 二.知识总结 跨域处理 1.同源策略 1.1 浏览器的同源策略 1.2 跨域请求实验 2 跨域访问 2.1 添加响应头来处理跨域 2.1.1 CORS 跨域资源共享 2.1.2 设 ...

  7. (转)学习淘淘商城第二十二课(KindEditor富文本编辑器的使用)

    http://blog.csdn.net/u012453843/article/details/70184155 上节课我们一起学习了怎样解决KindEditor富文本编辑器上传图片的浏览器兼容性问题 ...

  8. (转)淘淘商城系列——KindEditor富文本编辑器的使用

    http://blog.csdn.net/yerenyuan_pku/article/details/72809794 通过上文的学习,我们知道了怎样解决KindEditor富文本编辑器上传图片时的浏 ...

  9. flutter 富文本编辑器选择图片模糊_Flutter 到底香不香?看完这几个开源项目再做决定...

    Flutter 自 2015 年推出以来,凭借着其极高的开发交付效率,优秀的多平台能力,以及强大的 UI 表现力,受到了许多开发者们的推崇.虽然 Flutter 的确仍旧存在一些问题,但依然是不少开发 ...

最新文章

  1. 这8份前沿Paper+Code ,你一定用得上!
  2. JQuery 动态生成元素添加点击事件
  3. 抖音升级老年人防沉迷提醒机制 覆盖多个使用场景
  4. PostgreSQL 9.6 IO Hang问题浅析与优化
  5. Linux 命令(108)—— ifconfig 命令
  6. 马士兵讲jsp项目--BBS项目分析笔记
  7. ssh连接Linux很慢,且ssh传输文件很慢的解决方案
  8. java文件中注释出现乱码解决办法
  9. 《node2vec Scalable Feature Learning for Networks》阅读笔记
  10. 适用于软件工程的定律Augustine's laws
  11. 推动铅蓄电池绿色“转身”
  12. Android界面隐藏软键盘的探索(兼findViewById返回null解决办法)
  13. php echo eot,(基础篇)php中理解print EOT分界符和echo EOT的用法区别
  14. 小程序 横向 纵向排列
  15. 开发笔记 | JAVA获取微信步数+日周月排行榜的实现
  16. 不忘初心,砥砺前行——移宇科技助力泸州市内分泌学术年会
  17. windows下,查看apk的包名、以及查找appActivity(aapt命令)
  18. 设计师和程序员必备:全世界最著名的 icon 网站都在这了
  19. 小地鼠偷吃萝卜(模板)
  20. 中国农民丰收节交易会暨“日照有礼”功能性特色产品展示

热门文章

  1. CircleProgressBar 带载入动画的环形进度条
  2. 使用python绘制一个渐变色的圆
  3. Ubuntu找不到Wi-Fi适配器No Wi-Fi Adapter Found修复笔记
  4. 世界是平的读后感(转,整理)
  5. Week9 作业——B - 东东学打牌
  6. 5.25 FLASH
  7. 阿里云再宕机,百度云、腾讯云迎来发展新机会
  8. 在c语言中sqr怎么变成int,Basi与c语言基础.ppt
  9. 音乐播放器中期总结(类似于qq音乐的歌词显示)
  10. cass如何导入tif格式_CASS导入坐标文件的方法,一般人我不告诉他!-DAT文件