胖虎 3 роки тому
батько
коміт
fe2df4c366

+ 4 - 2
app/Http/Controllers/AdminApi/ConfigController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\AdminApi;
 
 use App\Models\SysModels\Config;
 use App\Http\Controllers\AdminController;
+use App\Servers\Common\RedisDataServer;
 
 class ConfigController extends AdminController
 {
@@ -21,10 +22,11 @@ class ConfigController extends AdminController
             $data = request()->all();
             //更新config数据
             $this->update($data);
-
+            //清除redis数据
+            RedisDataServer::creatServer()->delData('gw_configs');
             return $this->apiResponseSuccess('更新成功');
         }else{
-            $configs = Config::whereIn('key',['logo','title','tel','email','address','wx_image','icp','put_on_record','lon','lat'])->pluck('value','key');
+            $configs = Config::whereIn('key',['logo','title','tel','email','cn_address','en_address','wx_image','icp','put_on_record','lon','lat'])->pluck('value','key');
             return $this->apiResponseSuccess('获取成功',$configs);
         }
     }

+ 4 - 4
app/Http/Controllers/AdminApi/NewsController.php

@@ -22,7 +22,7 @@ class NewsController extends AdminController
         //查询数据条件
         $where = [['is_del',0]];
         //获取数据
-        $banner_list = News::where($where)
+        $list = News::where($where)
             ->where(function ($q) use ($title){
                 if($title){
                     $q->orWhere('cn_title','like',"%$title%");
@@ -30,12 +30,12 @@ class NewsController extends AdminController
                 }
             })
             ->select(['id','image','cn_title','en_title','created_at'])
-            ->orderBy('id','asc')
+            ->orderBy('id','desc')
             ->paginate(10);
 
         return $this->apiResponseSuccess('获取列表成功', [
-            'items' => $banner_list->items(),
-            'total' => $banner_list->total(),
+            'items' => $list->items(),
+            'total' => $list->total(),
             'limit' => 10,
         ]);
     }

+ 44 - 2
app/Http/Controllers/Api/IndexController.php

@@ -3,7 +3,9 @@
 namespace App\Http\Controllers\Api;
 
 use App\Http\Controllers\FrontController;
+use App\Models\SysModels\Banner;
 use App\Models\SysModels\Config;
+use App\Servers\Common\RedisDataServer;
 
 class IndexController extends FrontController
 {
@@ -18,7 +20,47 @@ class IndexController extends FrontController
      * @return \Illuminate\Http\JsonResponse
      */
     function getWebsite(){
-        $configs = Config::whereIn('key',['logo','title'])->pluck('value','key');
-        return $this->apiResponseSuccess('获取成功',$configs);
+        $key_name = 'gw_configs';
+        $data = RedisDataServer::creatServer()->getData( $key_name, 'json');
+        if(!$data){
+            //数据库查找当前数据
+            $configs = Config::whereIn('key',['logo','title','tel','email','cn_address','en_address','wx_image','icp','put_on_record','lon','lat'])->pluck('value','key')->toArray();
+            //中英文数据分组
+            $data['cn']['address'] = $configs['cn_address'];
+            $data['en']['address'] = $configs['en_address'];
+            unset($configs['cn_address']);
+            unset($configs['en_address']);
+            foreach ($configs as $key=>$value){
+                $data[$key] = $value;
+            }
+            //写入redis
+            RedisDataServer::creatServer()->setData($key_name, $data, 'json', 300);
+        }
+
+        return $this->apiResponseSuccess('获取成功',$data);
+    }
+
+    /**
+     * 获取轮播图
+     * @return \Illuminate\Http\JsonResponse
+     */
+    function getBanners(){
+
+        $where = [['is_del',0]];
+        //获取数据
+        $list = Banner::where($where)
+            ->select(['cn_image','en_image','title'])
+            ->orderBy('sort','asc')
+            ->get();
+
+        $data = [];
+
+        foreach ($list as $value){
+            $res['title'] = $value['title'];
+            $res['cn']['image'] = $value['cn_image'];
+            $res['en']['image'] = $value['en_image'];
+            $data[] = $res;
+        }
+        return $this->apiResponseSuccess('获取成功',$data);
     }
 }

+ 71 - 0
app/Http/Controllers/Api/NewsController.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+use App\Http\Controllers\FrontController;
+use App\Models\NewsModels\News;
+use App\Servers\Common\CommonServer;
+
+class NewsController extends FrontController
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+
+    /**
+     * 获取新闻列表
+     * @return \Illuminate\Http\JsonResponse
+     */
+    function getList(){
+        //查询数据条件
+        $where = [['is_del',0]];
+        //获取数据
+        $list = News::where($where)
+            ->select(['id','image','cn_title','en_title','created_at'])
+            ->orderBy('id','desc')
+            ->paginate(1);
+
+        $data = [];
+
+        foreach ($list as $value){
+            $res['cn']['title'] = $value['cn_title'];
+            $res['en']['title'] = $value['en_title'];
+            $res['id'] = $value['id'];
+            $res['image'] = $value['image'];
+            $res['created_at'] = date('Y年m月d日',strtotime($value['created_at']));
+            $data[] = $res;
+        }
+
+        return $this->apiResponseSuccess('获取列表成功', [
+            'items' => $data,
+            'total' => $list->total(),
+            'limit' => 1,
+        ]);
+    }
+
+    /**
+     * 获取新闻详情
+     * @return \Illuminate\Http\JsonResponse
+     */
+    function getInfo(){
+        $id = CommonServer::creatServer()->filtrationStr('id');//获取需要查询的记录id
+        if(empty($id)) return $this->apiResponseError('请选择正确新闻');
+        //查询数据
+        $info = News::where('id',$id)->first();
+
+        if(empty($info)) return $this->apiResponseError('新闻不存在');
+
+        $data= [];
+        $data['cn']['title'] = $info['cn_title'];
+        $data['cn']['content'] = $info['cn_content'];
+
+        $data['en']['title'] = $info['en_title'];
+        $data['en']['content'] = $info['en_content'];
+
+        $data['created_at'] = date('Y.m.d',strtotime($info['created_at']));
+
+        return $this->apiResponseSuccess('获取成功', $data);
+    }
+}

+ 1 - 1
routes/api/index.php

@@ -6,6 +6,6 @@ use Illuminate\Support\Facades\Route;
 
 Route::group(['domain' => env('APP_HOST_WEB'), 'prefix' => 'index'],function (){
     Route::match(['get','post'],'website', 'IndexController@getWebsite')->name('index.website');//获取网站基础信息
-
+    Route::match(['get','post'],'banner', 'IndexController@getBanners')->name('index.banner');//获取网站轮播
 
 });

+ 11 - 0
routes/api/news.php

@@ -0,0 +1,11 @@
+<?php
+
+use Illuminate\Support\Facades\Route;
+
+
+
+Route::group(['domain' => env('APP_HOST_WEB'), 'prefix' => 'news'],function (){
+    Route::match(['get','post'],'list', 'NewsController@getList')->name('news.list');//获取新闻列表
+    Route::match(['get','post'],'info', 'NewsController@getInfo')->name('news.info');//获取新闻详情
+
+});