低代码实践:题型物料化设计(二)

文内项目 Github:XIAOJUSURVEY

实现

一个题目结构的组成如下,不同场景能力基于容器实现,不同题型差异一般在于答题区域,通过答题控件实现:

f19453a06b657c0c2f6b040ef745cc4a.png

容器

提供两个内置容器:

1、QuestionContainer:搭建端、渲染端使用。

2、QuestionRuleContainer:渲染端使用。

标题控件

QuestionContainer内置统一的标题控件。

答题控件

QuestionContainer内置加载器动态加载不同题型的答题控件。

动态加载流程

加载器解析schema数据并且加载对应答题控件: 

d89b2a508a8d17edea9dd113b4b92343.png

物料分层化

基于不同题型的答题控件差异诉求,采取物理分层化设计方式:

1、分类型抽离通用逻辑沉淀为基础物料,以降低具体业务逻辑对这些基础物料的依赖。

2、不同题型物料基于相应类型的基础物料进行扩展,实现特定业务逻辑以做到题型隔离。

根据题型开放题型/封闭题型/评分题型,分为以下三大类通用基础组件,不同题目的答题控件可选择相应类型的基础组件进行继承、组合和扩展:

输入类题型

输入类题型基础组件,所有输入类特性的题可以基于此基础组件扩展,如:单行输入框、多行输入框

选择类题型

选择类题型基础组件,所有选择类特性的题可以基于此基础组件扩展,如:单选题、判断题、多选题、投票题

评分类题型

评分类题基础组件,所有评分类题型可以基于此类组件扩展,如:评分题、nps评分题

以下为题型扩展关系:

fe29268d01906b487a4dc75f692a058b.png

物料配置化

各个题型差异通过题型物料描述协议可自定义相关配置:

功能一览表

暂支持7个题型,12类可配置项,也可自定义题型

bc4afb59c8b821e7bb277d95e089cdde.png

关于我们

感谢看到最后,我们是一个多元、包容的社区,我们已有非常多的小伙伴在共建,欢迎你的加入。

Github:XIAOJUSURVEY

社区交流群

微信:

Star

开源不易,请star 一下 ❤️❤️❤️,你的支持是我们最大的动力。
​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值