当前位置: 首页 > Web前端 > HTML

挑战30天开发消防安全问答小程序,《题库设计》-难度分析

时间:2023-03-28 00:32:44 HTML

挑战30天,开发一系列救火答题小程序,受到业内外众多爱好者的好评。其中既有行业3-5年经验的大佬,也有行业外想转行做软件开发的粉丝。他们也采纳了很多大佬的设计理念和各种建议,力求让答题小程序底层功能齐全,顶层功能齐全。DIY定制,满足各行业不同需求。挑战30天开发答题小程序。该系列已经完成了两集。前两集介绍了小程序UI框架组件的选择和用户登录注册的逻辑处理。往期回顾:30天挑战,开发答题小程序,从零基础前端变开发达人。挑战30天的第一天,开发一个消防答题小程序。教你如何办理小程序的用户注册(有不懂的可以在下方留言,我会一一解答)告诉你一个好消息,我的答疑小程序已经开通源码,感兴趣的朋友,获取源码,版本不断更新中,动动你的小手,点个star吧[惊喜]软件架构:微信原生小程序+云开发开源地址:戳我(别急~,有可能是更新延迟)今天是答题小程序的重点功能【题库设计】一个答题小程序好不好,主要看它的题库设计。答案分为很多种:单选题、多项选择题、判断题、问答题、主观题等等。当然,我们做的答题小程序一般都是在比赛和节日里用到的。这两种场景都要求回答问题的结果具有及时性。通俗的意思就是我没有阅卷老师来判断你的答题对不对。?[笑]所以今天我只介绍三种题型的设计:单选题、多选题、判断题。以后可能会增加问答准备:1、消防知识150题(50道单选题、50道选择题、50道判断题)2、WPS启动。ExampleExcel表格~我花了一个小时整理了这张表格。我累了。下面开始想办法把这个Excel题导入数据库,方便云开发查询题,让用户愉快答题~1.导入数据库1):打开云开发工具,点击“云开发”图标,打开云开发后台云开发2):点击红色箭头“+”号,为已有问题数据创建集创建答案集3):取一个集体名称,不要输入中文或特殊符号哦集体名词4):设置数据权限,这个很重要!系统默认为“只有创建者可以读写”。如果忘记修改,会发现用户无法阅读问题,无法回答问题。记得把权限设置为“所有用户可读,只有创建者可读可写”,重申三遍很重要!!!请务必将权限设置为“所有用户可读,仅创建者可读”请务必将权限设置为“所有用户可读,仅创建者可读”请务必将权限设置为“可读”所有用户,仅创作者可读写”“读写”数据权限5):导入数据库,题库目前包含三种题型(单选题、多选题、判断题),以及云开发后台提供了两种数据格式(csv和json)的导入。选择json格式导入,分析Excel字段如下:题干→题目题型→type_name选项A→A选项B→B选项C→C选项D→D正确答案→答案分析→解释分数→分数2,整理json文件1):将Excel表格整理成可导入的json文件。我的方法是读取excel通过php处理,或者用第三方工具组织PHP代码//导入excel生成jsonVendor('PHPExcel.Classes.PHPExcel');$objReader=\PHPExcel_IOFactory::createReader('Excel2007');$file='D:/111/question.xlsx';$PHPExcel=$objReader->load($file);//$file_url为Excel文件的路径//读取excel文件中的第一个工作表$sheet=$PHPExcel->getSheet(0);//获取最大列号$allColumn=$sheet->getHighestColumn();//获取最大的行号$allRow=$sheet->getHighestRow();$arr=[];$Str='';//从第二行开始插入,第一行是列名for($currentRow=2;$currentRow<=$allRow;$currentRow++){$title=$PHPExcel->getActiveSheet()->getCell("A".$currentRow)->getValue();$type_name=$PHPExcel->getActiveSheet()->getCell("B".$currentRow)->getValue();$type='';switch($type_name){case'单选题':$type=1;休息;case'多选题':$type=2;休息;case'判断题':$type=3;休息;默认值:$type='错误';休息;$option_1=$PHPExcel->getActiveSheet()->getCell("C".$currentRow)->getValue();$option_2=$PHPExcel->getActiveSheet()->getCell("D".$currentRow)->getValue();$option_3=$PHPExcel->getActiveSheet()->getCell("E".$currentRow)->getValue();$option_4=$PHPExcel->getActiveSheet()->getCell("F".$currentRow)->getValue();$option_5=$PHPExcel->getActiveSheet()->getCell("G".$currentRow)->getValue();$answer=$PHPExcel->getActiveSheet()->getCell("H".$currentRow)->getValue();$explain=$PHPExcel->getActiveSheet()->getCell("I".$currentRow)->getValue();$score=$PHPExcel->getActiveSheet()->getCell("J".$currentRow)->getValue();//数组$arr=['title'=>$title,'type_name'=>$type_name,'type'=>$type,'A'=>$option_1,'B'=>$option_2,'C'=>$option_3,'D'=>$option_4,'E'=>$option_5,'answer'=>$answer,'explain'=>$explain,'score'=>$score];$Str=json_encode($arr,JSON_UNESCAPED_UNICODE).PHP_EOL;回声$海峡;}打印如下:必须按照官方文档的格式,否则会导入失败2):打开导入开关,选择上传文件,选择insert插入模式3):导入成功,是不是很兴奋?终于结束了。其实简单来说就是三步:Step1:整理题目ExcelStep2:处理Excel生成的标准Json文件Part3:导入Json文件ScoreJudgmentNextIssuePreview