Commit b1859c80 b1859c807ff7c5a3278555f5c6965346e9d047e9 by mengfan.xie

release

1 parent aa9f68ef
......@@ -13,5 +13,4 @@ npm-debug.log
yarn-error.log
/.idea
/.vscode
/database/icms/*.resp
/database/icms/*.notify
/database/release/*.resp
......
......@@ -12,7 +12,7 @@ class CosHelper
protected $client;
protected $bucket;
public function __construct()
public function __construct($bucket = null)
{
$secretId = env('COS_SECRET_ID'); //"云 API 密钥 SecretId";
$secretKey = env('COS_SECRET_KEY'); //"云 API 密钥 SecretKey";
......@@ -26,7 +26,7 @@ class CosHelper
'secretKey' => $secretKey)));
$this->client = $cosClient;
$this->bucket = env('COS_BUCKET');
$this->bucket = $bucket ?? env('COS_BUCKET');
}
/**
......
<?php
namespace App\Http\Controllers\Icms;
use App\Helper\Response;
use App\Jobs\HandleAlbumStatus;
use Illuminate\Http\Request;
class WorkController extends BaseController
{
/**
* 专辑列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function albumList(Request $request)
{
//todo:参数验证
// dd(basename($request->getRequestUri()));
return $this->doApi('album-list');
}
/**
* 专辑提交上线库
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function submitTme(Request $request)
{
//todo:参数验证
return $this->doApi('submit-tme');
}
/**
* 获取专辑详情
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function getAlbum(Request $request)
{
//todo:数据验证
return $this->doApi('get-album');
}
/**
* 删除专辑草稿(含批量)<草稿接口目前弃用,所以不存在删除了>
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
// public function delAlbum(Request $request)
// {
// return $this->doApi('del-album');
// }
/**
* 艺人查询
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function showerList(Request $request)
{
//todo:参数验证
return $this->doApi('shower-list');
}
/**
* 创建艺人
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function createShower(Request $request)
{
//todo: 待数据实现
return $this->doApi('create-shower');
}
/**
* 候选人列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function getLeaders(Request $request)
{
//todo:参数验证
return $this->doApi('get-leaders');
}
/**
* 检查作品重复
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function checkRepeat(Request $request)
{
//todo:参数验证
return $this->doApi('check-repeat');
}
/**
* 原始版权公司列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function originalCompany(Request $request)
{
//todo:参数验证
return $this->doApi('original-company');
}
/**
* 作品录入文件上传
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function workFile(Request $request)
{
//todo:参数验证
return $this->doApi('work-file');
}
/**
* 获取授权主体列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function signSubject(Request $request)
{
//todo:参数验证
return $this->doApi('sign-subject');
}
/**
* 异步通知专辑上架信息
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function albumStatus(Request $request)
{
$callData = $request->only(['album_id','tme_album_id','album_status','song_id','timestamp']);
$callSign = $request->post('sign');
$callCpId = $request->post('cp_id');
if ($callCpId !== $this->cp_id) {
return Response::error(40001,'没有请求权限!');
}
//验签
$signData = $this->signData($callData);
if ($callSign !== $signData['sign']) {
return Response::error(40003,'签名鉴权未通过!');
}
//入队批量处理业务(暂时只保存请求数据)
HandleAlbumStatus::dispatch($callData)->onQueue('handle-album-status');
return response()->json(['code' => 200,'data' => true,'message' => 'OK']);
}
}
<?php
namespace App\Http\Controllers\Icms;
namespace App\Http\Controllers\Release;
use App\Helper\Response;
use App\Http\Controllers\Controller;
......@@ -13,67 +13,63 @@ class BaseController extends Controller
* 基础变量
* @var string
*/
protected $domain, $cp_id;
private $key;
protected $domain, $appId;
private $appSecret;
public function __construct()
{
$this->domain = env('ICMS_DOMAIN','https://mgw-uat.tencentmusic.com/icms/sit-api');
$this->cp_id = env('ICMS_CPID','7389');
$this->key = env('ICMS_KEY','50d74110004d94605d12c241eeafee27');
$this->domain = env('TME_DOMAIN','https://openapi-sit.tencentmusic.com');
$this->appId = env('TME_APPID','47820741');
$this->appSecret = env('TME_APPSECRET','nPWFDDHKYCP4bUzoq9zyaJQx4ltQqMSs');
}
/**
* 签名需要,递归处理子数组中Int型数字转换成字符串
* @param array $array
* @return array
/**获取accessToken
*
*/
private function handleSubArrayNumber(array $array)
function getToken()
{
foreach ($array as $k=>$v) {
if (is_array($v)) {
$array[$k] = $this->handleSubArrayNumber($v);
$url = rtrim($this->domain,'/').'/oauth2/token';
$data = ['appId'=>$this->appId,'appSecret'=>$this->appSecret];
try {
$client = new Client(['verify'=>false]); //实体公钥['verify'=>'/path/to/public.pem']
$response = $client->request('POST', $url, ['json' => $data]);
$respArr = json_decode($response->getBody()->getContents(), true);
Log::channel('api')->info(__METHOD__, $respArr);
if (200 !== $respArr['code']) {
return null;
} else {
if (is_numeric($v) && is_int($v)) {
$array[$k] = (string)$v;
}
return $respArr['data'];
}
} catch (\Exception $e) {
Log::channel('api')->error(__METHOD__, ['msg'=>$e->getMessage()]);
return null;
}
return $array;
}
/**
* 获取签名和去空的参数
* @param array $array
* @return array
/** ascii码从小到大排序
* @param array $params
* @return bool|string
*/
protected function signData(array $array)
function ascSort($params = array())
{
$common_params = [
'cp_id' => $this->cp_id
];
$param_arr = array_merge($common_params,$array);
ksort($param_arr);
$params = '';
$signData = [];
foreach ($param_arr as $k=>$v)
{
if ('' === $v || null === $v || [] === $v) {
continue;
} if (is_array($v)) {
$params .= $k . '=' . json_encode($this->handleSubArrayNumber($v)) . '&';
} else {
$params .= $k . '=' . $v . '&';
if (!empty($params)) {
$p = ksort($params);
if ($p) {
$str = '';
foreach ($params as $k => $val) {
$str .= $k . '=' . $val . '&';
}
$strs = rtrim($str, '&');
return $strs;
}
$signData[$k] = $v;
}
$params = trim($params,'&');
$signData['sign'] = strtoupper(md5($params.$this->key));
return $signData;
return false;
}
/**
* 重组请求数据
* 重组请求数据,返回headers和json
* @param string $uri
* @param array $reqData
* @param bool $isLocal
......@@ -82,12 +78,17 @@ class BaseController extends Controller
private function requestData(string $uri, array $reqData, bool $isLocal = true)
{
if ($isLocal) {
$data_file = database_path('Icms/'.$uri.'.query.php');
$data_file = database_path('Release/'.$uri.'.query.php');
$params = include("$data_file");
} else {
$params = $reqData;
}
$params['timestamp'] = time();
$heaers['appId'] = $this->appId;
$heaers['accessToken'] = $this->appId;
$heaers['timestamp'] = (string)date('YmdHis');
$heaers['signMethod'] = 'md5';
$heaers['sign'] = 'md5';
$heaers['traceId'] = 'md5';
return $this->signData($params);
}
......@@ -119,7 +120,7 @@ class BaseController extends Controller
if (200 !== $respArr['code']) {
return Response::error(-1,$respArr['msg'] ?? '操作失败');
} else {
$response_file = database_path('icms/' . $uri . '.resp');
$response_file = database_path('release/' . $uri . '.resp');
file_put_contents($response_file, var_export($respArr['data'],true));
return Response::success($respArr['data']);
}
......@@ -128,4 +129,56 @@ class BaseController extends Controller
return Response::error(-1,'接口请求失败!');
}
}
/**
* 签名需要,递归处理子数组中Int型数字转换成字符串
* @param array $array
* @return array
*/
private function handleSubArrayNumber(array $array)
{
foreach ($array as $k=>$v) {
if (is_array($v)) {
$array[$k] = $this->handleSubArrayNumber($v);
} else {
if (is_numeric($v) && is_int($v)) {
$array[$k] = (string)$v;
}
}
}
return $array;
}
/**
* 获取签名和去空的参数
* @param array $array
* @return array
*/
protected function signData(array $array)
{
$common_params = [
'cp_id' => $this->cp_id
];
$param_arr = array_merge($common_params,$array);
ksort($param_arr);
$params = '';
$signData = [];
foreach ($param_arr as $k=>$v)
{
if ('' === $v || null === $v || [] === $v) {
continue;
} if (is_array($v)) {
$params .= $k . '=' . json_encode($this->handleSubArrayNumber($v)) . '&';
} else {
$params .= $k . '=' . $v . '&';
}
$signData[$k] = $v;
}
$params = trim($params,'&');
$signData['sign'] = strtoupper(md5($params.$this->key));
return $signData;
}
}
......
<?php
namespace App\Http\Controllers\Release;
use App\Helper\Response;
use App\Jobs\HandleAlbumStatus;
use Illuminate\Http\Request;
class WorkController extends BaseController
{
/**
* 专辑列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function albumList(Request $request)
{
//todo:参数验证
// dd(basename($request->getRequestUri()));
return $this->doApi('album-list');
}
}
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class HandleAlbumStatus implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
private $callData = [];
/**
* Create a new job instance.
* @param array $callData
* @return void
*/
public function __construct(array $callData)
{
$this->callData = $callData;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//php artisan queue:work --queue=handle-album-status --tries=3 --sleep=3
$response_file = database_path('icms/album-status.notify');
file_put_contents($response_file,
'======接收回调数据在'.date('Y-m-n H:i:s').'======'. PHP_EOL
.var_export($this->callData,true). PHP_EOL,FILE_APPEND);
}
/**
* @param null $exception
*/
public function fail($exception = null)
{
//todo: Artisan创建任务失败记录表
}
}
......@@ -55,10 +55,10 @@ class RouteServiceProvider extends ServiceProvider
->namespace($this->namespace)
->group(base_path('routes/web.php'));
//icms
Route::prefix('icms')
->namespace($this->namespace . '\Icms')
->group(base_path('routes/icms.php'));
//发行接口
Route::prefix('release')
->namespace($this->namespace . '\Release')
->group(base_path('routes/release.php'));
});
}
......
<?php
return [
'page_size' => 10,
'page' => 1,
'song_name' => 'Matthew',//歌曲名
'album_name' => 'test-2',//专辑名
'song_type' => '-1',//专辑类型 int
'song_genre' => '1',//专辑流派 int
'artist_name' => '李菲',//艺人名
'region' => '17',//地区 int 17: "港台"; 18: "内地"; 19: "日韩"; 20: "欧美"; 21: "其他"; 22: "东南亚"; 23: "未知";
'language' => '0',//语言 int
'status' => '',//状态(0:隐藏;1:待上架;2:已下架;3:审核中;4:审核不通过;5:已上架;6:草稿;7:删除)
'finish_status' => '2',//完善状态(1:待完善;2:已完善)
'copyright_company_id' => '2',//所属公司ID int
'signsubject_id' => '1',//签约主体ID int
'start_time' => '2021-12-20',//开始时间 日期
'end_time' => '2021-12-21',//结束时间 日期
'user_id' => '',//用户ID
'album_id' => '38085',//专辑ID
'song_id' => '453778',//作品ID
'cql_id' => '0',//中央曲库ID
];
\ No newline at end of file
<?php
return [
'check' => [
'id' => '',//作品ID string
'name' => '',//作品名称
'album_name' => '',//专辑名
'artist' => '',//艺人ID string
'composting' => '',//曲作者
'wording' => '',//词作者
'original_company' => '',//原始版权公司
'version' => '',//作品版本
]
];
\ No newline at end of file
<?php
return [
'id' => 38085
];
\ No newline at end of file
<?php
return [];
\ No newline at end of file
<?php
return [];
\ No newline at end of file
<?php
return [
'page_size' => 10,
'page' => 1,
'singer_name' => '海葵测试艺人02',//艺人名
'area' => 5,//艺人活跃地区 int 0 港台; 1 内地; 2 日韩; 3 欧美; 4 其他; 5 东南亚; 6 未知;
'type' => 2,//艺人类型 int 0: 男; 1: 女; 2: 组合; 3: 虚拟; 4: 其他;
];
\ No newline at end of file
<?php
return [
'page_size' => 10,
'page' => 1,
'name' => '启韵'//授权主体名称
];
\ No newline at end of file
<?php
return [
'id' => 37968,
'album_name' => '海葵测试专辑01',//专辑名
'tran_name' => '测试专辑01',//翻译名称
'album_cover' => 'https://legal-test-1305250541.cos.ap-shanghai.myqcloud.com/logo/logo.png?q-sign-algorithm=sha1&q-ak=AKIDCT_ihvi7dCVjXklSUcitkOuvzUm-40NrZw0Aljp7XOLd1XZwU4LzHqizS4WQSR8B&q-sign-time=1639989345;1639992945&q-key-time=1639989345;1639992945&q-header-list=host&q-url-param-list=&q-signature=ddbebf368aee6b4f413002a4b27c93e045b5261d&x-cos-security-token=DQxyuKoPLh59NX7U7UbmtVcdPz7iAaha854bb74d0a2ea2a0939bc0227b133da6X5zte-0TxXocfdG-GF2HIRZ3HU0iYAtmnH7EHo3ELSGGJozkOhTPe5L0e1SZh6Rjxi90Q8-e-3dQJ-GzCSyu-NJnMFjfB5rMYKxYcLAE1YCCF_Yu8S64oy6o-O9TP2HbM6ZwqPdcI8JnYpcuRys9M3Of8w4bAr87K6ghv3wjpwDVcNCAC-jp8Wu_JQjRK6tb',//专辑封面url
'artist' => ['15835620,海葵测试艺人01'],//所属艺人,['艺人ID-1,艺人名称-1','艺人ID-2,艺人名称-2']
'album_type' => 17,//专辑类型ID int
'region' => 18,//地区 int 17: "港台"; 18: "内地"; 19: "日韩"; 20: "欧美"; 21: "其他"; 22: "东南亚"; 23: "未知";
'language' => '0,1',//语言 string,多种语言逗号分割
'album_genre' => 'Children\'s|Country',//专辑流派 string 单竖杠分割
'album_upc' => '',//专辑UPC
'version' => '1.0',//专辑版本
'brand_company' => '',//外显厂牌公司
'publish_time' => '2022-01-01',//发行时间
'online_time' => '2022-01-01',//上线时间
'is_number' => 1,//是否数专 1.是 0.否
'pre_time' => '',//预售时间
'sale_start_time' => '2022-01-02',//开卖时间
'sale_end_time' => '2022-01-15',//售卖结束时间
'price' => '1000.00',//售卖价格
'auth_file' => 'https://legal-test-1305250541.cos.ap-shanghai.myqcloud.com/approvals/contracts/2021-10-21/1634816138676/todo.txt?q-sign-algorithm=sha1&q-ak=AKID7M9V6J5PV6ijzuYiQsA4h85V98-QqvkYYNi6GyLh0rbYRy2JpSTvMXl72OyVLSiu&q-sign-time=1639991569;1639995169&q-key-time=1639991569;1639995169&q-header-list=host&q-url-param-list=&q-signature=ff885dc6c1d999c49238ba5ec5ca795e056f86bf&x-cos-security-token=PE33cjrK617zzKIt6bWo3bdJqmbh4Xra34ee0f941ee401b0d421adc5845e83ffOQpcFK9GE2Ssby2dwXNhPd3bMeReuwI8UaPHBKS8k4jj0mrqhvI5U4_Z3bUMMcS5yaB8Cp4bU88C_6hBQ1QxGtSZJPfcnNM9i6ln4hnI87C9LtDWmRtUdfvsswpG91yqqqe_X2ZIJJ3hvf-TAjB8OGdbD7EBuQLo8tsmNp6Zf0P1u-0fpaPd2KgH4_-h1Am2',
'album_summary' => '海葵测试专辑01-简介',//专辑简介
'signsubject_id' => 1,//签约主体ID
'song_list' => [
[
'id' => 100,
'external_id' => '',//外部歌曲ID - 海葵歌曲ID?
'name' => '想',//歌曲名
'subtitle' => '',//副标题
'tran_name' => 'Thinking',
'artist' => ['15835620,海葵测试艺人01'],//所属艺人
'cd_index' => 0,//CD索引
'language' => '0,1',//语言
'album_genre' => 'Children\'s|Country',//专辑流派 string 单竖杠分割
'version' => '1.0',//版本
'derive_version' => 1,//衍生版本1.非 2.是
'isrc' => '',//ISRC编号
'iswc' => '',//ISWC编号
'publish_time' => '',//发行时间
'online_time' => '2022-01-01',//上线时间
'pay_mode' => 3,//付费模式 1: "免费"; 3: "付费 1.0"; 5: "付费 2.0";10: "付费 3.0"; 14: "数字专辑";
'wording' => '',//作词
'composing' => '',//作曲
'arranging' => '',//编曲
'maker' => '',//制作人
'text_lyrics' => '',//文本歌词url
'music' => '隔离日记',//音频 name/file_name/tme
'mainer' => '',//负责人
'location' => 1,//排序 默认1-升序
'copyright_list' => [
'original_company' => '盛彩霓虹',//原始版权公司
'auth_start_time' => '2022-01-01',//授权开始时间
'auth_end_time' => '2022-01-05',//授权结束时间
'share' => 100,//份额,默认100
'copyright_source' => 1216808,//版权来源 int
'oversea_proxy' => 2,//海外总代理 1.是 2.否
'auth_area' => '1,2',//授权区域ID拼串(1: "中国大陆"; 2: "中国香港"; 3: "中国台湾"; 4: "中国澳门"; 5: "马来西亚"; 6: "泰国"; 7: "印尼"; 8: "亚洲地区"; 9: "全世界"; 10: "南非"; 11: "缅甸"; 12: "菲律宾"; 13: "印度"; 14: "新加波"; 15: "越南"; 16: "文莱";)
'auth_from' => 1,//授权形式1.非总代 2.总代
'auth_transfer' => 1,//可否转授权1.可转 2.不可转
'auth_relation' => 1,//授权关系1.自有 2.代理
'contract_type' => 2,//签约类型1.未确定 2.词曲签约 3.录音自带词曲
'can_legal_rights' => 2,//可维权1.未确定 2.可维权 3.不可维权
'can_cover' => 2//可翻唱1.否2.是
],//录音版权,必填
'word_copyright_list' => [
'original_company' => '盛彩霓虹',//原始版权公司
'auth_start_time' => '2022-01-01',//授权开始时间
'auth_end_time' => '2022-01-05',//授权结束时间
'share' => 100,//份额,默认100
'copyright_source' => 1216808,//版权来源 int
'oversea_proxy' => 2,//海外总代理 1.是 2.否
'auth_area' => '1,2',//授权区域ID拼串(1: "中国大陆"; 2: "中国香港"; 3: "中国台湾"; 4: "中国澳门"; 5: "马来西亚"; 6: "泰国"; 7: "印尼"; 8: "亚洲地区"; 9: "全世界"; 10: "南非"; 11: "缅甸"; 12: "菲律宾"; 13: "印度"; 14: "新加波"; 15: "越南"; 16: "文莱";)
'auth_from' => 1,//授权形式1.非总代 2.总代
'auth_transfer' => 1,//可否转授权1.可转 2.不可转
'auth_relation' => 1,//授权关系1.自有 2.代理
'contract_type' => 2,//签约类型1.未确定 2.词曲签约 3.录音自带词曲
'can_legal_rights' => 2,//可维权1.未确定 2.可维权 3.不可维权
'can_cover' => 2//可翻唱1.否2.是
],//词版权,非必填
'music_copyright_list' => [
'original_company' => '盛彩霓虹',//原始版权公司
'auth_start_time' => '2022-01-01',//授权开始时间
'auth_end_time' => '2022-01-05',//授权结束时间
'share' => 100,//份额,默认100
'copyright_source' => 1216808,//版权来源 int
'oversea_proxy' => 2,//海外总代理 1.是 2.否
'auth_area' => '1,2',//授权区域ID拼串(1: "中国大陆"; 2: "中国香港"; 3: "中国台湾"; 4: "中国澳门"; 5: "马来西亚"; 6: "泰国"; 7: "印尼"; 8: "亚洲地区"; 9: "全世界"; 10: "南非"; 11: "缅甸"; 12: "菲律宾"; 13: "印度"; 14: "新加波"; 15: "越南"; 16: "文莱";)
'auth_from' => 1,//授权形式1.非总代 2.总代
'auth_transfer' => 1,//可否转授权1.可转 2.不可转
'auth_relation' => 1,//授权关系1.自有 2.代理
'contract_type' => 2,//签约类型1.未确定 2.词曲签约 3.录音自带词曲
'can_legal_rights' => 2,//可维权1.未确定 2.可维权 3.不可维权
'can_cover' => 2//可翻唱1.否2.是
],//曲版权,非必填
],//第一首歌
]//歌曲列表
];
\ No newline at end of file
<?php
return [
'url' => 'https://legal-test-1305250541.cos.ap-shanghai.myqcloud.com/songs/2021-11-02/1635844641790/SampleAudio_0.4mb.mp3?q-sign-algorithm=sha1&q-ak=AKIDLXEc4MFdcbD8hQI83APTKBol2M7bnosWJE_lXLmbd9iIvvgCHc22oujfljkaEGCk&q-sign-time=1640333764;1640337364&q-key-time=1640333764;1640337364&q-header-list=host&q-url-param-list=&q-signature=faa2e8aa4aeb0a620fbd01fe260e1ddaf420f59a&x-cos-security-token=FH5uhvOyDD26khjUB4X1GT4jZ12zRJQa995d599f25b15043c686a8524fb3b03bmWdBhvHtbIE0A3NvbXiGS082VtNZJkFJVK_qAH94xHALfv3_WQmTC0wUUx-HvPr2UgG4D0bo7QRD2OVxg5hCN4sG_PtfjKL8KIsy3wSGzh4Fr7mrHwkKi32Bb72vxsUypdLyVF_z7UmBOggUiuBwdiNQJom0fAFbu3lFipxgeX56JRdkK3JOnpDDWMZ6Zv9t'//海葵方可访问的对外链接
];
\ No newline at end of file
......@@ -12,28 +12,21 @@ use Illuminate\Support\Facades\Route;
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::get('/',function(){
return 'Welcome To Release Api !!!';
});
Route::group(['middleware'=>'throttle:60,1'], function (){
Route::get('/',function(){
return 'Welcome To ICMS !!';
});
/**
* Tme接口
*/
Route::group(['middleware'=>'throttle:60,1','prefix'=> 'tme'], function (){
/**
* 主动请求
*/
Route::post('album-list','WorkController@albumList'); //专辑列表
Route::post('submit-tme','WorkController@submitTme'); //专辑上线
Route::post('get-album','WorkController@getAlbum'); //获取专辑详情
Route::post('create-shower','WorkController@createShower'); //艺人创建
Route::post('shower-list','WorkController@showerList'); //艺人查询
Route::post('get-leaders','WorkController@getLeaders'); //查询候选负责人
Route::post('check-repeat','WorkController@checkRepeat'); //作品重复检测
Route::post('original-company','WorkController@originalCompany'); //原始版权公司列表
Route::post('work-file','WorkController@workFile'); //作品录入文件上传
Route::post('sign-subject','WorkController@signSubject'); //获取授权主体列表
Route::post('album-list','WorkController@albumList'); //搜索歌手接口
Route::post('submit-tme','WorkController@submitTme'); //上传接口
Route::post('sign-subject','WorkController@signSubject'); //查询原始版权方接口
Route::post('get-album','WorkController@getAlbum'); //提交发行接口
Route::post('create-shower','WorkController@createShower'); //查询发行的歌曲tmeId列表接口
/**
* 回调通知接收
*/
Route::post('notify-album-status','WorkController@albumStatus');
});
});
......