问卷调查试卷的数据设计

目录

  • 前言
  • 数据定义
  • 数据说明
    • 1、第一层{}
    • 2、question 一个题目{}
    • 3、answer一个答题回复{}
    • 4、option 一个选项{}
    • 5、selectItems {}
  • 具体数据
    • 1、发题(终端请求)示例
    • 2、答题(图片答题,终端请求)互动或静态
    • 3、停止答题(终端请求,一般是互动模式下有的环节)
    • 4、发布结果(终端请求)互动模式
    • 5、答题汇总结果,互动模式或静态模式
    • 6、导出

前言

网络投票、直播互动问卷,教学场景的试卷。类型基本相同,汇集或抽象成为一个数据结构,在流程上加以一定的变化,就可以搞出多种花样。后端存储完全一样,后期可以进行一些大数据相关的分析,需要什么结果就看具体需求。本文定义的是数据结构,图片以地址作为传递内容。如果包含插图,那应该配备图片服务,或者使用网络图片也可以。

数据定义

详细定义:

{"module": "vote","siteId": 1,"roomId": "sfiu3249018","id": "vid122323","userId": "168168","userName": "gaogao","thirdaddr": "http://qa221.e.com","notifyResult": 0,"total": 100,"action": "1","title": "地理第一次测验","time": "156545669964","imgsrc": "https://wwww.e.com/xxx/xxx.png","thumbnail": "https://wwww.e.com/xxx/xxxthumbnail.png","questions": [{"id": "qid134334r","questionContent": "世界上最高的山峰是?","total": 99,"type": "text","added": 1,"score": 10,"imgsrc": "https://wwww.e.com/xxx/xxx.png","thumbnail": "https://wwww.e.com/xxx/xxxthumbnail.png","answers": [{"userId": "273821423","userName": "gaogao","imgsrc": "https://wwww.ee.com/xxx/xxx.png","thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","text": "文字回复内容"}],"options": [{"id": "optid4134418","text": "选项文字内容","correct": true,"userCount": 80,"thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","imgsrc": "https://wwww.ee.com/xxx/xxx.png"}],"selectItems": [{"index": 0,"id": "optid4134418"}]}]
}

数据说明

1、第一层{}

“module”: “vote”, //功能名称,终端、后端区分功能数据的依据。Vote主、客观题
“siteId”: 1, //站点id
“roomId”: “sfiu3249018”, //课堂id
“id”: “vid122323”, //vote id
“servicetype”: “1”, //webcast 0 , training 1
“dst”: “all”, //broadsvr广播的范围,终端确定 all/rt/web
“userId”: 168168, //当前发送者id(发布对应发布者id,答题对应答题者id)
“userName”: “gaogao”, //当前发送者昵称(同id)
“total”: 100, //参与人数(回答人数)
“action”: “1”, //操作(发题1、答题2、停止答题3、发布结果4、导出5)
“notifyResult”: “1” //不入库,仅作结果通知标识
“thirdaddr”:推给第三方,可以是静态服务或实时转发的第三方
“title”: “地理第一次测验”, //总题干
“time”: “155956465656”, //发布时间,基于1970的毫秒数
“imgsrc”: “https://wwww.ee.com/xxx/xxx.png”, //原图url
“thumbnail”: “https://wwww.ee.com/xxx/xxxthumbnail.png”, //缩略图url
“questions”:[] //vote的题目列表,

2、question 一个题目{}

“id”: “qid134334r”, //题目id
“questionContent”: “世界上最高的山峰是?”, //题目内容
“total”: 99, //参与人数
“type”: “1”, //题目类型: 1、主观题,2、单选题,3、多选题
“score”: 10, //分数
“added”: 0, //附加题 1 ,必答题0。都不是附加题则vote为”强制”答题
“imgsrc”: “https://wwww.ee.com/xxx/xxx.png”,//题干原图
“thumbnail”: “https://wwww.ee.com/xxx/xxxthumbnail.png”,//题干缩略图
“answers”: [] //回答列表,导出、主观题答题时使用
“options”: [] //选择题选项列表
“selectItems”: []//选择题选项的选择结果列表,选择题答题时使用

