项目描述:百特搭是一个支持零代码,低代码的saas平台,包含零代码,低代码,报表,流程社交套件,百 特云市场,流程门户以及一系列管理系统组成的完善的在线软件服务平台。
表单引擎
技术栈:lerna、rollup、TypeScript、async-validator、Jest
基于JSON Schema和TypeScript组织控件底层属性,定义模型层;
采用monorepo架构,将模型层细分,通过npm模块的方式组织和管理;
使用async-validator对设计器模型以及运行时表单数据进行校验,使控件校验规则与视图解耦;
设计态引擎提供对于控件的设置项管理,处理设置项在不同场景,不同位置的逻辑联动和显隐,解决同 一控件在低代码零代码等不同场景的适配性;
运行态引擎使用Proxy的方式处理表单数据,使用数据驱动实例的方式,赋予开发或低代码二次开发简单 灵活性;
基于底层框架的发布订阅模式能力,实现引擎插件机制,剥离复杂的显隐联动,多级数据联动,表达式 计算,数据填充与过滤等逻辑,实现插件与页面逻辑互不干扰,互不依赖;
使用jest进行单元测试,提升底层引擎的稳定性。