之后做的工作,
将是把代码中的注释,全部清除掉。
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/10/24
* Time: 21:22
*/
namespace App\Http\Controllers\Api;
use App\Http\Controllers\BaseController;
use App\Models\Message;
use App\Repositories\Eloquent\MessageRepositoryEloquent;
use App\Transformers\Api\Message\MessageTransformer;
use Illuminate\Http\Request;
use App\Serializer\CustomSerializer;
use Dingo\Api\Http\Response\Factory;
class MessageController extends BaseController
{
protected $message;//消息的模型。
/**
* 初始化一些Eloquent。
*/
public function __construct(
MessageRepositoryEloquent $message
)
{
$this->message = $message;
}
/**
* 参数列表:
* id
* title
* content
* msg_type
* short_describe
* read_status
* user_id
*/
public function msgLists(Request $request)//可用一般的Request,也可以用自定制的Request。
{
$perPage = 20; //分页的配置:一页20个数据。
$msgs = $this->message->msgSearch($request, $perPage);
return $this->paginatorReturn($msgs, new MessageTransformer());//返回时的使用哪些属性。
}
// 第二版
// if ($msgs->isEmpty()) {
// //直接指向PHP的原生Response
// return \Response::json([
// 'message' => 'no more data',
// 'status_code' => '204'
// ]);
// } else {
// return app(Factory::class)->paginator(
//
// $msgs,
// new MessageTransformer(),
// [],
// function ($resource, $fractal) {
// $fractal->setSerializer(new CustomSerializer());
// }
// );
// }
// 第一版
// $msg_id = $request->get("msg_id");
// if (!empty($msg_id)) {
// //$msg = Message::where("msg_id", $msg_id)->get()->first();
// $msg = Message::find($msg_id);
// //printf($msg_arr[0]);
// //echo 6666666;
// return response()->json(['data' => $msg, 'message' => 'EveryThing is Okay', 'status_code' => '200']);
// } else {
// // return response()->json(['data' => 'null', 'message' => 'haven\' received msg_id', 'status_code' => '205']);
// return response()->json([
// 'data' => Message::all(),
// 'message' => 'Everything is Okay , U can try to input your msg_id',
// 'status_code' => '200'
// ]);
// }
public function msgAdd(Request $request)//StoreMsgRequest
{
$attrs = $request->all();
if (!empty($attrs['title']) && !empty($attrs['content']) && !empty($attrs['msg_type']) && !empty($attrs['user_id'])) {
$attrs['short_describe'] = mb_substr($attrs['content'], 0, 20)."... ...";
$msg = Message::create($attrs);
return $this->itemReturn($msg, new MessageTransformer());//返回时的使用哪些属性。
} else {
return $this->returnEmpty("add msg failed", "400");//返回时的使用哪些属性。
}
}
// 第二版
// return response()->json(['data' => $msg, 'message' => 'EveryThing is Okay', 'status_code' => '200']);
// return response()->json(['data' => null, 'message' => 'lack params ', 'status_code' => '400']);
// 测试用例:http://localhost:8000/msg/add?msg_id=4&title=titleaaaaa&content=abcdrfghijklmnopqrst&user_id=10
// 第一版
// //$msg_id = $request->get("msg_id");
// $title = $request->get('title');
// $content = $request->get('content');
// $msg_type = $request->get('msg_type');
// $user_id = $request->get('user_id');
//
//
// if (!empty($msg_id) && !empty($title) && !empty($content) && !empty($user_id)) {
// $datetime = new \DateTime();
//
// $msg = Message::create([
// // 'msg_id' => $msg_id,
// //'created_at' => $datetime->format('Y-m-d H:i:s'),
// 'title' => $title /*"this is $msg_id" . "st message"*/,
// 'content' => $content /*"$msg_id message content is here"*/,
// 'msg_type' => $msg_type,
// 'short_describe' => substr($content, 0, 5) . '...' /*"overview $msg_id" . "st message"*/,
// //'read_status' => 0,
// "user_id" => $user_id
// ]);
// return response()->json(['data' => $msg, 'message' => 'EveryThing is Okay', 'status_code' => '200']);
// } else {
// return response()->json(['data' => 'null', 'message' => 'your msg_id is wrong and the action haven\'t actioned', 'status_code' => '205']);
// }
}