api.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  3. -- Api Process
  4. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */
  5. header('Access-Control-Allow-Origin:*');
  6. header('Access-Control-Allow-Methods:POST,GET');
  7. include_once("config.php");
  8. include_once("functions.php");
  9. funcComAutoLoad(array('path' => 'configs/extension/', 'method' => 'include_once'));
  10. funcComAutoLoad(array('path' => 'applications/', 'method' => 'include_once'));
  11. funcComAutoLoad(array('path' => 'configs/database/conf' . $configs['system']['database'] . '.php', 'method' => 'include_once'));
  12. /* 规范参数 $post 不包含$_FILES*/
  13. $post = array();
  14. $_POST = array_merge($_POST, $_GET);
  15. $post = (file_get_contents('php://input')) ? (array)json_decode(file_get_contents('php://input'), true) : $_POST;
  16. /* 数据库连接 */
  17. $db = connectDB($configs['system']['database']);
  18. $returns = array('success' => false, 'errorcode' => '400', 'msg' => $configs['errors']['400']);
  19. /* 执行 */
  20. if(isset($post['func']) && $post['func']){
  21. list($post['application'], $post['handle']) = explode(".", $post['func']);
  22. if($_FILES){
  23. /* 上传文件操作 */
  24. $returns = $post['handle']($post, $_FILES);
  25. }else{
  26. $returns = $post['handle']($post['data']);
  27. }
  28. }
  29. //$post['Access-Session-Referrer-Server']['domain']
  30. /* 返回消息 */
  31. if(isset($post['jsonp'])){
  32. /* 跨域返回 */
  33. echo "callback(" . json_encode($returns) . ")";
  34. }else{
  35. echo json_encode($returns, JSON_UNESCAPED_UNICODE);
  36. }
  37. ?>