1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- /**
- * Created by PhpStorm.
- * User: durong
- * Date: 2019/7/4
- * Time: 上午9:47
- */
- namespace App\Http\Controllers\V1;
- use App\Repositories\MusicRepository;
- use App\Transformers\MusicCategoryTransformer;
- use App\Transformers\MusicTranformer;
- use Illuminate\Http\Request;
- use League\Fractal\Pagination\IlluminatePaginatorAdapter;
- use League\Fractal\Resource\Collection;
- use League\Fractal\Manager;
- use Illuminate\Support\Facades\Validator;
- class MusicListController extends Controller
- {
- public function __construct(MusicRepository $musicRepository) {
- $this->musicRepository = $musicRepository;
- }
- //热门音乐列表
- public function index(Request $request)
- {
- $musicList = $this->musicRepository->lists($request->all());
- $fractal = new Manager();
- $resource = new Collection($musicList, new MusicTranformer());
- $resource->setPaginator(new IlluminatePaginatorAdapter($musicList));
- $data = $fractal->createData($resource)->toArray();
- return jsonSuccess($data);
- }
- //获取音乐分类
- public function categoryList(Request $request)
- {
- $categoryList = $this->musicRepository->category_list($request->all());
- $fractal = new Manager();
- $resource = new Collection($categoryList, new MusicCategoryTransformer());
- $resource->setPaginator(new IlluminatePaginatorAdapter($categoryList));
- $data = $fractal->createData($resource)->toArray();
- return jsonSuccess($data);
- }
- //获取某分类下所有音乐
- public function postMusicList(Request $request)
- {
- $data = $request->all();
- $validator = Validator::make($data, [
- 'category_id' => 'required|integer',
- ]);
- if ($validator->fails()) {
- return $this->jsonError($validator->errors()->first());
- }
- $postMusicList = $this->musicRepository->postMusicList($data);
- $fractal = new Manager();
- $resource = new Collection($postMusicList, new MusicTranformer());
- $resource->setPaginator(new IlluminatePaginatorAdapter($postMusicList));
- $data = $fractal->createData($resource)->toArray();
- return jsonSuccess($data);
- }
- //用户上传音乐
- public function addMusic(Request $request)
- {
- $validator = Validator::make($request->all(), [
- 'name' => 'required|string',
- 'username' => 'string',
- 'uid' => 'required|integer',
- ]);
- if ($validator->fails()) {
- return jsonError($validator->errors()->first());
- }
- return $this->musicRepository->create($request->all());
- }
- }
|