startupRepository = $startupRepository; } /** * 启动页列表 */ public function index(Request $request) { $startupList = $this->startupRepository->lists($request->all()); $fractal = new Manager(); $resource = new Collection($startupList, new StartupListTransformer()); $resource->setPaginator(new IlluminatePaginatorAdapter($startupList)); $data = $fractal->createData($resource)->toArray(); $data['extra'] = [ 'filters' => [ 'keyword' ], 'columns' => [ 'id', 'title', 'img', 'is_open' ] ]; return $data; } /** * 创建启动页 */ public function create(Request $request) { $validator = Validator::make($request->all(), [ 'title' => 'required|string|max:12', 'img' => 'required|url', 'url' => 'nullable|url', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->startupRepository->create($request->all()); } /** * 编辑启动页 */ public function update(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|integer', 'title' => 'required|string|max:12', 'img' => 'required|url', 'url' => 'nullable|url', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->startupRepository->update($request->all()); } /** * 启动页详情 */ public function detail(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|exists:startup' ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } $startup = $this->startupRepository->detail($request->all()); return $this->response->item($startup, new StartupDetailTransformer()); } /** * 修改启动页状态 */ public function updateStatus(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|integer' ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->startupRepository->updateStatus($request->all()); } /** * 删除启动页 */ public function delete(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|integer' ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->startupRepository->delete($request->all()); } }