72 lines
2.4 KiB
PHP
72 lines
2.4 KiB
PHP
<?php
|
||
/**
|
||
* 群英考勤机
|
||
* 请求地址如:http://127.0.0.1/api.php?m=openkqj&openkey=key
|
||
*/
|
||
class openkqjClassAction extends openapiAction
|
||
{
|
||
private $snid = 0; //设备号ID
|
||
|
||
public function initAction()
|
||
{
|
||
$this->display= false;
|
||
$this->getpostdata();
|
||
}
|
||
|
||
public function indexAction()
|
||
{
|
||
echo 'ok';
|
||
}
|
||
|
||
//考勤机的使用
|
||
public function apiAction()
|
||
{
|
||
//print_r($_SERVER);
|
||
$path = arrvalue($GLOBALS,'_paths', $_SERVER['REQUEST_URI']);
|
||
if(isempt($path))return '';
|
||
$patha = explode('/', $path);
|
||
|
||
$acta = explode('?', $patha[count($patha)-1]);
|
||
$act = $acta[0];
|
||
$data = array();
|
||
$num = $this->get('sn'); //设备号
|
||
if(!$num)return 'notdata';
|
||
if(c('check')->onlynoen($num))return 'error:sn0';
|
||
$dbs = m('kqjsn');
|
||
$snid = (int)$dbs->getmou('id',"`num`='$num'");
|
||
if($snid==0)return 'error:sn1'; //20250307新增没有设备就不执行了
|
||
if($snid==0)$snid = $dbs->insert(array(
|
||
'num' => $num,
|
||
'optdt' => $this->rock->now,
|
||
'status' => 1
|
||
));
|
||
|
||
$this->snid = $snid;
|
||
|
||
//考勤机请求
|
||
if($act=='get'){
|
||
$data= m('kqjcmd')->getcmd($this->snid); //向考勤机发送命令
|
||
}
|
||
|
||
//推送来的
|
||
if($act=='post' && $this->postdata!=''){
|
||
$data= m('kqjcmd')->postdata($this->snid, $this->postdata);
|
||
}
|
||
|
||
//设备上获取服务器时间
|
||
if($act=='unixtime'){
|
||
$this->rock->debugs(json_encode($_GET),'unixtime');
|
||
$data['timezone'] = 'UTC';
|
||
$data['unixtime'] = time()-8*3600; //由于北京时间多8小时所有要减
|
||
$data['datetime'] = date('Y-m-d H:i:s', $data['unixtime']);
|
||
}
|
||
|
||
$barr['status'] = 1;
|
||
$barr['info'] = 'ok';
|
||
$barr['data'] = $data;
|
||
return $barr;
|
||
}
|
||
|
||
//推送过来的数据
|
||
//[{"id":"5056928","data":"return","return":[{"id":"0","result":"0"}]},{"id":"8993137","data":"return","return":[{"id":"0","result":"0"}]},{"id":"1275640","data":"return","return":[{"id":"0","result":"0"}]},{"id":"8085763","data":"return","return":[{"id":"0","result":"0"}]},{"id":"3896216","data":"return","return":[{"id":"0","result":"0"}]},{"id":"5036770","data":"return","return":[{"id":"0","result":"0"}]},{"id":"3554609","data":"return","return":[{"id":"0","result":"0"}]},{"id":"2144747","data":"return","return":[{"id":"0","result":"0"}]},{"id":"235805","data":"return","return":[{"id":"0","result":"0"}]},{"id":"186003","data":"return","return":[{"id":"0","result":"0"}]}]
|
||
}
|