Просмотр исходного кода

wesmiler 报恩寺项目提交

wesmiler 4 лет назад
Родитель
Сommit
4911a9965b

+ 9 - 2
app/Http/Controllers/Api/v1/IndexController.php

@@ -125,7 +125,14 @@ class IndexController extends BaseController
         }
     }
 
-    public function banner(){
-
+    /**
+     * 获取热门关键词
+     * @return array
+     */
+    public function keywords(){
+        $type = request()->get('type', 1);
+        $keywords = ConfigService::make()->getConfigByCode("search_keyword_{$type}");
+        $keywords = $keywords? explode(',', $keywords) : [];
+        return message(1005, true, $keywords);
     }
 }

+ 4 - 0
app/Http/Controllers/Api/v1/SiyuanController.php

@@ -27,6 +27,10 @@ class SiyuanController extends BaseController
         $this->service = new SiyuanService();
     }
 
+    public function index(){
+        return $this->service->getDataList();
+    }
+
     /**
      * 详情
      * @return mixed

+ 50 - 0
app/Services/SiyuanService.php

@@ -34,6 +34,56 @@ class SiyuanService extends BaseService
     }
 
     /**
+     * 获取列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getDataList()
+    {
+        $params = request()->all();
+        $page = isset($params['pageSize']) ? intval($params['pageSize']) : PAGE;
+        $pageSize = isset($params['pageSize']) ? intval($params['pageSize']) : PERPAGE;
+
+        $dataList = $this->model::from('siyuan as a')
+            ->where(function ($query) use ($params) {
+                $query->where(['a.mark'=>1,'a.status'=> 1]);
+                $keyword = isset($params['keyword']) ? trim($params['keyword']) : '';
+                if (!empty($keyword)) {
+                    $query->where('a.title', 'like', "%{$keyword}%");
+                }
+
+                $isRecommand = isset($params['is_recommand']) ? intval($params['is_recommand']) : 0;
+                if ($isRecommand > 0) {
+                    $query->where('a.is_recommand', $isRecommand);
+                }
+
+            })
+            ->select(['a.*'])
+            ->orderBy('a.sort', 'asc')
+            ->orderBy('a.create_time', 'desc')
+            ->paginate($pageSize);
+
+        $dataList = $dataList ? $dataList->toArray() : [];
+        if ($dataList) {
+            foreach ($dataList['data'] as &$item) {
+                $item['thumb'] = $item['thumb'] ? get_image_url($item['thumb']) : '';
+                $item['create_time'] = $item['create_time'] ? datetime($item['create_time'],'Y-m-d H:i:s') : '';
+
+            }
+            unset($item);
+        }
+
+        return [
+            'code' => 0,
+            'success'=> true,
+            'msg' => '操作成功',
+            'count' => isset($dataList['total']) ? $dataList['total'] : 0,
+            'data' => isset($dataList['data']) ? $dataList['data'] : 0,
+        ];
+    }
+
+    /**
      * 访问量
      * @return mixed
      */

+ 1 - 0
routes/api.php

@@ -35,6 +35,7 @@ Route::post('/auth/weixin', [\App\Http\Controllers\Api\AuthController::class, 'c
 Route::post('/index/banners', [\App\Http\Controllers\Api\v1\IndexController::class, 'banners']);
 Route::post('/index/jssdk', [\App\Http\Controllers\Api\v1\IndexController::class, 'jssdk']);
 Route::post('/invite/params', [\App\Http\Controllers\Api\v1\IndexController::class, 'inviteParams']);
+Route::post('/invite/keywords', [\App\Http\Controllers\Api\v1\IndexController::class, 'keywords']);
 Route::post('/vip/params', [\App\Http\Controllers\Api\v1\IndexController::class, 'vipParams']);
 Route::post('/index/params', [\App\Http\Controllers\Api\v1\IndexController::class, 'params']);
 Route::post('/city/list', [\App\Http\Controllers\Api\v1\IndexController::class, 'city']);