rabin 1 年之前
父节点
当前提交
8deb82b558
共有 3 个文件被更改,包括 15 次插入14 次删除
  1. 1 1
      boot.php
  2. 14 6
      src/Dever/Helper/Cmd.php
  3. 0 7
      src/Dever/Output.php

+ 1 - 1
boot.php

@@ -224,7 +224,7 @@ class Dever
     }
     public static function json_encode($value)
     {
-        $value = json_encode($value, JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK);
+        $value = json_encode($value, JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK | JSON_PRESERVE_ZERO_FRACTION);
         if (strpos($value, '<')) {
             $value = Dever\Helper\Secure::xss($value);
         }

+ 14 - 6
src/Dever/Helper/Cmd.php

@@ -2,12 +2,16 @@
 use Dever;
 class Cmd
 {
-    public static function run($api, $app = false, $daemon = true)
+    public static function run($api, $param = array(), $app = false, $daemon = true)
     {
         if (strpos($api, 'http') !== false) {
             return self::shell('curl "' . $api . '"');
         }
-        if (!$app) {
+        if (strpos($api, '/')) {
+            $temp = explode('/', $api);
+            $app = $temp[0];
+            $api = str_replace($app . '/', '', $api);
+        } else {
             $app = DEVER_APP_NAME;
         }
         $app = Dever::project($app);
@@ -15,11 +19,15 @@ class Cmd
             return self::shell('curl "' . $app['path'] . $api . '"', $daemon);
         } else {
             $php = Dever::config('setting')['php'] ?? 'php';
-            $temp = explode('?', $api);
-            if (isset($temp[1])) {
-                parse_str($temp[1], $param);
+            if (strpos($api, '?')) {
+                $temp = explode('?', $api);
+                if (isset($temp[1])) {
+                    parse_str($temp[1], $send);
+                    $param = array_merge($param, $send);
+                }
+                $api = $temp[0];
             }
-            $param['l'] = $temp[0];
+            $param['l'] = $api;
             return self::shell($php . ' ' . $app['path'] . 'index.php \'' . Dever::json_encode($param) . '\'', $daemon);
         }
     }

+ 0 - 7
src/Dever/Output.php

@@ -5,13 +5,6 @@ class Output
     private static $format = 'json';
     public static function success($data, $uuid = false, $code = 200)
     {
-        if (is_object($data)) {
-            $result = array();
-            foreach ($data as $v) {
-                $result[] = $v;
-            }
-            $data = $result;
-        }
         $result = array();
         $result['status'] = 1;
         $result['msg'] = 'success';