3、answer一个答题回复{}

“userId”: 273821423, //答题者id
“userName”: “gaogao”,//答题者名称
“imgsrc”: “https://wwww.ee.com/xxx/xxx.png”, //原图
“thumbnail”: “https://wwww.ee.com/xxx/xxxthumbnail.png”, //缩略图
“text”: “文字回复内容”

4、option 一个选项{}

“id”: “optid4134418”, //选项id
“text”: “选项文字内容”,
“correct”: true, //true 正确选项
“userCount”: 80, //选择人数 ,发布结果使用
“thumbnail”: “https://wwww.ee.com/xxx/xxxthumbnail.png”, //缩略图
“imgsrc”: “https://wwww.ee.com/xxx/xxx.png” //原图

5、selectItems {}

“index”: 0, 选中选项下标
“id”: “optid4134418” 选择选项id

具体数据

1、发题(终端请求)示例

{"module": "vote","siteId": 1,"servicetype": "1","dst": "all","roomId": "sfiu3249018","id": "vid122323","userId": "发题者id","userName": "发题者名称","action": "1", "thirdaddr": "http://qa221.e.com","title": "地理第一次测验","time": "15648565656565","questions": [{"id": "qid134334r","questionContent": "世界上最高的山峰是?","type": "1","added": 1,"score": 10,"thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","imgsrc": "https://wwww.see.com/xxx/xxx.png"},{"id": "qid134334s","questionContent": "世界上最高的山峰是?","type": "2","added": 1,"score": 10,"thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","imgsrc": "https://wwww.see.com/xxx/xxx.png""options": [{"id": "optid4134418","text": "选项文字内容","correct": true,"userCount": 80,"thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","imgsrc": "https://wwww.see.com/xxx/xxx.png"}]},{"id": "qid134334t","questionContent": "世界上最高的山峰是?","type": "3","added": 1,"score": 10,"thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","imgsrc": "https://wwww.see.com/xxx/xxx.png""options": [{"id": "optid4134419","text": "选项文字内容","correct": true,"userCount": 80,"thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","imgsrc": "https://wwww.ee.com/xxx/xxx.png"}]}]
}

“action”: “1”, 发布一个w问卷
questions 数组容量3,每种题型都对应的给出示例
“type”: “1”, // 1-主观题
客户端请求,返回相关响应码,后端存档,userid和username保持为发布者的信息,同时向第三方转发一份内容。

2、答题(图片答题,终端请求)互动或静态

{"module": "vote","siteId": 1,"servicetype": "1","dst": "all","roomId": "sfiu3249018","id": "vid122323","userId": "答题者id" ,"userName": "答题者昵称","action": "2","notifyResult": "1","thirdaddr": "http://qa221.see.com","questions": [{"id": "qid134334r","type": "1","answers": [{"imgsrc": "https://wwww.see.com/xxx/xxx.png","thumbnail": "https://wwww.see.com/xxx/xxxthumbnail.png",}]}{"id": "qid134334s","type": "2","selectItems": [{"index": 0,"id": "optid4134418"}]}{"id": "qid134334t","type": "3","selectItems": [{"index": 0,"id": "optid4134419"}]}]
}

“action”: “2” 2-答题
后端更新入库,“notifyResult”: “1”, 为1的话,需向第三方发一次总结果,终端实时更新答题数据,
action值仍然为2。

3、停止答题(终端请求,一般是互动模式下有的环节)

{"module": "vote","siteId": 1,"servicetype": "1","dst": "all","roomId": "sfiu3249018","id": "vid122323","userId": 168168,"userName": "gaogao","thirdaddr": "http://qa221.ee.com","action": "3","time": "15665565656"
}

