|
@@ -7,18 +7,22 @@
|
|
*/
|
|
*/
|
|
namespace App\Http\Controllers\V1;
|
|
namespace App\Http\Controllers\V1;
|
|
use App\Repositories\MusicRepository;
|
|
use App\Repositories\MusicRepository;
|
|
|
|
+use App\Transformers\MusicCategoryTransformer;
|
|
use App\Transformers\MusicTranformer;
|
|
use App\Transformers\MusicTranformer;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
|
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
|
use League\Fractal\Resource\Collection;
|
|
use League\Fractal\Resource\Collection;
|
|
use League\Fractal\Manager;
|
|
use League\Fractal\Manager;
|
|
|
|
+use Illuminate\Support\Facades\Validator;
|
|
|
|
+
|
|
class MusicListController extends Controller
|
|
class MusicListController extends Controller
|
|
{
|
|
{
|
|
public function __construct(MusicRepository $musicRepository) {
|
|
public function __construct(MusicRepository $musicRepository) {
|
|
$this->musicRepository = $musicRepository;
|
|
$this->musicRepository = $musicRepository;
|
|
}
|
|
}
|
|
//热门音乐列表
|
|
//热门音乐列表
|
|
- public function index(Request $request) {
|
|
|
|
|
|
+ public function index(Request $request)
|
|
|
|
+ {
|
|
$musicList = $this->musicRepository->lists($request->all());
|
|
$musicList = $this->musicRepository->lists($request->all());
|
|
$fractal = new Manager();
|
|
$fractal = new Manager();
|
|
$resource = new Collection($musicList, new MusicTranformer());
|
|
$resource = new Collection($musicList, new MusicTranformer());
|
|
@@ -26,4 +30,51 @@ class MusicListController extends Controller
|
|
$data = $fractal->createData($resource)->toArray();
|
|
$data = $fractal->createData($resource)->toArray();
|
|
return jsonSuccess($data);
|
|
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());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|