联系官方销售客服
1835022288
028-61286886
如何官方考试系统在小程序答题端开发分享
官方的考试系统,迅睿官方:https://www.xunruicms.com/shop/416.html 考试系统 版本号:1.19
做的小程序接口开发。该考试系统应用程序 采用了模块表单。
根据官方帮助文档:
1、任意页面查询API接口:https://www.xunruicms.com/doc/409.html
2、任意页面的数据提交接口:https://www.xunruicms.com/doc/412.html
正常PC端 开始考试的界面是:
https://xxx.xxx.xxx/index.php?s=kaoshi&c=son&m=post&cid=1&time=xxxx
根据前面的帮助文档,页面API接口应该是:
https://xxx.xxx.xxx/index.php?s=kaoshi&c=son&m=post&cid=1&time=xxxx&appid=1&appsecret=xxxxx&api_auth_code=xxxxx&api_auth_uid=xxx
由于原考试系统模块没有考虑数据接口的展示,只能获取到试卷基础信息,试题信息的JSON无法获取。
因此需要修改一下,我们找到 /dayrui/App/Kaoshi/Fields/Kaoshi.php 大约176行 函数 get_field 修改。
public function get_field($index, $kt, $score) {
$kt['value'] = dr_string2array($kt['value']);
$kt['title'] = htmlspecialchars_decode($kt['title']);
$kt['tips'] = htmlspecialchars_decode($kt['tips']);
$kt['score'] = $score;
if ($kt['tid'] == 2) {
$kt['answer'] = dr_string2array($kt['answer']);
}
$this->kaoti[$this->ktid] = $kt;
$this->score+= $score;
//modify
//小程序调用的接口,把题目注入到变量直接返回,小程序端再处理timu用于答题展示
if (IS_API_HTTP){
\Phpcmf\Service::V()->assign([
'timu' => $this->timu,
'kaoti'=> $this->kaoti
]);
$this->ktid++;
return;
}
添加以上判断代码,这样返回的接口中就会有试题数据了。
小程序端再根据数据组合显示界面。