ujcms-3.0.0 发布

2022-06-13 21:37 阅读

全面使用国密加密算法,包括 SM2、SM3、SM4、HmacSM3、PBKDF2WithHmacSM3。增加多站点的演示,以及完善多站点的管理和多站点的权限控制,完善用户、角色的管理和授权功能。增加了 Markdown 编辑器、后台多页签、对象存储、文库及 DOC 导入功能。

破坏性更新包括:

  • 使用 escape 标签处理 XSS 和空值。所有 freemarker 页面使用 [#escape x as (x)!?html] 开头和 [/#escape] 结尾;使用 [#noescape]...[/#noescape] 功能替换原有的 ?no_esc
  • 密码需用新算法重置。可参考UJCMS忘记管理员密码的重置办法

升级日志(3.0.0)

  • 新增:系统信息功能
  • 新增:密码使用国密 PBKDF2WithHmacSM3 加密
  • 新增:登录时密码传输使用国密 SM2 非对称加密
  • 新增:JWT 使用国密 HmacSM3 加密
  • 新增:JWT token 使用国密 SM4 加密
  • 新增:随机密钥生成功能
  • 新增:前台模板使用 escape 标签处理 XSS 和空值问题
  • 新增:后台管理界面多页签功能
  • 新增:后台管理界面 session 失效后,自动显示登录框,登录后保留在原页面,防止页面数据丢失
  • 新增:区块项新增功能
  • 新增:DOC 导入功能
  • 新增:文库转换功能
  • 新增:文库封面自动截图
  • 新增:文章管理增加 Markdown 编辑器
  • 新增:附件、HTML 静态页、模板支持对象存储(MinIO、阿里云对象存储、腾讯云对象存储、七牛云对象存储)
  • 优化:富文本编辑器的字体从 16px 改为 14px
  • 优化:富文本编辑器即时校验功能
  • 优化:增加上传功能的错误提示
  • 优化:application.properties 改为 application.yaml,避免注释的中文无法在普通编辑器中显示
  • 修复:文章管理图片集上传框未对齐
  • 修复:删除有图片集的文章报错
  • 修复:视频无法上传

简介

UJCMS是在Jspxcms多年的开发经验上,重新设计开发的Java开源内容管理系统(java cms)。使用SpringBoot、MyBatis、Shiro、Lucene、FreeMarker、TypeScript、Vite2、Vue3、ElementPlus2、等技术。针对原系统中的一些痛点问题,进行解决、优化和改进,并使用GPL-2开源协议发布,可免费商用。

技术上选择主流、先进、简单的架构,方便用户进行二次开发。持久化层用MyBatis替换了Hibernate;视图层用前后端分离的Vue3替换了JSP;数据库也进行了重新设计。设计上强调“简单”、“灵活”,避免繁杂的设计和实现,降低系统维护成本和二次开发难度。功能使用上也要求“简单”,避免复杂的使用逻辑。

技术及功能亮点

自定义字段可查询:所有的自定义字段都可查询增强了系统的灵活性。

自定义字段可视化设计:自定义字段使用拖拽式的可视化设计,所见即所得。

URL地址SEO优化:栏目和文章的动态地址可以通过系统的全局设置功能进行修改。默认的栏目和文章URL地址前缀为/channel/article,可以根据自己的需要修改,如改为/categories/archives。多站点的情况下,子站点URL地址也由原来的www.example.com/site-abc的形式改为更友好的www.example.com/abc的形式。

清理垃圾附件:系统使用时,可能会多传、误传图片等附件;在删除文章后,文章中的图片还保留在系统中,产生大量的未使用的垃圾图片和附件。系统中的附件管理可以查看所有未使用的图片和附件,并可对其进行删除。

附件、模板、索引文件独立部署:系统运行时产生的文件可以和程序分开,部署到独立的目录,方便系统备份、升级和管理。比如上传的图片和附件、前台的模板、索引文件,都可以部署到程序以外的目录。

模板文件和CSS、JS在同一目录:模板文件和CSS、JS分开的目录结构,会给模板制作和部署带来很大的不便性。而将模板文件和CSS、JS放在一起的设计,会方便很多。

MyBatis参数化查询:后台数据通常会需要通过不同字段进行搜索,对每个表都写大量的查询,无疑是一项繁重的工作。MyBatis参数化查询功能通过前台传递查询参数,即可实现任意字段及关联表的查询功能(如:Q_title=abc,Q_user-username=test),无需后台编写代码,大幅减少后端的开发工作量。

主副表拆分:对查询量大的复杂表进行主副表拆分,把常用的查询字段放到主表,不常用的字段放到副表,提升大数据量下的性能表现。

后端技术

  • SpringBoot:提供了对Spring开箱即用的功能。简化了Spring配置,提供自动配置auto-configuration功能。
  • SpringMVC:MVC框架,使用方便,Bug较少。
  • Mybatis:持久化框架。
  • FreeMarker:网站模板组件。
  • Shiro:安全组件。配置简便。
  • Lucene:全文检索组件。

前端技术

  • Vue 3:JavaScript框架。
  • ElementPlus 2:Vue 3 UI 框架。
  • Vite 2: 下一代前端开发与构建工具。
  • TypeScript: JavaScript的一个超集。
  • TailwindCSS: 功能类优先的 CSS 框架。
  • Tinymce: 富文本编辑器。

功能列表

  • 内容
    • 文章管理
    • 栏目管理
    • 区块管理
    • 附件管理
    • 生成管理
  • 配置
    • 全局设置
    • 站点设置
    • 模型管理
    • 区块设置
    • 字典类型
    • 字典数据
  • 用户
    • 用户管理
    • 角色管理
    • 用户组管理
    • 组织管理
  • 系统
    • 站点管理

前台模板

后台界面

上一篇:ujcms-2.0.2 发布
下一篇:ujcms-4.1.1 发布
QQ咨询
电话
微信
微信扫码咨询