后端向第三方转发一份内容,且不再处理对应vote的答题更新(存在时间差的问题),场景上可以延迟一定时间后不处理对应的答题请求。
如果没有停止答题步骤,那么发布结果也代表结束答题

4、发布结果(终端请求)互动模式

{"module": "vote","siteId": 1,"servicetype": "1","dst": "all","roomId": "sfiu3249018","id": "vid122323","userId": "168168","userName": "gaogao","action": "4","notifyResult": "1","albaddr": "http://qa221.see.com","title": "地理第一次测验","time": "156545669964"
}

后端停止处理答题请求,并将汇总结果响应给请求者,action 仍然为4。notifyResult 为1的话,结果需发送alb。notifyResult和dst由产品功能确定后终端传递。

5、答题汇总结果,互动模式或静态模式

{"module": "vote","siteId": 1,"roomId": "sfiu3249018","id": "vid122323","userId": "168168","userName": "gaogao","total": 100,"action": "4","title": "地理第一次测验","time": "156545669964","questions": [{"id": "qid134334r","questionContent": "世界上最高的山峰是?","total": 99,"type": "1","added": 1,"score": 10,"imgsrc": "https://wwww.ee.com/xxx/xxx.png","thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","answers": [{"userId": "273821423","userName": "gaogao","imgsrc": "https://wwww.ee.com/xxx/xxx.png","thumbnail": "https://wwww.ee.com/xxx/xxxthumbnail.png","text": "文字回复内容"}]}]
}

6、导出

由终端根据结果,下载对应的图片之后压缩。
或由图片服务统一压缩需要的图片:

