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

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

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

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

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

拉取物料资源

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

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

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

转换物料资源并渲染

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

表单配置物料数据

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

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

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

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

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

预览页面

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

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

发布页面

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

小结

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

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

相关推荐
2的n次方_3 分钟前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
海石4 分钟前
去到比北方更北的地方—2025年终总结
前端·ai编程·年终总结
一个懒人懒人11 分钟前
Promise async/await与fetch的概念
前端·javascript·html
Mintopia17 分钟前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
输出输入19 分钟前
前端核心技术
开发语言·前端
Mintopia23 分钟前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
林深现海44 分钟前
Jetson Orin nano/nx刷机后无法打开chrome/firefox浏览器
前端·chrome·firefox
黄诂多1 小时前
APP原生与H5互调Bridge技术原理及基础使用
前端
前端市界1 小时前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
文艺理科生1 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构