典型案例教程:随机测试题

大部分企业、单位具有对内/对外的科普/宣传、培训的答题H5需求,针对宣传目标或考核目标设置一定的题目内容及数量、统计得分及得分用时,还会根据得分情况给用户划分不同的“段位”或称号。

 

一、案例效果

 

点击《随机测试题》拷贝模板

 

 

二、应用场景

 

(一)需求简介:

 

大部分企业、单位具有对内/对外的科普/宣传、培训的答题H5需求,针对宣传目标或考核目标设置一定的题目内容及数量、统计得分及得分用时,还会根据得分情况给用户划分不同的“段位”或称号。

 

常见答题规则如:

 

1、单选、多选、判断类型,选择选项为主,题目数量在20~30个以内。

 

2、假设总题目数量20个,答题数量限制为每人答题10道,每题固定分值为10分,总分合计100分。

 

3、每次答题都会将每一题的分数累积,最后累加至总分(一般是一个全局类的变量)。

 

4、答题顺序按照随机方式处理,从20道题随机抽取题目,直到答题数量达10个,给到用户最终总分结果。

 

5、答题时间有限。答完10道题结束时,计时停止,并给到用时,如一共39秒。

 

6、根据总分区间划分结果,如0~60分是结果1及格;70~80分是结果2良好;90~100分是结果3优秀。

 

7、更多常见规则

 

1)每个微信用户只能答题一次

 

2)在答题过程中需记录用户每道题的答题情况,如答题序号、题目、选择结果、选择正误,可以边答题边提交答题结果,也可以全部答完再提交;提交后记录总分及答题用时。

 

3)已经提交过的用户再次点开h5可以查看答题记录、分数及用时。

 

本次教程以8道题为总数,答题数量5道题为例,讲解随机答题的基本实现方式。

 

(二)需求分析延伸:

 

1、如果是每人答题1次,要考虑:

 

1)如果用户之前答过题,再次进入H5点击开始答题前,需要提示用户:您的答题次数已用完,请勿重复答题。

 

2)如果用户未答过题,答题结束点击提交按钮,提交答题结果到数据库。

 

理想状态是:用户点击开始答题时,我们在答题数据表里初始化1条数据,即新建1条数据,并获取到数据ID,等答完第10道题时,再去把当前用户的答题结果分数、用时等更新到后台数据表。

 

2、每个微信用户答题1次,就限制了该H5只能在微信环境下发布,包括电脑端微信和手机端微信。

 

如需用其他方式限制每人答题1次,如手机号、员工号等唯一性编码,且不局限于微信环境打开H5,可以联系意派平台沟通具体需求,获取相关解决方案,添加小派微信:epub360_pai

 

 

三、功能设置

 

1、先用页面铺设整体框架。随机测试题基本分为3部分:开始答题部分、测试题部分、结果部分。

 

1)开始答题部分相对简单,用于录入答题人的相关数据,如姓名、手机号或其他信息。

 

 

2)测试题部分。主要为多个单选题/多选题/判断题等类型的题目,可以是一个页面1个题目。

 

 

3)结果页部分。用于显示不同得分区间的结果。

 

 

2、梳理随机部分的逻辑。点击《随机测试题流程图》可查看在线版本流程图:

 

 

3、测试题部分制作。

 

如果是制作单选题,可以借助测试题组件和图片按钮组件/新文字按钮组件完成;

 

如果是制作多选题,可以借助参数变量+图片按钮/新文字按钮组件结合的方式。

 

本次不详细讲解每个题目的制作过程,主要讲解随机逻辑部分。测试题组件相关教程:

 

 

4、如果我们之前对Masterpage页(后简称M页)有了解,可知道M页面的元素在所有页面都可以显示,且M页的元素支持被选中进行触发设置。

 

 

4.1、一般测试题答题过程中会进行分数的累加,我们一般会用放在M页的参数变量进行分数累加。

 

在M页面放一个参数变量,命名为“总分”,类型为整数(也可以是小数),触发方式为等待触发,初始值为0。

 

 

4.2、总分=不同值或处于不同的分值区间时,可以跳转到不同的结果页。本次案例的结果页面编码是9~11,因此3个条件分别对应跳转到这3个页面。

 

 

5、因为是随机答题,且每个题目分布在不同的页面,需要一个参数变量可以全局分配参数,决定跳转到不同的题目页。需借助参数变量的随机数类型,进行题目的随机跳转。

 

参照下图切换到M页并添加参数变量,命名为“随机跳转参数”。设置参数类型为“随机数”,触发方式为等待触发;因为本次答题只有8道题,我们设置取值范围为1~8,即从8个数里进行随机。如果我们有20道题,取值范围就是1~20。更多道题目以此类推。

 

 

5.1、了解每道题目分布的页面编码。

 

 

5.2、通过跳转页面切换题目。恰好本次的页面编码范围是1~8,可以在跳转页面时,根据随机数的值跳转到对应页面:

* 当随机参数=1时,跳转页面到页1;

* 当随机参数=2时,跳转页面到页2;

* 当随机参数=3时,跳转页面到页3;

* 当随机参数=4时,跳转页面到页4;

...

* 当随机参数=8时,跳转页面到页8。

 

以上设置我们称触发条件,只有随机参数等于具体某个值时,这些条件才会对应执行,每次执行参数判断仅执行1个条件。

 

 

6、因为是在8道题里选择5道题进行答题,因此需统计答题个数。本次我们在每道题答题结束时对个数参数进行累加。

 

统计答题个数也是一个全局的概念,因此是在M页添加参数变量,命名为“答题”个数,类型为整数,触发方式为等待触发,初始值为0。

 

 

7、答题个数是否满5个,需要执行不同的判断。

 

7.1、不满5个就继续去答题,但是答哪道题呢?需要先让随机参数给到新的参数值,我们称参数变量——重置。

 

 

7.2、随机数重置完毕后,就需要根据随机数的值判断跳转到哪一题,即执行随机数的参数判断。

 

 

8、满5个就要根据总分给到不同结果,因此需要去执行总分参数变量的判断。

 

 

9、切换回页面,在每道题答题结束时,设置每道题的分数累加到总分,并且累加个数。

 

 

10、累加完分数和个数,要判断个数是否达到5个。

 

 

11、到目前为止,随机答题的整体逻辑设置完成。

 

补充说明:关于参数变量为何要设置为等待触发。我们需要统计个数、分数、随机数重置时的参数变量,按照指定的顺序和条件去执行参数判断,所以必须是等待触发。

 

希望以上内容可以对您有所启发

更多精彩的H5案例及模板

详见意派Epub360官网

 

10