HeartTransform.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Mead
  5. * Date: 2019/9/3
  6. * Time: 8:05 PM
  7. */
  8. namespace App\Servers\Weikemu\Transforms;
  9. use App\Models\BoxSettingTraitModel;
  10. use App\Models\WarningLogTraitModel;
  11. use App\Servers\BaseServer;
  12. /**
  13. * 心跳报文
  14. * Class LoginServer
  15. * @package App\Servers
  16. */
  17. class HeartTransform extends BaseServer
  18. {
  19. use BoxSettingTraitModel, WarningLogTraitModel;
  20. public function main($body)
  21. {
  22. $data = $this->decode($body);
  23. // self::dd($data);
  24. return $this->response();
  25. }
  26. /**
  27. * 状态响应
  28. * @param $login_type
  29. * @return array
  30. * User: Mead
  31. */
  32. public function response($login_type = '00')
  33. {
  34. $body = [
  35. '5b',
  36. '0000'
  37. ];
  38. return $body;
  39. }
  40. /**
  41. * 解析装载的状态消息
  42. * @param $body
  43. * @return array
  44. * User: Mead
  45. */
  46. private function decode($body)
  47. {
  48. $i = 0;
  49. $box_time = self::stitching($body, $i, 4);
  50. $i += 4;
  51. $imei = substr(self::stitching($body, $i, 8), 0, -1); // i=4
  52. return [
  53. 'box_time' => $this->decodeTime($box_time),
  54. 'imei' => $imei
  55. ];
  56. }
  57. }