Vue-Json-Schema-Form: 如何基于模板定制前端页面
本人从事的是工业物联网, 面对工业设备的通讯难题是各大设备都有各自的通讯协议, 如果想要用一款硬件去和所有设备做通讯的话, 就得面对怎么把自己想要采集的配置下发给自己的采集器的问题, 以前都是采用各种模型去尝试构建配置项, 但是因为配置可能会有深层次嵌套, 而且各种数据格式都有, 处理起来就很麻烦, 灵活度也不够。 然后也尝试过用json去构建模版, 基于模版去做配置约束, 但是处理起来也很麻烦, 因为有些地方约束性不够, 处理起来不够优雅, 然后并不想想用Xml去做, 虽然有很多类似场景都是用Xml去做标记处理的, 但是文本结构很臃肿, 而且也牵扯到了约束问题。但是现实需求又确实是存在的, 机缘巧合之下, 认识了xml-schema这个东西, 进一步扩展, 又接触到了json-schema。
这次要做的项目也是希望能出一款数据处理的中间件, 能够实现前端数据处理成统一标准, 然后采用通用组件进行计算, 之后再进行各个组件的分别分发。 类似的项目之前也做过, 但是之前都是集成在一个项目里的, 定制化程度比较高, 而且各个模块也没有解耦合, 无法单独使用, 这次是在接触过微服务之后, 想要尝试利用服务对各个模块进行业务隔离。 然后依然碰到了老问题, 如何对各个服务做分别配置的问题, 前提是自己不需要针对每个服务区撰写不同的前端页面。
在经历过之前的各种老方法尝试后, 最后的结果依然不甚理想, 于是就想到了有没有基于json-schema之类的直接渲染前端表单, 这样后端只需要构建json-schema就可以约束配置, 并且可以大幅度节省写配置页面,做各种交互的问题, 然后就找到了