|
@@ -0,0 +1,50 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+/**
|
|
|
+ * Created by PhpStorm.
|
|
|
+ * User: Administrator
|
|
|
+ * Date: 2019/6/5
|
|
|
+ * Time: 15:58
|
|
|
+ */
|
|
|
+namespace App\Http\Controllers\Post;
|
|
|
+
|
|
|
+use App\Repositories\Post\PostRepository;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+use Illuminate\Support\Facades\Validator;
|
|
|
+use App\Http\Controllers\Controller;
|
|
|
+use Illuminate\Validation\Rule;
|
|
|
+use League\Fractal\Manager;
|
|
|
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
|
|
+use League\Fractal\Resource\Collection;
|
|
|
+
|
|
|
+class PostController extends Controller
|
|
|
+{
|
|
|
+ public function __construct(PostRepository $postRepository)
|
|
|
+ {
|
|
|
+ $this->postRepository = $postRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 发布内容
|
|
|
+ */
|
|
|
+ public function create(Request $request)
|
|
|
+ {
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
+ 'uid' => 'required|integer',
|
|
|
+ 'type' => ['required',Rule::in('image', 'video', 'text')],
|
|
|
+ 'img' => 'required|url',
|
|
|
+ 'video' => 'nullable|string|url',
|
|
|
+ 'topic_ids' => 'required|string|max:64',
|
|
|
+ 'title' => 'nullable|string|max:20',
|
|
|
+ 'content' => 'required|string|max:20',
|
|
|
+ 'location' => 'required|string',
|
|
|
+ 'imgs' => 'required|array',
|
|
|
+ 'imgs.*' => 'required|url',
|
|
|
+ ]);
|
|
|
+ if ($validator->fails()) {
|
|
|
+ return $this->response->error($validator->errors()->first(), 500);
|
|
|
+ }
|
|
|
+ return $this->postRepository->create($request->all());
|
|
|
+ }
|
|
|
+
|
|
|
+}
|