modelTp== 2, 搜索题目
modelTp==3, 组卷
modelTp== 4 显示5个模块, 每个模块几道题
modelTp== 1, 点击树节点,显示html格式的题目
点击计时器结束按钮,
弹出UploadDialog对话框,框有个函数InstantSaveAsync,字面意思:立即上传
{
1. PrepareUpload, 返回CommonExam, 该考试里面最重要成员List
strokesFile, scoreFile, 笔迹文件和得分文件
每次上传会创建一个目录,yyyyddMMHHmmss
然后遍历每个学生, 对每个学生:
a 产生笔迹文件,stroke_guid.dat, 笔迹序列化到文件中
b 产生得分文件,score_guid.dat, 题目和分数信息序列化到文件中
c 保存该学生的考试信息,POST 到api/student-examines, 考试状态为PARTIAL
最后返回一个CommonExam,包含上传到云端的一些信息, 包括笔迹前缀, 得分前缀, 上传文件的本地路径等等
2. UploadToAliServer
a 遍历每个学生,把笔迹文件和得分文件上传到云端
b 把这次考试对象上传到服务器, api/examines/update_status, 该考试的状态为EVALUATE
注意: EVALUATE和PARTIAL分别是对应考试和学生的, 不要搞混了,考试也有PARTIAL状态,从识别服务到数据库改考试为PARTIAL
}
============================================================================
服务器端,
在session的Initialize函数中创建识别对象
创建连接工厂ConnectionFactory, 这是连接到RabbitMQ用的。
获取到连接对象之后,再创建一个RecogMessageReceiver对象。在对象的构造函数中,
先从连接对象获取到一个channel,用这个channel声明一个队列,QueueDeclare
然后构造一个EventingBasicConsumer消费者对象,为该对象添加一个接收消息处理器OnReceiver
相关数据结构,
api/examines/update_status, 收到Examine对象,从服务器中找出该考试,然后更新考试的状态为EVALUATE
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!