《可视化搭建系统》“星空” 搭建后台(五)

1,645 阅读3分钟

本篇聊一下星空搭建后台部分。先回顾一下《可视化搭建系统》“星空”整体架构(一)的这张图。 image.png

从上图右侧搭建后台部分可以发现,主要做了下面几件事

  • 拉取物料资源
    • 运营在搭建页面的时候,可以根据具体场景对物料进行选择
  • 被运营选择的物料,会转换成 webcomponents 在编辑区域进行渲染展示
  • 表单配置物料数据
    • 比如选择了一个轮播图物料,可以对轮播图图片进行自定义等相关数据配置
  • 提供预览页面供运营在手机端查看
  • 发布页面

然后再看搭建后台的主页面,就会十分清晰。 image.png

拉取物料资源

左侧区域主要是运营对物料的索引,选择。默认分页拉取,支持关键字搜索。

这里有一个细节是,默认物料都是拉取最新版本的(比如 2.0)。之前在 《可视化搭建系统》“星空” nodejs server 端(三) 有说到,物料是有版本号的。只是物料搜索这里默认是拉取最新的,搭建页面中是可以存在历史版本号物料的(比如 1.0)。

那么有可能会出现一个场景就是,某个搭建页面,同一个物料,是不同的版本。是否更新,取决于运营。所以,可以看到上图中物料管理区域,有更新的功能,并且支持回滚到更新之前的版本。

转换物料资源并渲染

点击左侧区域中物料 '+' 号, 此时会去物料服务端,拉取物料的 es 模块包资源。并且对拉取到的资源进行 webcomponents 转换,渲染到搭建页实时预览区域。转换部分可以参考《可视化搭建系统》“星空” webcomponents 从0到1(二)

表单配置物料数据

回顾一下《可视化搭建系统》“星空” cli 脚手架端(四) 中的模板设计部分。

image.png 注意这里的 schema 字段,就是给搭建后台表单渲染使用的。一种方式是自己写一套动态 schema 动态表单渲染。

但基于 JSON Schema 规范开源的动态表单其实很多,也很成熟,就没必要自己写了,除非你有很多定制化的需求。这里选择了 form-render, 最近业务上有做一个促销活动页,也用到了。

接入简单, 快捷。只用把模板中的 schema 数据传入 FormRender 即可。 image.png

使用的时候,遇到过两个问题。提 issue 反馈还是蛮快的, 这个必须好评。

预览页面

前端实现部分很常规, iframe 嵌入预览地址即可。 image.png

后端预览渲染部分, 可以参考之前server 端细说预览部分

发布页面

搭建页面搭建完成, 数据填充好以后, 可以对页面进行发布。可参考 server 端实现页面发布。最终其实就是一个 html 被推入了 nginx 静态服务下, 通过代理进行访问。 image.png

小结

搭建后台部分,逻辑其实比较清晰,主要就是把整个星空的链路串起来,有很多地方都是参考之前的系列。这部分, 应该更加注重系统交互, 让运营觉得好用, 使用起来心智负担小。

最后, 到这里差不多整个系列就写完了, 写的过程中发现, 要把一个东西很简单的写明白还挺难得。下一篇就是此系列的结尾篇了。结尾篇会把源代码仓库给出来, 感兴趣的小伙伴, 到时候可以一起交流。