深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 111|回复: 0
打印 上一主题 下一主题

关于beacon的J方案的afterajax

[复制链接]

228

主题

466

帖子

2184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2184
跳转到指定楼层
楼主
发表于 2024-11-26 17:28:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于beacon的J方案的afterajax
  1.   //mqtt data
  2.                 $mqttdata = array(
  3.                         "jobid" => 1,
  4.                         "ma" => $machine,
  5.                         "data" => $inputdata,
  6.                         "ec" => 0,
  7.                         "msg" => "wait...",
  8.                         "t" => date("Y-m-d H:i:s")
  9.                 );
  10.                 $this->app->ajaxAttr("mqtt", $mqttdata);
复制代码

  1. function afterAjax()
  2.         {
  3.                 $this->app->prepare_mqtt();
  4.                 $data = $this->app->jsdata;
  5.                 $mqttdata = $data["mqtt"];
  6.                 $machine = $mqttdata["ma"];
  7.                 $machineInfo = $this->app->getMachineInfo($machine);

  8.                 $mqttdata["msg"] = $data["msg"];
  9.                 $mqttdata["ec"] = $data["ec"];
  10.                 $mqttdata["wo"] = $machineInfo["WO"];
  11.                 $mqttdata["empno"] = $machineInfo["emp_no"];
  12.                 $floor = $machineInfo["FLOOR_CODE"];
  13.                 if ($data["jobid"]) {
  14.                         $mqttdata["jobid"] = $data["jobid"];
  15.                 }
  16.                 if ($mqttdata["ec"] == 999) {
  17.                         $mqttdata["msg"] = "准备打印!";
  18.                 }
  19.                 if (strlen($machine) > 1) {
  20.                         $this->app->mqtt->publish("MACHINE/{$floor}/{$machine}", json_encode($mqttdata, JSON_UNESCAPED_UNICODE));
  21.                 }
  22.         }
复制代码




J方案中的变更:
        function ajax(){
                global $config;
                //获取从页面返回的参数;
                $params=$this->app->readAjaxParam();

                //首先提取Ajax的Debug状态...
                if(array_key_exists("debug", $params)){
                        if($params["debug"]*1>0){
                                $this->app->setDebug(true);
                        }
                }
                //提取Ajax的lan语言...
                if(array_key_exists("lan", $params)){
                        //改为语言
                        $lan=$params["lan"];
                        $config->country=$lan;
                        $this->app->language=$lan;
                }
               
                //add by syant 2020-10-01 在没有module类时,这样有机会做一些和S.php不一样的事,又不能放在构造函数中的事情!
                if(method_exists($this,'beforeAjax')){  //如果有beforeAjax函数, 就执行
                        $this->beforeAjax($params);
                }else{
                        if(method_exists($this->app,'beforeAjax')){  //如果父类里有beforeAjax函数, 就执行
                                $this->app->beforeAjax($params);
                        }
                }
               
                //$this->app->AjaxLog(var_export($params,true));
                if (!array_key_exists('action', $params)) {
                        $this->app->ajax($params); //如果没有找到处理,继续住app去找
                        //注意,是app自己处理的over();
                } else {
                        $action=$params["action"];
                        $this->app->AjaxFail("未处理{$action}!");
                        if(method_exists($this,$action)){
                                $this->app->AjaxFail("{$action}已找到,但未返回结果!");
                                $this->$action($params);
                        }else{
                                if(method_exists($this->app,$action)){
                                        $this->app->AjaxFail("{$action}已找到,但未返回结果!!");
                                        $this->app->$action($params);
                                }
                        }
                }       
                //---
                if(method_exists($this,'afterAjax')){  //如果有afterAjax函数, 就执行
                        $this->afterAjax($params);
                }else{
                        if(method_exists($this->app,'afterAjax')){  //如果父类里有afterAjax函数, 就执行
                                $this->app->afterAjax($params);
                        }
                }
                //---
                //$this->app->over(); //返回json数据!
        }


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 05:09 , Processed in 0.024818 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表