前言概述
零售云装修系统在KA赋能的场景衍生出来,前后我们参考了主站的CMS,店铺装修团队的智铺产品。
现在我们正在沉淀零售云装修的标准版系统它具备:
1)一套代码及同一套应用支持首页/店铺装修并满足SaaS和独立部署,一套应用同时支持B2C/B2B多垂直业务。
2)建立模版中台系统,一套模块支持首页/店铺覆盖(小程序、IOS、ANDROID、PC、H5)五大终端。
3)装修标准底层及通用终端能力支持各种行业客户集成(后端提供外部扩展点支持外部数据源接入;前端提供微模块标准开发方案能快速支持行业定制的页面模块集成)。
系统简单介绍
装修研发中台系统 - 提供模块管理、数据结构定义、字典管理、跳转协议管理等基础功能。
首页装修系统/店铺装修 - 提供BE端装修能力;
C端通用页面渲染服务 - Lua+Node打造了Pc&h5页面渲染缓存服务及异步接口前端SOA 租户垂直身份配置。
微模块标准PageSdk - 提供了页面为前端微模开发提供基础底座能力同时提供扩展点给KA客户定制化集成。
微模块介绍
背景:在零售云KA交付的场景中,我们提供了标品模块能力但这些模块不能满足各种业务场景。我们需要打造快速简单的模块开发集成方案,让我们面对KA交付时能快速完成客户定制需求。
通过研发中台系统的模块池首页及店铺装修时可以任意的使用,做到一个装修系统无限切换无数模块,这些模块之间相互独立,分别由各自开发者独立开发完成保存至中台即可。
中台可以管理这些模块的基础数据做到让同一模块给不同KA客户不同的风格。
装修时模块的形式都是基于PC和H5的,这些都是可直接给C端的PC和H5的页面渲染。但那么我们给KA客户基础的小程序和APP的渲染引擎SDK内置的微模块是必修要在中台有对应的H5的版本的。“本期就不重点描述小程序和APP装修SDK引擎的方案”
PC&H5微模块说明:
背景:为解决快速定制模块的问题,我们提出来一套微模块的基础方案。
NODE渲染服务:支持页面通用协议布局渲染,楼层渲染,页面数据内置,缓存等能力,普通微模块ArtTemlate渲染及CSS作用域处理。
PageSDK:微模块开发依赖SDK提供基础通信,当模块在装修时、C端浏览器时都是通过底座SDK公共方法获取数据。
两种微模块技术说明:
目前我们提供两种装修模块
第一种:普通ArtTemplate模块,这种模块由研发中台录入渲染模版HTML结构 和 CSS代码并创建数据模型绑定。这种模版由Node渲染直出。如下图中台创建模块
第二种:异步渲染微模块,该模块由开发者本地开发浏览器异步渲染。C端通用渲染服务负责页面基础布局渲染及模块ArtTemplate渲染一次中台录入的HTML,剩余部分由对应的微模块脚本自己渲染。
NODE渲染服务直出的HTML图例如下:
开发流程
当有定制微模块的开发需求时:
第一步:我们需要需要在研发中台去创建一个模块定制一个唯一的TAG如:h5-ms-product。秒杀商品模块并标记当前模块可支持的端(H5/PC/小程序/APP),并可以绑定对应的租户或者B2C/B2B业务。创建该模块的数据结构。录入默认数据。导出一份可以本地调试的Mock。下载模块开发的标准工程,目前我们提供了 原生JS/VUE模块两种本地开发模块的标准工程。
第二步:本地开发,我们提供本地调试,打包,一键推送OSS环境的基础能力。
第三步:回到研发中台发布该微模块。
模块使用:平台运营和商家运营可以根据模块中台的配置筛选出对应的微模块进行装修。
【模块创建例子】
通用数据模型介绍
装修研发中台系统支持创建模块的数据模型,目前我们支持属性组和数据组(批次数据)的两种结构定义。原则上来说我们可以为一个微模块定制一个虚拟数据库去满足各自模块的复杂数据结构。
目前我们提供了13种基础的数据字段创建。
我们还提供了两种业务字段,比如业务-商品。该字段会在KA环境中去适配非JD电商能力的商品库。目的是让依赖商品的微模块数据结构标准化。
开发者还可以通过字段提供的界面风格能力,比如单选我们提供了普通样式、Bar样式。
【录入模块字段例子】
【装修端模块效果】
其他介绍
微模块开发工程
微模块的标准开发工程支持多模块开发/调试/编译/部署等基础能力
装修系统前端维度技术图例
产品现状(客户/规划)
目前我们已经赋能了北汽、宜宾、金斗、农批、国际站。
目前我们致力于打造简单通用的标准装修产品能在零售云赋能的大环境下能快速承担KA的交付能力。
谢谢大家
作者:蓝星星/cdlanxingxing@jd.com