文内项目 Github:XIAOJUSURVEY
前置基础概念理解可先查看此篇文章:领域驱动设计:问卷 schema 的原理
题目是问卷的核心基础组成部分。本篇开始主要围绕前端物料库维护的题型展开设计原理的分析。
场景
基于实现,题型主要用于两个关键业务场景:搭建端 (即问卷管理端的问卷设计能力)、渲染端 (即问卷投放端的问卷展示)。
这两个场景中,题型具有三种状态:
编辑态
问卷搭建端的状态。用户可以编辑和配置题型,包括添加问题、设置选项、限制规则、定义逻辑等,这是问卷的创建和设计阶段。
预览态
问卷搭建端的状态。用户可以切换到预览模式,以查看问卷最终外观和功能,即最终用户在调查中看到的内容。
运行态
问卷渲染端的状态。当用户填写和提交问卷,题型处于运行状态,此时系统需要实时渲染问卷,处理用户的输入并记录答案。
题型
题型
题型是问卷平台的基本单元,决定了可以收集的数据类型和质量。不同题型如单选题、单行输入框题等可以获取不同形式的信息。丰富的题型可以覆盖更多业务场景需求,提高问卷的适用性。
题型属性
平台沉淀近多类题型、每种题型均支持高度灵活的题型配置、比如内容校验格式、内容填写次数、切换题型、选项随机排序、选项后添加输入框、标题引用、选项引用、固定选项、显示/跳转/多层引用逻辑等能力。
场景化分析
每个题型在每个状态下都可以有不同的配置和行为,如单选题为例:编辑态设置选项上限、预览态展示选项视图、运行态处理限制逻辑。
在这种业务特征下,题型和场景状态的叠加会产生笛卡尔积效应:
再叠加上题型属性的影响,复杂度从二维笛卡尔积演变成了三维笛卡尔积:
场景差异化
不同场景的题型有着不同的表现和逻辑功能:
搭建端
编辑态
可编辑的能力:富文本、内容管理、选项编排等。
预览态
预览态题本身没有事件交互能力。
渲染端
运行态、题型校验
题型重点是题目完整的事件交互能力、可响应配置功能:比如input事件或change事件触发时校验是否必填的配置功能。
设计原理
为了保障预览实时性和渲染一致性,提升题型的多状态管理能力,并降低题型设计的复杂性和成本、提升题型扩展的灵活性,采用题型物料化的设计思路:
1、基础物料
将多题型的通用能力抽象为可复用的组件,如:输入类、选择类、评分类等。
2、题型物料
基于基础物料增加每个题型单独的配置和行为,扩展出包含业务特性的题型,如:单选题、评分题等。
以下是设计原理,具体题型讲解可移步至题型物料化设计、题型物料规范可移步至题型物料描述协议。
关于我们
感谢看到最后,我们是一个多元、包容的社区,我们已有非常多的小伙伴在共建,欢迎你的加入。
Github:XIAOJUSURVEY
社区交流群
微信:
Star
开源不易,请star 一下 ❤️❤️❤️,你的支持是我们最大的动力。