decode($body); switch ($error) { case 0: //操作成功 self::log('操作成功', 'WARNING'); $this->cacheLog($box_no, $msg_id, true); break; case 101: self::log('设防过程中ACC线检测失败', 'WARNING'); //设防过程中ACC线检测失败 break; case 102: //设防过程命令超时 self::log('设防过程命令超时', 'WARNING'); break; case 103: //开锁过程ACC线检测失败 self::log('开锁过程ACC线检测失败', 'WARNING'); $this->cacheLog($box_no, $msg_id, false); break; case 104: //开锁过程命令超时 self::log('开锁过程命令超时', 'WARNING'); break; case 105: //关锁过程ACC线检测失败 self::log('关锁过程ACC线检测失败', 'WARNING'); break; case 106: //大灯开关超时 self::log('大灯开关超时', 'WARNING'); break; case 107: //参数存储失败 self::log('参数存储失败', 'WARNING'); break; case 108: //电池仓开启超时 self::log('电池仓开启超时', 'WARNING'); break; case 109: //操作不允许 self::log('操作不允许', 'WARNING'); break; case 110: //车辆移动 self::log('车辆移动', 'WARNING'); BikeControl::outAreaLoseElectric($box_no); break; case 111: //服务器域名和端口设置失效 self::log('服务器域名和端口设置失效', 'WARNING'); break; } return $this->response(); } /** * 解析装载的状态消息 * @param $body * @return array * User: Mead */ private function decode($body) { $i = 0; // $box_time = self::stitching($body, $i, 4); $i += 4; $i += 1; $i += 1; //车辆状态 $i += 4; $i += 2; $i += 1; $i += 1; $i += 1; $i += 2; $msg_id = self::stitching($body, $i, 2); $i += 2; // box_no $box_no = substr(self::stitching($body, $i, 8), 0, -1); $i += 8; $error = hexdec(self::stitching($body, $i, 1)); return [ $box_no, $msg_id, $error ]; } /** * 状态响应 * @param $login_type * @return boolean * User: Mead */ public function response() { return false; } }