15| 无代码开发 | 如何使用Zion开发多选问卷

      昨天我们做了单选问卷,今天我们来看一下如何用多选问卷制作。我们在生活中会运用到很多单选问卷的场景,在使用过程中能够更加方便的统计选择者对一个时间的看法以及某个意向的数据。大概耗费40分钟左右,下面先来看一下效果图:

建议已有学习基础:单选问卷(大家可以跳转主页单选问卷)、预约类小程序、一键登录、一对多数据模型基础知识点:文字、图片核心

知识点:数据模型、批量修改、聚合过滤最终效果

重点逻辑效果概述

15| 无代码开发 | 如何使用Zion开发多选问卷_第1张图片

●点击开始按钮可以跳转进入答题页面,在用户答完所有题后点击结束答题按钮进入答题结果页面

(页面跳转设置可参考最佳实践|单选问卷●用户答完本题点击进入下一题或者结束答题时,就需要判断用户是否回答正确,并且将这题的得分记录到finalresult表中

数据模型

CHOICE

ANSWERS

ID:BIGSERIAL

ID:BIGSERIAL

账户

CONTENT: TEXT

ACCOUNT:

1:N

RIGHT(是否正确):INT

RIGHT(是否正确):INT

CHOICE_CHOICE

QUESTION:QUESTION

QUESTION_QUESTION

1:N

1:N

1 IN

账户

(问题表)

QUESTION

ID: BIGSERIAL

ID: BIGSERIAL

USER_PROFILE:IMAGE

(问题内容):TEXT

QCONTENT

IIN

USERNAME:TEXT

QIDX (问题编号):INT

FINALRESULT

账户

ACCOUNT:

QUESTION

QUESTIONS:

FINALMARK:INT

15| 无代码开发 | 如何使用Zion开发多选问卷_第2张图片

●一个问题对应多个选项,所以问题表question与选项表choice是一对多关系 问题表中的qidx表示问题编号 选项表中的right用来表示该选项是否是正确选项之一,值为1或0

●answers表记录了用户选择的每个选项及这些选项是否正确

●finalresult表记录了用户回答过的问题和该题的最终得分

批量修改表数据用户完成多选后,会点击下一题按钮或者结束答题按钮,我们需要在按钮行为中,完成用户是否答对,并将得分与否记录到finalresult中。 首先我们需要将用户选择的选项批量导入到answers表中,再判断这些选项是否就是正确选项。

具体流程如下:●打开批量修改,数据源选择选择视图

●参数choice需要点击切换,再选择id字段

●参数right同样需要切换,再选择right字段

点击时行为

修改表数据添加ANSWERS

批量修改

数据源

变量

选择器/选择视图

请选择

角色

用户

参数

CHOICE_CHOICE

添加验证

NONE

切换

ACCOUNT_账户

NONE

已登录用户/ID

请输入

QUESTION_QUESTION

NONE

链接数据/QUESTIONID

请输入

RIGHT

NONE

RIGHT

15| 无代码开发 | 如何使用Zion开发多选问卷_第3张图片

通过聚合过滤判断该题是否得分多选题的得分规则是选中所有的正确选项才得分,所以我们需要判断用户是否选择并只选中了所有正确选项。可以拆解成为两步:

●用户所选项中包含正确选项

●所有的用户所选项中只有正确选项

如果我们对比发现,用户所选答案对应的right分数等于同一道题选项本身对应的right分数,就可以确保用户所选项中至少包含了正确选项。

同时再让用户的所有答案对应的right都不小于1,就可以确保用户只选了正确的选项。

具体流程如下:●在用户选择的选项批量导入到answers表中,我们可以设置修改表数据行为成功时添加finalresult,其中参数finalmark为条件数据,如果用户答对,标记finalmark为1,否则finalmark为0。 正确的条件如下

●正确的条件如下

修改表数据-添加

ZION

FINALRESULT

条件

结果数据/INSERTANSWER.13TRISCS/QUESTION/ANSWERS/RIGHT:SUM

批量修改

等于

去重侦骗字段

角色

运算数类型

选择

整数

过滤类型

参数

运算数

有过选条件

选程数据/CHOICE/RIGHT SUM X

ACCOUNT_账户

过滤

请输入

NONE

ACCOUNT_账户

条件数据

已登录用户/IDX

等于

请输入

条件数据

X

条件设置

结果数据/INSERTANSWER`J3TRISCS/QUESTION/ANSWERS/RIGHT SUM X

正确

与条件

名称

保存

条件

正确

条件

条件

请输入

结果数据/INSERTANSWER.13TRISCS/QUESTION/ANSWERS/RIGHT:MIN

条件

数据

去重依据字段

1X

选择.

等于

请输入

过滤类型

NONE

运算数类型

有过选条件

条件数据 X

整数

过滤

错误

运算数

结果数据/INSERTANSWER.13TRI5CS/QUESTION/ANSWERS/RIGHTMIN X

请输入

冲突时

已登录用户/IPX

请输入

触发器

无触发器

保存

请输入

添加触发器

成功时

15| 无代码开发 | 如何使用Zion开发多选问卷_第4张图片

●错误的条件设置总是,数据为0

操作步骤数据模型创建三个页面,分别命名“开始答题页”、“答题页”、“答题结果页”

开始答题页(详细设置可参考最佳实践|单选问卷 开始答题页部分)

●在按钮中设置点击时行为,用户登录→获取微信用户基本信息,成功时跳转答题页并赋值链接数据questionid=1

答题页

●显示问题内容 设置远程数据question,类型为问题表question,限额为1,过滤条件为id=questionid

●显示选项内容 拖入选择视图组件,并设置样式为多行 打开内容中多选按钮、可取消选中;数据来源是choice表,过滤条件为关系字段question_question=链接数据questionid

●下一题或结束答题 设置远程数据qcount,类型为question,无过滤条件 使用条件式容器呈现结束答题和下一题两种状况,结束答题状况的条件是questionid=qcount:count下一题的行为 修改表数据-添加answers 成功时添加finalresult 跳转答题页 赋值questionid=questionid+1结束答题的行为 修改表数据-添加answers 成功时添加finalresult 跳转答题结果页

答题结果页

●新建远程数据qcount,类型为questions,不设限额和过滤条件,在文字组件中绑定数据并设置文字内容为“您一共完成了”、“远程数据/qcount:count”、“道题”

●新建远程数据result,类型为finalresult,不设限额,设置过滤条件为account_账户等于已登陆用户/ID ,在文字组件中绑定数据并设置文字内容为“您的得分是”、“远程数据/result/finalmark:sum”、“分”

你可能感兴趣的:(Zion,无代码体验,服务器,编辑器,小程序,微信小程序,前端)