Browse Source

【程序目录】更新验证路径

evoxwht 1 year ago
parent
commit
101cb0b247
1 changed files with 23 additions and 0 deletions
  1. 23 0
      crmeb/app/adminapi/controller/v1/setting/SystemCrud.php

+ 23 - 0
crmeb/app/adminapi/controller/v1/setting/SystemCrud.php

@@ -64,6 +64,28 @@ class SystemCrud extends AuthController
         return app('json')->success($this->services->getList());
     }
 
+    /**
+     * 验证路径
+     * @param $data
+     * @return bool
+     * @author wuhaotian
+     * @email 442384644@qq.com
+     * @date 2024/2/19
+     */
+    public function crudVerifyPath($data)
+    {
+        if (strpos($data['controller'], 'app/adminapi/controller/crud/') !== 0) return false;
+        if (strpos($data['validate'], 'app/adminapi/validate/crud/') !== 0) return false;
+        if (strpos($data['service'], 'app/services/crud/') !== 0) return false;
+        if (strpos($data['dao'], 'app/dao/crud/') !== 0) return false;
+        if (strpos($data['model'], 'app/model/crud/') !== 0) return false;
+        if (strpos($data['route'], 'app/adminapi/route/crud/') !== 0) return false;
+        if (strpos($data['router'], 'router/modules/crud/') !== 0) return false;
+        if (strpos($data['api'], 'api/crud/') !== 0) return false;
+        if (strpos($data['pages'], 'pages/crud/') !== 0) return false;
+        return true;
+    }
+
     /**
      * @return Response
      * @author 等风来
@@ -88,6 +110,7 @@ class SystemCrud extends AuthController
         if (!preg_match('/^[\x{4e00}-\x{9fa5}a-zA-Z]+$/u', $data['menuName'])) return app('json')->fail('菜单名称只能是中文或者英文');
         if (!preg_match('/^[\x{4e00}-\x{9fa5}a-zA-Z]+$/u', $data['modelName'])) return app('json')->fail('模块名称只能是中文或者英文');
         if (!preg_match('/^[a-zA-Z_]+$/u', $data['tableName'])) return app('json')->fail('表名称只能是英文和下划线组成');
+        if (!$this->crudVerifyPath($data['filePath'])) return app('json')->fail('生成的文件位置有误,请检查后重新生成');
 
         $fromField = $searchField = $hasOneField = $columnField = $tableIndex = [];