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

wesmiler 报恩寺项目提交

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

+ 15 - 0
app/Http/Controllers/Api/v1/ArticleController.php

@@ -83,6 +83,21 @@ class ArticleController extends BaseController
     }
 
     /**
+     * 发布
+     * @param Request $request
+     * @param ArticleValidator $validate
+     * @return array
+     */
+    public function send(Request $request, ArticleValidator $validator){
+        $params = $validator->check($request->all(),'send');
+        if(!is_array($params)){
+            return message($params, false);
+        }
+        $params['user_id'] = $this->userId;
+        return $this->service->send($params);
+    }
+
+    /**
      * 获取文章分类
      * @return mixed
      */

+ 9 - 0
app/Http/Validator/ArticleValidator.php

@@ -7,6 +7,10 @@ class ArticleValidator extends BaseValidator
         'id' => 'required',
         'realname' => 'required|string|min:1|max:20',
         'phone' => 'required|string|min:2|max:20',
+        'title' => 'required|string|min:2|max:50',
+        'author' => 'required|string|min:2|max:20',
+        'thumb' => 'required|string|min:2|max:250',
+        'content' => 'required|string|min:2|max:500',
     ];
 
     // 当前模型所有错误提示信息
@@ -24,12 +28,17 @@ class ArticleValidator extends BaseValidator
         'id' => 'ID',
         'realname' => '姓名',
         'phone' => '联系电话',
+        'author' => '作者',
+        'thumb' => '封面图片',
+        'title' => '标题',
+        'content' => '内容',
     ];
 
     // 当前模型所有验证场景
     public static $scenes = [
         'info'=> ['id'],
         'books'=> ['id','realname','phone'],
+        'send'=> ['title','author','content','thumb'],
     ];
 
     /**

+ 22 - 0
app/Services/ArticleService.php

@@ -332,4 +332,26 @@ class ArticleService extends BaseService
         return parent::edit($data); // TODO: Change the autogenerated stub
     }
 
+    /**
+     * 发布
+     * @param $params
+     * @return array
+     */
+    public function send($params){
+        $data = [
+            'user_id'=> isset($params['user_id'])? $params['user_id'] : 0,
+            'type'=> 3,
+            'title'=> isset($params['title'])? $params['title'] : '',
+            'author'=> isset($params['author'])? $params['author'] : '',
+            'thumb'=> isset($params['thumb'])? $params['thumb'] : '',
+            'content'=> isset($params['content'])? $params['content'] : '',
+            'create_time'=> time(),
+            'mark'=> 1,
+            'status'=> 2,
+        ];
+        $data['update_time'] = time();
+        $data['publish_at'] = isset($data['publish_at']) && $data['publish_at']? $data['publish_at'] : date('Y-m-d H:i:s');
+
+        return parent::edit($data); // TODO: Change the autogenerated stub
+    }
 }

+ 1 - 0
routes/api.php

@@ -114,6 +114,7 @@ Route::post('/article/info', [\App\Http\Controllers\Api\v1\ArticleController::cl
 Route::post('/article/books', [\App\Http\Controllers\Api\v1\ArticleController::class, 'books']);
 Route::post('/article/cates', [\App\Http\Controllers\Api\v1\ArticleController::class, 'cates']);
 Route::post('/article/relaction', [\App\Http\Controllers\Api\v1\ArticleController::class, 'relaction']);
+Route::post('/article/send', [\App\Http\Controllers\Api\v1\ArticleController::class, 'send']);
 Route::post('/article/page', [\App\Http\Controllers\Api\v1\ArticleController::class, 'page']);
 
 // 工作招聘