webmain/task/openapi/openkqjAction.php

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?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小时所有要减
后面还有 12 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。