2019-06-20更新 :相关视频内容已更新到ZCMS产品官网,可通过如下链接查看: https://www.zving.com/c/2019-06-20/285820.shtml
第一幕:引导语
大家好,我是泽元软件长沙子公司的朱治龙,今天由我来给大家讲解ZCMS3.x二次开发。
本次分享主要根据这个脑图上的一些知识点结合二次开发手册进行讲解。由于ZCMS3.x采用的是前后端分离的技术架构,本次分享的内容大纲主要分为前端和后端两大块。
由于我们本次学习的重点是ZCMS二次开发,二次开发涉及一些前置知识需要大家利用其它的时间进行学习,涉及的主要前置知识包括:熟悉 Eclipse 的使用、Maven 多模块开发、SpringBoot、ZCF
前端采用的主要是Vue生态相关的热门技术,包括:ES6、Node、Webpack、Vue全家桶、element-ui 等
现在根据二次开发文档的步骤讲解下二次开发原理及流程。
首先给大家对ZCMS3做一些简单介绍。
ZCMS3.X是一个功能强大的使用J2EE技术开发的站群管理系统,后端基于Springboot+ZCF+Maven多模块开发,前端使用Vue全家桶+ElementUI等主流前端技术。
第二幕: 基本介绍
可以通过Eclipse的插件 ZDeveloper 进行二次开发支持,通过 ZDeveloper 可以很方面的扩展ZCMS的接口、菜单、权限、定时任务、模板标签等,并允许通过系统预留的扩展点及扩展项扩展系统内容采编发、权限、工作流在内的各种行为。还提供了非常方便的数据库模型设计工具
概述及技术架构
现在我们打开二次开发手册,首先阅读一下ZCMS二次开发概述的内容。其中需要重点关注的点我已做了加粗标记。
从加粗的几个词我们可以了解到,使用的是前后端分离的技术架构,前端使用Vue,后端基于Springboot 和ZCF,开发工具建议使用Eclipse或SpringToolSuite。推荐使用SpringToolSuite.
后端主要采用Maven多模块开发模式,使用ZDeveloper插件进行二次开发。
下面我们了解一下ZCMS的技术架构:
从这张技术架构图中我们可以了解到前端使用的是Vue、ElementUI、Webpack、axios相关的前端技术
后端使用SpringBoot来简化Java应用的初始搭建以及开发过程,使用Restful接口规范给前端提供API接口,使用SpringBoot中集成的SpringMVC来响应前端的接口请求。通过ZCP集成了组织机构、角色、用户、配置项等系统管理相关的基础功能。基于Contentcore模块提供内容管理相关的核心功能,在整个生命周期中有ZCF框架提供定时任务、事务、日志、安全监控及扩展服务、扩展项、扩展点、扩展行为等功能,使用基于ZCF的ORM模块实现数据持久层的管理。
下面我们里哦啊接一下ZCF的响应流程,也就是前后端交互的流程:
首先从前端页面发起一个异步请求,后端在Controller层由SpringMVC接收到请求并根据具体URL匹配规则定位到具体的Controller类中对应的方法,在方法中执行相应的后端业务逻辑处理,处理结束后返回到Controller层,由Controller层已json格式的方式将内容返回给前端,前端根据返回的数据渲染界面。
第三幕:后端二次开发流程演示
下面我们根据二次开发手册讲解开发环境搭建流程。
首先讲解后端开发环境搭建,
2.1中所提及的基础软件安装就不着重讲了,下面我们讲解ZDeveloper插件的安装,目前最新的ZDeveloper插件的版本号是3.0.7,我们将这个插件拷贝到Eclipse的Dropins或Plugins目录。我本地使用的是SpringToolSuite 4,后面我们简称为STS,这是一个为开发spring应用定制的eclipse,我们打开STS所在的目录,将文件拷贝到到对应的目录里,启动STS。
为了贴近真实开发流程场景,我们新建一个新的工作区,
前端开发环境
前后端分离的开发模式下,后端服务只通过接口给前端界面提供服务,所以我们需要通过UI界面查看显示效果的话,还需要把前端工程也运行起来。现在我们根据前端开发环境的文档把前端工程也跑起来。
下面我将以上次广汽丰田项目二次开发培训用到的示例就二次开发涉及的知识点给大家做一个简单的讲解。
示例效果演示
首先我们看一下这次要讲解的示例效果
这个示例效果是上次为广汽丰田项目做二次开发培训准备的,主要是实现了在配置菜单下添加了一个车型管理的子菜单,在该子菜单下主要是仿造广汽丰田官网中的品牌车型栏目内容管理功能,并提供了仿照该页面的预览视图,下面我们演示一下相关的增删改查功能。
单击新建按钮,在打开的“新建车型”对话框中填写相应的车型信息,选择响应的LOGO图及车型图,单击保存按钮
接口规范
下面我们开始讲解相关的二次开发功能实现,首先回到二次开发手册,找到2.9开发说明,开发说明中其他点大家自己看一下,我这里主要说明下第四小点,该小点主要说明的是在ZCMS中有3类业务接口,分别是数据API服务接口、后端应用服务接口、网站前端服务接口,这3类接口分别用于跟其他应用对接的API接口,为client工程提供服务的ui接口,为网站应用提供服务的front接口,3种接口在包名、类名及接口路径上都有相应的约定:
名称 | 包名 | 类名 | 接口路径 |
---|---|---|---|
数据API服务接口 | api | XxxAPI | /api/xxx |
后端应用服务接口 | ui | XxxUI | /ui/xxx |
后端应用服务接口 | front | XxxFront | /front/xxx |
这在我们的工程里主要体现是这样的形式:
相应的模块分别放在api、front、ui包下面,里面的java类分别以API、Front、UI结尾,java类中的接口路径分别以/api/、/front/、/ui/开头
评论 (0)