Commit b8c4010c b8c4010c8d4d602bd2469221861e221efff4ddcd by Yang.Zhang

阶段备份

1 parent 5e45914a
......@@ -13,3 +13,4 @@ npm-debug.log
yarn-error.log
/.idea
/.vscode
/database/icms/*.resp
......
......@@ -14,16 +14,6 @@ class BaseController extends Controller
* @var string
*/
private $domain, $cp_id, $key;
protected $resCode = [
200 => '成功',
5000=> '系统错误',
4000=> '缺少必要参数, 或者参数值格式不正确',
4100=> '签名鉴权失败',
4200=> '请求已过期',
4300=> '拒绝访问',
4400=> '请求过于频繁',
4500=> '配置错误'
];
public function __construct()
{
......@@ -33,12 +23,24 @@ class BaseController extends Controller
}
/**
* 签名需要,处理子数组中Int型数字转换成字符串
* @param array $array
* @return false|string
*/
private function handleSubArrayNumber(array $array)
{
return preg_replace('/\"\"(\d+)\"\"/','"\1"',
preg_replace('/(\d+)/','"\1"',json_encode($array))
);
}
/**
* 获取签名和去空的参数
* @param array $array
* @param int $timestamp
* @return array
*/
private function signData(array $array,int $timestamp)
private function signData(array $array, int $timestamp)
{
$common_params = [
'timestamp' => $timestamp,
......@@ -53,15 +55,14 @@ class BaseController extends Controller
if ('' === $v || null === $v || [] === $v) {
continue;
} if (is_array($v)) {
$params .= $k.'='.json_encode($v).'&';
$params .= $k . '=' . $this->handleSubArrayNumber($v) . '&';
} else {
$params .= $k.'='.$v.'&';
$params .= $k . '=' . $v . '&';
}
$signData[$k] = $v;
}
$params = trim($params,'&');
$signData['sign'] = strtoupper(md5($params.$this->key));
dd($signData);
return $signData;
}
......@@ -81,9 +82,7 @@ class BaseController extends Controller
$params = $reqData;
}
$timestamp = time();
$cp_id = $this->cp_id;
$signData = $this->signData($params,$timestamp);
return array_merge($signData,compact('cp_id','timestamp'));
return $this->signData($params,$timestamp);
}
/**
......@@ -98,6 +97,7 @@ class BaseController extends Controller
{
$url = rtrim($this->domain,'/').'/'.$uri;
$data = $this->requestData($uri, $reqData);
// var_dump($data);exit;
try {
$client = new Client(['verify'=>false]); //实体公钥['verify'=>'/path/to/public.pem']
switch (strtoupper($method)) {
......@@ -112,7 +112,7 @@ class BaseController extends Controller
$data = json_decode($response->getBody()->getContents(), true);
Log::channel('api')->info(__METHOD__, $data);
if (200 !== $data['code']) {
return Response::error(-1,$this->resCode[$data['code']] ?? '操作失败');
return Response::error(-1,$data['msg'] ?? '操作失败');
} else {
$response_path = 'Icms/'.$uri;
if (! is_dir($response_path)) {
......
......@@ -62,34 +62,61 @@ class WorkController extends BaseController
/**
* 艺人查询
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function showerList()
public function showerList(Request $request)
{
//todo:参数验证
return $this->doApi('shower-list');
}
public function createShower()
/**
* 创建艺人
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function createShower(Request $request)
{
//创建艺人
return $this->doApi('create-shower');
//todo: 待数据实现
// return $this->doApi('create-shower');
}
public function getLeaders()
/**
* 候选人列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function getLeaders(Request $request)
{
//候选人列表
//todo:参数验证
return $this->doApi('get-leaders');
}
public function checkRepeat()
/**
* 检查作品重复
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function checkRepeat(Request $request)
{
//检查作品重复
//todo:参数验证
return $this->doApi('check-repeat');
}
public function originalCompany()
/**
* 原始版权公司列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function originalCompany(Request $request)
{
//原始版权公司列表
return $this->doApi('original-company');
}
public function albumBatchSubmit()
......@@ -97,9 +124,15 @@ class WorkController extends BaseController
//专辑作品批量提交
}
public function batchUploadMqList()
/**
* 作品批量上传任务列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function batchUploadMqList(Request $request)
{
//作品批量上传任务列表
return $this->doApi('batch-upload-mq-list');
}
public function cqlAlbum()
......@@ -107,8 +140,25 @@ class WorkController extends BaseController
//曲库歌曲导入(post)/获取结果(get)
}
public function workFile()
/**
* 作品录入文件上传
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function workFile(Request $request)
{
return $this->doApi('work-file');
}
/**
* 获取授权主体列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function signSubject(Request $request)
{
//作品录入文件上传
return $this->doApi('sign-subject');
}
}
......
<?php
/**
* Created by PhpStorm.
* User: ZhangYang
* Date: 2021/12/16
* Time: 14:58
*/
return [
'page_size' => 10,
'page' => 1,
......@@ -15,7 +9,7 @@ return [
'artist_name' => '',//艺人名
'region' => '',//地区 int
'language' => '',//语言 int
'status' => '',//状态(0:隐藏;1:待上架;2:已下架;3:审核中;4:审核不通过;5:已上架;6:草稿;7:删除)
'status' => '6',//状态(0:隐藏;1:待上架;2:已下架;3:审核中;4:审核不通过;5:已上架;6:草稿;7:删除)
'finish_status' => '',//完善状态(1:待完善;2:已完善)
'copyright_company_id' => '',//所属公司ID int
'signsubject_id' => '',//签约主体ID int
......
array (
'list' =>
array (
0 =>
array (
'id' => '38113',
'album_name' => 'album1',
'artist_name' => 'Lear',
'online_time' => '2029-07-01 00:00:00',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/23e4849a4c2fc6b4271dfa726045db1d.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Deaa8339844be00c6e99014b86b8bcd0da9812622',
'status' => '6',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
1 =>
array (
'id' => '38101',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
2 =>
array (
'id' => '38100',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
3 =>
array (
'id' => '38099',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
4 =>
array (
'id' => '38097',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
5 =>
array (
'id' => '38098',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
6 =>
array (
'id' => '38092',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
7 =>
array (
'id' => '38093',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
8 =>
array (
'id' => '38094',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
9 =>
array (
'id' => '38096',
'album_name' => 'test-2',
'artist_name' => '李菲儿',
'online_time' => '2021-12-16 14:37:34',
'album_cover' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993142%3B1640007602%26q-key-time%3D1639993142%3B1640007602%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D8be0edf30e8e9615dcab264178b65fcfd8a59410',
'status' => '3',
'finish_status' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
),
),
'total' => 2509,
'page' => '1',
)
\ No newline at end of file
<?php
return [
'page_size' => 50,
'page' => 1
];
\ No newline at end of file
<?php
return [
'check' => [
'id' => '',//作品ID string
'name' => '海葵测试作品',//作品名称
'album_name' => '',//专辑名
'artist' => '',//艺人ID string
'composting' => '',//曲作者
'wording' => '',//词作者
'original_company' => '1216808',//原始版权公司
'version' => '',//作品版本
]
];
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: ZhangYang
* Date: 2021/12/20
* Time: 14:58
*/
return [
'singer_name' => '海葵测试艺人01',//艺人名
'trans_name' => '测试艺人01',//艺人翻译名
......
<?php
/**
* Created by PhpStorm.
* User: ZhangYang
* Date: 2021/12/20
* Time: 14:58
*/
return [
'id' => [38086,0]
'id' => [37966]//删除草稿专辑ID数组
];
\ No newline at end of file
......
<?php
/**
* Created by PhpStorm.
* User: ZhangYang
* Date: 2021/12/20
* Time: 14:58
*/
return [
'id' => 38085
];
\ No newline at end of file
......
array (
'id' => '38085',
'album_name' => 'test-2',
'tran_name' => NULL,
'album_cover' =>
array (
'name' => '4f423980d2975338b7be47f9e7156d61.jpg',
'file_name' => '1.jpg',
'url' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993227%3B1640007687%26q-key-time%3D1639993227%3B1640007687%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dfd1ba0d43c926dce107a2a5d1df3fc11d5c1dba0',
),
'artist' =>
array (
0 =>
array (
'id' => '70914',
'name' => '李菲儿',
),
),
'album_type' => '-1',
'region' => '17',
'language' => '0',
'album_genre' => 'Pop',
'album_upc' => '',
'version' => '',
'brand_company' => '',
'publish_time' => '2021-12-16 14:37:32',
'online_time' => '2021-12-16 14:37:34',
'is_number' => '2',
'pre_time' => NULL,
'sale_start_time' => NULL,
'sale_end_time' => NULL,
'price' => NULL,
'auth_file' =>
array (
0 =>
array (
'name' => 'c7b3a1d470e8ef92779400b80064001d.jpg',
'file_name' => '4.jpg',
'url' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/c7b3a1d470e8ef92779400b80064001d.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993227%3B1640007687%26q-key-time%3D1639993227%3B1640007687%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D092133ea16e295c513e4fc6fa3851454b24d8d46',
),
),
'album_summary' => '1111',
'album_id_tme' => '50560',
'album_id_cql' => '0',
'copyright_company_id' => '2',
'copyright_company' => '深圳启韵文化传媒有限公司',
'signsubject_id' => '1',
'signsubject' => '深圳启韵文化传媒有限公司',
'status' => '3',
'create_time' => '2021-12-20 02:31:08',
'update_time' => '2021-12-20 02:31:48',
'song_list' =>
array (
0 =>
array (
'id' => '453778',
'name' => 'Matthew Lien - 布列瑟农',
'subtitle' => NULL,
'tran_name' => NULL,
'artist' =>
array (
0 =>
array (
'id' => '70914',
'name' => '李菲儿',
),
),
'cd_index' => '0',
'language' => '0',
'album_genre' => 'Pop',
'version' => '',
'derive_version' => '1',
'isrc' => '',
'iswc' => '',
'publish_time' => '2021-12-16 14:37:32',
'online_time' => '2021-12-16 14:37:34',
'pay_mode' => '1',
'wording' => '',
'composing' => '',
'arranging' => '',
'maker' => '',
'text_lyrics' => NULL,
'music' =>
array (
'name' => '16396366694082.mp3',
'file_name' => 'Matthew Lien - 布列瑟农.mp3',
'url' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/16396366694082.mp3?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1639993227%3B1640007687%26q-key-time%3D1639993227%3B1640007687%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dca0aa95a5e4bc2598da3b44203ea6e4174385b93',
'tme' =>
array (
'url' => 'http://testtmemng-30106.sz.gfp.tencent-cloud.com/cos/track/5c550007c1c72e694c882bd287530a4d/16396366694082.mp3?sign=q-sign-algorithm%3Dsha1%26q-ak%3D4fHArEE8trlnFFvFWyWaemhO%26q-sign-time%3D1639636662%3B32535187200%26q-key-time%3D1639636662%3B32535187200%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db59cb70b70f313c7cd85bc941176cff17900e46e',
'file_info' =>
array (
'audio_check' => '20',
'duration' => 327920,
'origin_file_name' => '16396366694082.mp3',
'fileSize' => 5300161,
),
'file_id' => '30106|testtmemng|cos/track/5c550007c1c72e694c882bd287530a4d/16396366694082.mp3',
'msg' => '',
'md5' => '5c550007c1c72e694c882bd287530a4d',
),
),
'music_tme' => '[{"name":"16396366694082.mp3","file_name":"Matthew Lien - 布列瑟农.mp3","tme":{"url":"http://testtmemng-30106.sz.gfp.tencent-cloud.com/cos/track/5c550007c1c72e694c882bd287530a4d/16396366694082.mp3?sign=q-sign-algorithm%3Dsha1%26q-ak%3D4fHArEE8trlnFFvFWyWaemhO%26q-sign-time%3D1639636662%3B32535187200%26q-key-time%3D1639636662%3B32535187200%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db59cb70b70f313c7cd85bc941176cff17900e46e","file_info":{"audio_check":"20","duration":327920,"origin_file_name":"16396366694082.mp3","fileSize":5300161},"file_id":"30106|testtmemng|cos/track/5c550007c1c72e694c882bd287530a4d/16396366694082.mp3","msg":"","md5":"5c550007c1c72e694c882bd287530a4d"}}]',
'mainer' => '',
'mainer_id' => NULL,
'location' => '1',
'tme_id' => '1634449',
'cql_id' => '0',
'create_time' => '2021-12-20 02:31:08',
'update_time' => '2021-12-20 02:31:48',
'copyright_list' =>
array (
'original_company' => '',
'auth_start_time' => '2021-12-16 00:00:00',
'auth_end_time' => '2022-01-21 23:59:59',
'share' => '100.00',
'copyright_source' => '0',
'oversea_proxy' => '2',
'auth_form' => '1',
'auth_transfer' => '2',
'auth_relation' => '1',
'type' => '1',
'contract_type' => '1',
'can_legal_rights' => '1',
'can_cover' => '1',
'auth_area' => '1',
),
),
),
)
\ No newline at end of file
<?php
return [];
\ No newline at end of file
<?php
return [];
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: ZhangYang
* Date: 2021/12/16
* Time: 14:58
*/
return [
'id' => '',
'album_name' => '海葵测试专辑01',//专辑名
......
<?php
/**
* Created by PhpStorm.
* User: ZhangYang
* Date: 2021/12/20
* Time: 14:58
*/
return [
'page_size' => 10,
'page' => 1,
......
<?php
return [
'page_size' => 10,
'page' => 1,
'name' => ''//授权主体名称
];
\ No newline at end of file
<?php
return [
'url' => 'https://gtcp-1253428821.cos.ap-guangzhou.myqcloud.com/4f423980d2975338b7be47f9e7156d61.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDMVQ6e0WkkV0GH3C1IK7e2B4iGZemtRv9%26q-sign-time%3D1640079439%3B1640093899%26q-key-time%3D1640079439%3B1640093899%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Def5521d257db2f0e0a19599e2a582bb2dc043c21'//原临时链接(或已过期,4小时有效)
];
\ No newline at end of file
......@@ -23,5 +23,11 @@ use Illuminate\Support\Facades\Route;
Route::post('del-album','WorkController@delAlbum'); //删除专辑草稿
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('batch-upload-mq-list','WorkController@batchUploadMqList'); //作品批量上传任务列表
Route::post('work-file','WorkController@workFile'); //作品录入文件上传
Route::post('sign-subject','WorkController@signSubject'); //获取授权主体列表
});
......