Procházet zdrojové kódy

星球新闻列表

duqinya před 5 roky
rodič
revize
b5b47af2b4

+ 37 - 0
app/Http/Controllers/V2/StarNewsController.php

@@ -0,0 +1,37 @@
+<?php
+namespace App\Http\Controllers\V2;
+use App\Http\Controllers\BaseController;
+use App\Repositories\PlatformContentRepository;
+use App\Repositories\StarNewsRepository;
+use App\Transformers\PlatformContentTransformer;
+use App\Transformers\StarNewsTransformer;
+use Illuminate\Http\Request;
+use League\Fractal\Resource\Collection;
+use League\Fractal\Manager;
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
+/**
+ * Created by PhpStorm.
+ * User: durong
+ * Date: 2019/6/17
+ * Time: 下午7:42
+ */
+
+class StarNewsController extends BaseController
+{
+    public function __construct(StarNewsRepository $starNewsRepository)
+    {
+        $this->starNewsRepository = $starNewsRepository;
+    }
+
+    //星球新闻列表
+    public function index(Request $request)
+    {
+        $starNews = $this->starNewsRepository->index($request->all());
+
+        $fractal = new Manager();
+        $resource = new Collection($starNews , new StarNewsTransformer());
+        $resource->setPaginator(new IlluminatePaginatorAdapter($starNews));
+        $data = $fractal->createData($resource)->toArray();
+        return $this->jsonSuccess($data);
+    }
+}

+ 24 - 0
app/Models/StarNews.php

@@ -0,0 +1,24 @@
+<?php
+namespace App\Models;
+/**
+ * Created by PhpStorm.
+ * User: durong
+ * Date: 2019/6/17
+ * Time: 下午13:11
+ */
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class StarNews extends BaseModel
+{
+    use SoftDeletes;
+
+    protected $dates = ['deleted_at'];
+    protected  $table = 'star_news';
+    /**
+     * 可被批量赋值的字段
+     * @var array
+     */
+    protected $fillable = ['title','content','cover_img','status','sort'];
+
+
+}

+ 28 - 0
app/Repositories/StarNewsRepository.php

@@ -0,0 +1,28 @@
+<?php
+namespace App\Repositories;
+use App\Models\StarNews;
+use Dingo\Api\Http\Response;
+use Symfony\Component\HttpKernel\Exception\HttpException;
+/**
+ * Created by PhpStorm.
+ * User: durong
+ * Date: 2019/6/17
+ * Time: 下午18:59
+ */
+
+class StarNewsRepository
+{
+    public function __construct(StarNews $starNews)
+    {
+        $this->starNews = $starNews;
+    }
+
+    public function index($request)
+    {
+        $perPage = isset($request['per_page']) ? $request['per_page'] : env('PER_PAGE');
+        $this->starNews = $this->starNews
+            ->orderBy('id', 'desc');
+
+        return $this->starNews->paginate($perPage);
+    }
+}

+ 23 - 0
app/Transformers/StarNewsTransformer.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App\Transformers;
+
+use App\Models\StarNews;
+use League\Fractal\TransformerAbstract;
+
+class StarNewsTransformer extends TransformerAbstract
+{
+
+    public function transform(StarNews $starNews)
+    {
+        return [
+            'id'  => $starNews['id'],
+            'title'    => $starNews['title'],
+            'content'    => $starNews['content'],
+            'cover_img'    => $starNews['cover_img'],
+            'status'    => $starNews['status'],
+            'sort'    => $starNews['sort'],
+            'updated_at'    => date($starNews['updated_at']),
+        ];
+    }
+}