Core.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace Main\Lib;
  3. use Dever;
  4. function callAction($send)
  5. {
  6. if (isset($send['i']) && $send['i'] > 0) {
  7. $wechat = new Wechat($send['i'], $send['a']);
  8. $param = array();
  9. if (!isset($send['p'])) {
  10. $send['p'] = false;
  11. }
  12. if ($send['s']) {
  13. $param = Dever::load($send['a'] . '/' . $send['s'], $send['p']);
  14. }
  15. if (isset($param['run_num']) && $param['run_num'] > 1) {
  16. for ($i = 1; $i <= $param['run_num']; $i++) {
  17. $result = $wechat->curl($send['t'], $param, false);
  18. if ($send['e']) {
  19. Dever::load($send['a'] . '/' . $send['e'], $send['i'], $result, $send['p']);
  20. }
  21. }
  22. if ($send['e']) {
  23. Dever::load($send['a'] . '/' . $send['e'], $send['i'], $result, $send['p'], true);
  24. }
  25. } else {
  26. $result = $wechat->curl($send['t'], $param, false);
  27. if ($send['e']) {
  28. Dever::load($send['a'] . '/' . $send['e'], $send['i'], $result, $send['p']);
  29. Dever::load($send['a'] . '/' . $send['e'], $send['i'], $result, $send['p'], true);
  30. }
  31. }
  32. return $result;
  33. }
  34. return array();
  35. }
  36. class Core
  37. {
  38. static public function run($id, $method, $start, $end, $app, $param = false, $state = false)
  39. {
  40. $send = array();
  41. $send['i'] = $id;
  42. $send['t'] = $method;
  43. $send['s'] = $start;
  44. $send['e'] = $end;
  45. $send['a'] = $app;
  46. $send['p'] = $param;
  47. if ($state == false) {
  48. $result = Dever::daemon(self::url($send), 'main');
  49. } else {
  50. $result = callAction($send);
  51. }
  52. return $result;
  53. }
  54. static public function url($send)
  55. {
  56. $send = base64_encode(json_encode($send));
  57. $url = 'lib/core.call?param=' . $send;
  58. return $url;
  59. }
  60. public function call_api()
  61. {
  62. $send = json_decode(base64_decode(Dever::input('param')), true);
  63. $result = callAction($send);
  64. if (isset($result)) {
  65. print_r($result);
  66. die;
  67. }
  68. return;
  69. }
  70. }