Home.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace Main\Src;
  3. use Dever;
  4. use Mqtt\Src\Api as Mqtt;
  5. class Home
  6. {
  7. private $key = 'XXG/869300032841441';
  8. public function index()
  9. {
  10. $data = array();
  11. return Dever::render('home', $data);
  12. }
  13. public function pub()
  14. {
  15. $code = Dever::input('code');
  16. $from = Dever::input('from');
  17. $to = Dever::input('to');
  18. $mid = Dever::input('mid');
  19. $msg = Dever::input('msg');
  20. $value = array
  21. (
  22. 'c' => $code,
  23. 'f' => $from,
  24. 't' => $to,
  25. 'm' => $msg,
  26. 'mi' => $mid
  27. );
  28. $value = '{"c":'.$code.',"f":"'.$from.'","t":"'.$to.'","m":"'.$msg.'","mi":'.$mid.'}';
  29. //Dever::daemon('api.pub?key=' . $key. '&value=' . $value, 'mqtt');
  30. $mqtt = new Mqtt();
  31. $mqtt->pub($this->key, $value);
  32. return $this->key . ':' . $value;
  33. }
  34. public function sub()
  35. {
  36. $mqtt = new Mqtt();
  37. $mqtt->sub($this->key, array($this, 'callback'));
  38. return true;
  39. }
  40. public function callback($topic, $msg)
  41. {
  42. Dever::log($topic . ':' . $msg);
  43. Dever::db('main/data')->insert(array('server_id' => 1, 'topic' => $topic, 'msg' => $msg));
  44. }
  45. }