wzq лет назад: 5
Родитель
Сommit
855ed3296e

+ 50 - 0
app/Http/Controllers/Post/PostController.php

@@ -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());
+    }
+
+}

+ 20 - 0
app/Models/Post.php

@@ -0,0 +1,20 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019/6/5
+ * Time: 16:24
+ */
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class Post extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'post';
+    protected $guarded = [];
+
+}

+ 29 - 0
app/Repositories/Post/PostRepository.php

@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019/6/5
+ * Time: 16:03
+ */
+namespace App\Repositories\Post;
+
+use Illuminate\Database\QueryException;
+use Dingo\Api\Http\Response;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Redis;
+use Symfony\Component\HttpKernel\Exception\HttpException;
+use Tymon\JWTAuth\Facades\JWTAuth;
+
+class PostRepository
+{
+
+    /**
+     * 发布内容
+     */
+    public function create($request)
+    {
+        return $request;
+    }
+
+}

+ 2 - 6
database/migrations/2019_06_03_162324_create_table_post.php

@@ -56,13 +56,9 @@ class CreateTablePost extends Migration
                 ->nullable()
                 ->comment('内容');
 
-            $table->integer('city_id')
-                ->default(0)
-                ->comment('城市id');
-
-            $table->string('city_name', 16)
+            $table->string('location', 32)
                 ->default('')
-                ->comment('城市名称');
+                ->comment('定位');
 
             $table->tinyInteger('is_suggest')
                 ->default(0)

+ 10 - 1
resources/lang/zh-CN/validation.php

@@ -100,7 +100,16 @@ return [
     */
 
     'attributes' => [
-        'id' => 'id',
+        'uid' => '用户uid',
+        'type' => '类型',
+        'img' => '图片',
+        'video' => '视频',
+        'topic_ids' => '话题id',
+        'title' => '标题',
+        'content' => '内容',
+        'location' => '位置',
+        'imgs' => '图组',
+        'imgs.*' => '图集',
     ],
 
 ];

+ 4 - 2
routes/api.php

@@ -33,10 +33,12 @@ $api->version('v1', [
 
     //测试
     $api->get('test', 'TestController@index');
+    $api->group(['namespace' => 'Post'], function ($api) {
+        //发布内容
+        $api->post('post', 'PostController@create');
+    });
 
     $api->group(['middleware' => 'jwt.chxq_auth'], function ($api) {
-        $api->group(['namespace' => 'Post'], function ($api) {
 
-        });
     });
 });