Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Cong.Zhao
/
musician-api.hikoon.com
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
5019a677
...
5019a677336472f1ba3430cbb7c48243c9a9bbb1
authored
2022-04-26 17:46:50 +0800
by
mengfan.xie
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
release
1 parent
f20c1efe
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
90 deletions
app/Http/Controllers/Release/BaseController.php
database/release/commitContent.query.php
app/Http/Controllers/Release/BaseController.php
View file @
5019a67
...
...
@@ -5,7 +5,6 @@ namespace App\Http\Controllers\Release;
use
App\Helper\CacheKeyTools
;
use
App\Helper\Response
;
use
App\Http\Controllers\Controller
;
use
App\Models\Legal\Channel
;
use
GuzzleHttp\Client
;
use
Illuminate\Support\Facades\Cache
;
use
Illuminate\Support\Facades\Log
;
...
...
@@ -18,12 +17,14 @@ class BaseController extends Controller
*/
protected
$domain
,
$appId
;
private
$appSecret
;
protected
$client
;
public
function
__construct
()
{
$this
->
domain
=
env
(
'TME_DOMAIN'
,
'https://openapi-sit.tencentmusic.com'
);
$this
->
appId
=
env
(
'TME_APPID'
,
'47820741'
);
$this
->
appSecret
=
env
(
'TME_APPSECRET'
,
'nPWFDDHKYCP4bUzoq9zyaJQx4ltQqMSs'
);
$this
->
client
=
new
Client
([
'verify'
=>
false
]);
}
/**获取accessToken
...
...
@@ -34,8 +35,7 @@ class BaseController extends Controller
$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
]);
$response
=
$this
->
client
->
request
(
'POST'
,
$url
,
[
'json'
=>
$data
]);
$respArr
=
json_decode
(
$response
->
getBody
()
->
getContents
(),
true
);
Log
::
channel
(
'api'
)
->
info
(
__METHOD__
,
$respArr
);
...
...
@@ -53,26 +53,6 @@ class BaseController extends Controller
}
/** ascii码从小到大排序
* @param array $params
* @return bool|string
*/
function
ascSort
(
$params
=
array
())
{
if
(
!
empty
(
$params
))
{
$p
=
ksort
(
$params
);
if
(
$p
)
{
$str
=
''
;
foreach
(
$params
as
$k
=>
$val
)
{
$str
.=
$k
.
'='
.
$val
.
'&'
;
}
$strs
=
rtrim
(
$str
,
'&'
);
return
$strs
;
}
}
return
false
;
}
/**
* 重组请求数据,返回headers和json
* @param string $uri
...
...
@@ -80,44 +60,43 @@ class BaseController extends Controller
* @param bool $isLocal
* @return array
*/
private
function
parseData
(
string
$uri
,
array
$
reqData
,
bool
$isLocal
=
true
)
private
function
parseData
(
string
$uri
,
array
$
params
)
{
if
(
!
$accessToken
=
Cache
::
get
(
CacheKeyTools
::
tmeAccessToken
()))
{
$accessToken
=
$this
->
getToken
();
}
if
(
$isLocal
)
{
$data_file
=
database_path
(
'Release/'
.
last
(
explode
(
"/"
,
$uri
))
.
'.query.php'
);
$params
=
include
(
"
$data_file
"
);
$params
[
'tmeBrandId'
]
=
105737
;
}
else
{
$params
=
$reqData
;
}
$heaers
[
'appId'
]
=
$this
->
appId
;
$heaers
[
'accessToken'
]
=
$accessToken
;
$heaers
[
'timestamp'
]
=
(
string
)
date
(
'YmdHis'
);
$heaers
[
'traceId'
]
=
'md5'
;
return
$this
->
signData
(
$params
);
$heaers
[
'traceId'
]
=
(
string
)
'1'
;
$heaers
[
'sign'
]
=
$this
->
getSign
(
$heaers
,
$params
);
$heaers
[
'signMethod'
]
=
'md5'
;
return
$heaers
;
}
/**
* 请求接口
* @throws \GuzzleHttp\Exception\GuzzleException
*/
protected
function
doApi
(
string
$uri
,
array
$reqData
=
[],
string
$method
=
'POST'
)
protected
function
doApi
(
string
$uri
,
array
$reqData
=
[],
string
$method
=
'POST'
,
bool
$isLocal
=
true
)
{
$this
->
getSign
();
$url
=
rtrim
(
$this
->
domain
,
'/'
)
.
'/'
.
ltrim
(
$uri
,
'/'
);
$data
=
$this
->
parseData
(
$uri
,
$reqData
);
try
{
$client
=
new
Client
([
'verify'
=>
false
]);
//实体公钥['verify'=>'/path/to/public.pem']
if
(
$isLocal
)
{
$data_file
=
database_path
(
'Release/'
.
last
(
explode
(
"/"
,
$uri
))
.
'.query.php'
);
$params
=
include
(
"
$data_file
"
);
$params
[
'tmeBrandId'
]
=
105737
;
}
else
{
$params
=
$reqData
;
}
$headers
=
$this
->
parseData
(
$uri
,
$params
);
switch
(
strtoupper
(
$method
))
{
case
'GET'
:
$response
=
$
client
->
request
(
'GET'
,
$url
,
[
'query'
=>
$data
]);
$response
=
$
this
->
client
->
request
(
'GET'
,
$url
,
[
'query'
=>
$params
,
'headers'
=>
$headers
]);
break
;
case
'POST'
:
default
:
$response
=
$
client
->
request
(
'POST'
,
$url
,
[
'json'
=>
$data
]);
$response
=
$
this
->
client
->
request
(
'POST'
,
$url
,
[
'json'
=>
$params
,
'headers'
=>
$headers
]);
break
;
}
$respArr
=
json_decode
(
$response
->
getBody
()
->
getContents
(),
true
);
...
...
@@ -141,24 +120,9 @@ class BaseController extends Controller
* @param array $array
* @return array
*/
protected
function
getSign
()
protected
function
getSign
(
$heaers
,
$params
)
{
$accessToken
=
$this
->
getToken
();
if
(
!
$accessToken
=
Cache
::
get
(
CacheKeyTools
::
tmeAccessToken
()))
{
$accessToken
=
$this
->
getToken
();
}
// if ($isLocal) {
// $data_file = database_path('Release/'.last(explode("/",$uri)).'.query.php');
// $params = include("$data_file");
// } else {
// $params = $reqData;
// }
$heaers
[
'appId'
]
=
$this
->
appId
;
$heaers
[
'accessToken'
]
=
$accessToken
;
$heaers
[
'timestamp'
]
=
(
string
)
date
(
'YmdHis'
);
$heaers
[
'traceId'
]
=
'md5'
;
$common_params
=
[
$params
=
[
"batchId"
=>
"8934234012312323235"
,
"phone"
=>
"130****0815"
,
"templateId"
=>
"M000198"
,
...
...
@@ -172,7 +136,7 @@ class BaseController extends Controller
"tenant"
=>
"musician"
,
"accountId"
=>
6793497
];
$common_params
=
array_merge
(
$
common_
params
,
$heaers
);
$common_params
=
array_merge
(
$params
,
$heaers
);
ksort
(
$common_params
);
$params
=
''
;
foreach
(
$common_params
as
$k
=>
$v
)
...
...
@@ -219,35 +183,4 @@ class BaseController extends Controller
}
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
;
}
}
...
...
database/release/commitContent.query.php
View file @
5019a67
<?php
return
[
'originalCompayName'
=>
'海葵测试艺人02'
,
//艺人名
'cmsAlbumId'
=>
123
,
'albumName'
=>
'专辑名'
,
'version'
=>
'dj'
,
'translationName'
=>
''
];
...
...
Please
register
or
sign in
to post a comment