|
@@ -4,10 +4,19 @@ namespace app\admin\controller\sys_manage;
|
|
|
|
|
|
use app\admin\service\sys_manage\CategoryService;
|
|
use app\admin\service\sys_manage\CategoryService;
|
|
use app\admin\validate\sys_manage\CategoryValidate;
|
|
use app\admin\validate\sys_manage\CategoryValidate;
|
|
|
|
+use app\common\Tree;
|
|
|
|
+use app\controller\Curd;
|
|
|
|
+use app\model\SysCategory;
|
|
use support\Request;
|
|
use support\Request;
|
|
|
|
+use support\Response;
|
|
|
|
|
|
-class CategoryController
|
|
|
|
|
|
+class CategoryController extends Curd
|
|
{
|
|
{
|
|
|
|
+ public function __construct()
|
|
|
|
+ {
|
|
|
|
+ $this->model = new SysCategory();
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @Desc 分类列表
|
|
* @Desc 分类列表
|
|
* @Author Gorden
|
|
* @Author Gorden
|
|
@@ -18,11 +27,41 @@ class CategoryController
|
|
*/
|
|
*/
|
|
public function categoryList(Request $request)
|
|
public function categoryList(Request $request)
|
|
{
|
|
{
|
|
- $page = (int)$request->get('page', 1);
|
|
|
|
- $limit = (int)$request->get('limit', 10);
|
|
|
|
- $keywords = format_string($request->get('keywords', ''));
|
|
|
|
|
|
+ [$where, $format, $limit, $field, $order] = $this->selectInput($request);
|
|
|
|
+ $format = 'tree';
|
|
|
|
+ $order = $request->get('order', 'desc');
|
|
|
|
+ $field = $field ?? 'category_sort';
|
|
|
|
+ $query = $this->doSelect($where, $field, $order);
|
|
|
|
+ return $this->doFormat($query, $format, $limit);
|
|
|
|
+ }
|
|
|
|
|
|
- return CategoryService::categoryList($page, $limit, $keywords);
|
|
|
|
|
|
+ protected function formatTree($items): Response
|
|
|
|
+ {
|
|
|
|
+ $format_items = [];
|
|
|
|
+ foreach ($items as $item) {
|
|
|
|
+ $format_items[] = [
|
|
|
|
+ 'name' => $item->title ?? $item->name ?? $item->id ?? $item->category_name,
|
|
|
|
+ 'value' => (string)$item->id ?? (string)$item->category_id,
|
|
|
|
+ 'id' => $item->id ?? $item->category_id,
|
|
|
|
+ 'pid' => $item->pid ?? $item->category_super_id,
|
|
|
|
+ 'category_id' => $item->category_id,
|
|
|
|
+ 'category_name' => $item->category_name,
|
|
|
|
+ 'category_super_id' => $item->category_super_id,
|
|
|
|
+ 'category_status' => $item->category_status,
|
|
|
|
+ 'category_classify' => $item->category_classify,
|
|
|
|
+ 'category_type' => $item->category_type,
|
|
|
|
+ 'category_icon' => $item->category_icon,
|
|
|
|
+ 'category_images' => $item->category_images,
|
|
|
|
+ 'category_url' => $item->category_url,
|
|
|
|
+ 'category_page' => $item->category_page,
|
|
|
|
+ 'category_sort' => $item->category_sort,
|
|
|
|
+ 'category_groupby' => $item->category_groupby,
|
|
|
|
+ 'category_extend_json' => $item->category_extend_json,
|
|
|
|
+ 'category_addtimes' => $item->category_addtimes,
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ $tree = new Tree($format_items);
|
|
|
|
+ return json_success('success', $tree->getTree());
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|