{
“urls”:[“https://wwww.ee.com/xxx/xxx.png”,“https://wwww.ee.com/xxx/xxx1.png”,“https://wwww.ee.com/xxx/xxx2.png”]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机上网流量统计_数据统计 | 上半年手机流量同比增110.2%,你贡献了多少?

来源:工信部网站、中新经纬版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知我们,我们会立即删除并表示歉意。谢谢!7月25日,工信部网…

Kotlin静态方法定义和调用

在习惯java的开发之后,使用kotlin进行编码,总有那么些不自然。 静态类的定义: 全局静态(实际上是单例模型) 直接将类声明为object,那么所有的函数也就静态的了,这种一般适用于各种util的类。 object UIUtil {fun to…

mybatis insert插入成功返回0_mybatis添加客户

在MyBatis的映射文件中,添加操作是通过元素来实现的。例如,向数据库中的t_customer表中插入一条数据可以通过如下配置来实现。在上述配置代码中,传入的参数是一个Customer类型,该类型的参数对象被传递到语句中时,#{use…

Andoid TextView显示富文本html内容及问题处理

目录富文本内容与效果TextView HtmlImageGetter 处理图片(表情)TagHandler 处理html内容的节点Html的转换过程HtmlToSpannedConverterhandleStartTagstartCssStyle(mSpannableStringBuilder, attributes)字体无效果实现getForegroundColorPattern颜色不显示的坑处理办法颜色修…

mysql截取字符串最后两位_MySQL字符串函数substring:字符串截取

MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。1. 字符串截取:left(str, length)mysql> …

Java类加载顺序之一条日志引发的血案

目录为什么是null回顾类加载原因问题重现总结类加载顺序子类重写被父类构造函数调用的函数注意不能放过不起眼的日志一条日志引发的案子 [11:12:58.505][D][Gen][RTLive][getIns ins 4414717] [11:12:58.774][I][Gen][null][updateShowMode] [11:12:58.864][D][Gen][VideoCame…

Java错误:找不到或无法加载主类

目录前言javac xxx.java 编译需要相对物理路径java xxx 执行需要虚拟路径总结前言 一般情况下,我们都使用工具进行代码的编辑和调试,例如eclipse 、Manven、Android Studio、sublime、vim、notepad、记事本等。 当我们用eclipse android studio等创建的p…

vue取通过key取value_如何通过获取map中的key来获得与key对应的value值,进行运算...

展开全部获取map的key和value的方法分为以下62616964757a686964616fe4b893e5b19e31333366306439两种形式:1、map.keySet():先获取map的key,然后根据key获取对应的value;2、map.entrySet():同时查询map的key和value&…

Android坑点-ByteBuffer.array() 入过坑吗

目录1、坑点介绍2、正确使用姿势(入坑了怎么办)3、坑坑详解3.1HeapByteBuffer可以用buffer.array()3.2DirectByteBuffer的坑在哪里1、坑点介绍 如下代码: ByteBuffer buffer ByteBuffer.allocateDirect(int capacity) byte[] array buf…

php四则运算出题器_php实现简单四则运算器

本文实例为大家分享了php实现简单四则运算器的具体代码,供大家参考,具体内容如下前端代码 :php计算器请输入num1:请选择运算符:-*/%请输入num2:后台:php计算器$num1$_post["num1"];$n…

步苹果iOS的后尘,谷歌Android12“翻车”,更新需谨慎?

苹果不论电脑还是移动设备,都是一如既往的“强硬”。说实话,忽视“兼容”,体验极低。 有小伙伴调侃:人家就是要你买新机器。也有小伙伴(包括我在内),直接关闭系统自动更新。 开发者&#xff1a…

word把选择答案弄到题目里_word中把选择题的正确答案自动填到括号里技巧

为了适应各类复习迎考,大家都会利用一些题目来练习。当面对题目与答案分离的现状(两个文档或一个文档的两个部分)时,怎样将题目和答案合二为一,使答案自动填充到题目后的括号中是颇让大家头疼的一件事情。经过实践探索多步骤的组合操作可以实…

Android Studio无线连接设备调试,比数据线更方便

前言 一般情况下,多数移动开发者使用的是数据线连接电脑,进行各种移动设备的调试,更有胜者,非常迷恋模拟器,模拟器它好不好,答案是好,因为直接运行在电脑上,直接操作,调试…

机器学习里面的基函数_神经网络与机器学习 笔记—核方法和径向基函数网络(上)...

对于神经网络的监督学习有多种不同方法。之前一直总结整理的多层感知器反向传播算法,可以看做是递归技术的应用,这种技术在统计学中通称为随机逼近。这次是采用不同的途径,通过包含如下两个阶段的混合方式解决非线性可分模式的分类问题&#…

AndroidJava List与equals的微妙关系,小心掉坑里

前言 List 有多个实现,本文以ArrayList(LinkedList也一样)作为说明,equals是Object的一个成员函数,例子中的bean重写实现它。 一、Bean 类定义并重写equals函数 public class Book {private String id;private String name;public String ge…

apache缺省banner_http服务器缺省banner

HTTP协议详解(真的很经典)HTTP协议详解(真的很经典)Author :清晨引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目…

GenseeSDK 使用Kotlin要注意TODOAndroid Studio关闭TODO

目录一、Kotlin的TODO二、GenseeSDK与TODO 请注意三、Android studio关闭TODO一、Kotlin的TODO 在实现一些接口时候,工具自动将所有的接口函数"空"实现,并在函数体中增加一行代码: TODO或TODO(“not implemented”) 作为提醒催促…

如何启动netcat_Netcat用法

Netcat用法--服务泄漏内部信息要得到某些端口号的详细信息,可以连接到某个端口,对应的服务会告知它的版本号、结构甚至其工作的操作系统。所以,可以使用Netcat来扫描一个特定范围内的端口并报告在这些端口上运行的服务。要使Netcat自动工作&a…

AndroidJava try-catch-finally正确用法

目录一、try-catch-finally的用途二、try-catch的正确使用三、奇怪的try-finally (错误的用法)四、关于try-catch-finally的面试考察1、try、catch、finally 考察,请指出下面程序的运行结果。2、try、catch、finally 考察2,请指出…

python tcp服务器并发_python tcp并发服务器

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…