楼层WAP\APP端支持开发文档

1 需求说明

1.1菜单调整

后台的页面菜单子菜单调整为:

PC装修
楼层模板 原功能不变
楼层管理 原功能不变
焦点图 原功能不变
移动端装修
楼层模板 管理移动端的楼层模板
楼层管理 设计移动端的楼层
焦点图 移动端的焦点图管理

1.2移动端楼层模板管理

同PC端:

点击查看大图

但是,从数据上,PC端和移动端的数据分开显示管理

1.1移动端楼层设计

点击移动端的“楼层设计”直接进入以下页面

1.3.1 区域介绍

模块选择区的模块列表就是“移动端楼层模板”的列表,图标使用同一的图标,文字是楼层模板的名称:

1.3.2 操作说明

1.3.2.1 模块选择

当鼠标悬停在某个模块时的效果:

1.3.2.2 模块新增

点击某模块时会在“页面编译预览区”的最下新增一个楼层

如上图所示,还可以对此模块进行排序和删除的操作。

1.3.2.3 内容编辑

对于模块内的区域鼠标移上去时,像PC一样有一个遮罩,点击这个遮罩也弹出和PC一样的选择器。

1.3.2.4 首页发布

点击“发布首页”按钮对数据进行保存,并生成首页的静态页。

2 开发说明

2.1.1数据库设计

2.1.1.1 es_cms_floor表

中文:楼层表

Name Code Comment DataType Length
主键id id int(11) 11
模板id tpl_id int(11) 11
楼层名称 name varchar(255) 255
楼层排序 sort int(11) 11
是否显示 is_display 0:否,1:是 int(1) 1
锚点文字 anchor_word 预留字段 varchar(255) 255
锚点图标地址 anchor_url 预留字段 varchar(255) 255
楼层颜色风格 floor_color 预留字段 varchar(255) 255
客户端类型 client_type pc:pc楼层mobile:移动端楼层 varchar(10) 10
模板布局 layout_style 将这个字段删除 varchar(255) 255
2.1.1.2 es_cms_floor_panel表

中文:楼层面板表

原表:es_cms_floorcontent

Name Code Comment DataType Length
主键id id int(11) 11
楼层id floor_id int(11) 11
panel_id 删除此字段 varchar(50) 50
楼层内容json content_json longtext
楼层元数据 panel_data text
模板id panel_tpl_id int(10) 10
排序 sort int(11) 11
面板名称 panel_name varchar(255) 255
panel_html 删除此字段 longtext
2.1.1.3 es_cms_focuspic表
Name Code Comment DataType Length
主键id id int(11) 11
图片地址 pic_url varchar(255) 255
操作类型 operation_type int(11) 11
操作参数 operation_param varchar(255) 255
操作地址 operation_url varchar(255) 255
客户端类型 client_type pc:pc楼层mobile:移动端楼层 varchar(10) 10
2.1.1.4 es_cms_panel_tpl表
Name Code Comment DataType Length
主键id tpl_id int(10) 10
模板类型 tpl_type int(10) 10
模板内容 tpl_content text
模板名称 tpl_name varchar(255) 255
客户端类型 client_type pc:pc楼层mobile:移动端楼层 varchar(10) 10

2.1.2包规划

主包名为:com.enation.app.cms,下面的包皆以此为父包:

一、楼层业务包

floor
model 模型
enums 存放枚举
floor 楼层本身相关模型
po po模型
vo 装修所所需相应模型
controller 控制器
service 业务类接口
builder 楼层构建器
impl 业务类实现
tag 标签

二、焦点图业务包

focuspic
model 模型
controller 控制器
service 业务类接口
impl 业务类实现
tag

三、数据管理业务包

data
model 模型
controller 控制器
service 业务类接口
impl 业务类实现
event 事件定义
component 组件包
tag

2.2 包结构预览

2.3 全部类明细

点击查看大图

2.4 移动端楼层模板的维护

其中标红色的是变化的,就是为读取列表加入了client_type,增和改也加了client_type。

要将Pc端口的楼层维护改为client_type用于传pc。

2.5 移动端楼层模板读取API

需求即列成下图中的效果:

要读取出这些移动端的楼层模板。

移动端的楼层模板不分主模板和普通模板,这是一个重要的概念。

2.5.1 读取时序图:

2.6 楼层新增API(已经存在,需要重构)

主要在FloorPo中新增了一个Client_type:

新增的时序图:

此api用于移动端的楼层新增。

2.7 后台装修数据构建

2.7.1 vo类图

点击查看大图

楼层由floor,panel,layout,block构成,block分为品牌区块,手动选择商品区块,多图片区块,单图片区块,区块的类型在BlockType中。

2.7.2 构建器类图

点击查看大图

2.7.3 时序图

点击查看大图

上述逻辑在现有代码中,大部分已经实现,总体思路是通过建造者模式,一层层的构建元素(Block,Panel,Layout,Floor),最后形成Floor输出给前端,这个Floor是在如下大的体系中的一个模型:

点击查看大图

此逻辑同时完成了pc和移动端的装修数据构建。

2.8 楼层装修数据保存

此逻辑比较简单,前端直接传递一个FloorDesign的Json对象至服务器端,服务器直接入库即可。

2.9 楼层数据页面展示

点击查看大图

此逻辑需要重构FloorManager的getAllCmsFrontFloor方法,加入client_type参数来区分要展示PC端的楼层数据还是要展示移动端的楼层数据。

FloorManager总体类图:

2.10 业务类类图明细

点击查看大图

2.11消息发送的重构

在楼层装修保存时发送AMQP消息

即在这个方法中:

com.enation.app.cms.floor.service.impl.FloorContentManager#design

要发送的消息在这里:

com.enation.app.base.AmqpExchange

里面有两个,一个是Pc的首页生成消息,一个是移动的首页生成消息。

根据floor的client_type判断来发相应的消息

results matching ""

    No results matching ""