联系官方销售客服

1835022288

028-61286886

分享经验 版主:论坛审计组
官方考试系统在小程序答题端开发分享
类型:迅睿CMS 更新时间:2023-02-10 10:54:49 小程序接口 api_auth_uid

如何官方考试系统在小程序答题端开发分享


官方的考试系统,迅睿官方: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;

        }


添加以上判断代码,这样返回的接口中就会有试题数据了。

小程序端再根据数据组合显示界面。