Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
media-resource
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨昕
media-resource
Commits
66766fec
Commit
66766fec
authored
Jul 27, 2020
by
杨昕
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into 'master'
Test See merge request
!10
parents
7fc34890
274617be
Pipeline
#10097
passed with stages
in 38 seconds
Changes
5
Pipelines
2
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
111 additions
and
28 deletions
+111
-28
functions.php
app/Helpers/functions.php
+1
-22
MediaController.php
app/Http/Controllers/Api/Client/MediaController.php
+22
-0
MediaModel.php
app/Model/MediaModel.php
+81
-2
database.php
config/database.php
+4
-4
api.php
routes/api.php
+3
-0
No files found.
app/Helpers/functions.php
View file @
66766fec
...
@@ -85,27 +85,6 @@ function http_request_code($url, $isHearder = null, $post = 'GET', $data = null,
...
@@ -85,27 +85,6 @@ function http_request_code($url, $isHearder = null, $post = 'GET', $data = null,
return
$result
;
return
$result
;
}
}
//添加日志
function
addLog
(
$content
,
int
$level
=
0
)
{
$levelArr
=
[
'info'
,
'warn'
,
'error'
];
//准备数据
$data
=
[
'app'
=>
'center-cloud'
,
'content'
=>
$content
,
'level'
=>
$levelArr
[
$level
],
'create_time'
=>
date
(
'Y-m-d H:i:s'
,
time
())
];
$date
=
date
(
'Y-m-d'
);
$path
=
"/data/logs/center-cloud
{
$date
}
.json"
;
file_put_contents
(
$path
,
json_encode
(
$data
,
JSON_UNESCAPED_UNICODE
),
FILE_APPEND
);
}
/**
/**
* 记录本地日志
* 记录本地日志
* @param $content
* @param $content
...
@@ -138,7 +117,7 @@ function getIp()
...
@@ -138,7 +117,7 @@ function getIp()
$clientIP
=
$_SERVER
[
'REMOTE_ADDR'
];
$clientIP
=
$_SERVER
[
'REMOTE_ADDR'
];
}
}
addLog
(
$_SERVER
);
//
addLog($_SERVER);
return
$clientIP
;
return
$clientIP
;
}
}
...
...
app/Http/Controllers/Api/Client/MediaController.php
View file @
66766fec
...
@@ -188,5 +188,27 @@ class MediaController extends Controller
...
@@ -188,5 +188,27 @@ class MediaController extends Controller
}
}
/**
* @param Request $request
* @return \Illuminate\Http\JsonResponse
* @throws \App\Exceptions\ControllerException
*/
public
function
handleMediaUrl
(
Request
$request
){
$res
=
handler_drive
(
function
()
use
(
$request
){
SrsHookValidate
::
srsHookCallback
(
$request
,[
'media_name'
=>
''
,
'username'
=>
''
,
'page'
=>
'integer'
,
'media_id'
=>
''
,
'description'
=>
''
,
'sort'
=>
''
,
'page_size'
=>
'integer'
,
]);
return
MediaModel
::
handleMediaUrl
(
$request
);
});
return
success
(
$res
);
}
}
}
app/Model/MediaModel.php
View file @
66766fec
...
@@ -21,6 +21,8 @@ class MediaModel extends Eloquent
...
@@ -21,6 +21,8 @@ class MediaModel extends Eloquent
protected
$fillable
=
[];
protected
$fillable
=
[];
public
$timestamps
=
false
;
public
function
media_category
()
public
function
media_category
()
...
@@ -134,6 +136,10 @@ class MediaModel extends Eloquent
...
@@ -134,6 +136,10 @@ class MediaModel extends Eloquent
throw
new
\Exception
(
"媒资类别不存在"
);
throw
new
\Exception
(
"媒资类别不存在"
);
}
}
$media_url
=
$request
->
media_url
;
$media_url
=
str_replace
(
$media_url
,
"http:"
,
"https:"
.
substr
(
$media_url
,
5
));
/**
/**
* 处理文件名称,确认是否包含"&"符合
* 处理文件名称,确认是否包含"&"符合
*/
*/
...
@@ -146,7 +152,7 @@ class MediaModel extends Eloquent
...
@@ -146,7 +152,7 @@ class MediaModel extends Eloquent
'media_type'
=>
$mediaCatg
[
'name'
],
'media_type'
=>
$mediaCatg
[
'name'
],
'book_num'
=>
$media_info
[
0
],
'book_num'
=>
$media_info
[
0
],
'book_name'
=>
$media_info
[
1
],
'book_name'
=>
$media_info
[
1
],
'media_url'
=>
$
request
->
media_url
,
'media_url'
=>
$media_url
,
'access_key'
=>
$request
->
access_key
,
'access_key'
=>
$request
->
access_key
,
'secret_key'
=>
$request
->
secret_key
,
'secret_key'
=>
$request
->
secret_key
,
'create_time'
=>
date
(
'Y-m-d H:i:s'
,
time
()),
'create_time'
=>
date
(
'Y-m-d H:i:s'
,
time
()),
...
@@ -166,7 +172,7 @@ class MediaModel extends Eloquent
...
@@ -166,7 +172,7 @@ class MediaModel extends Eloquent
'media_type'
=>
$mediaCatg
[
'name'
],
'media_type'
=>
$mediaCatg
[
'name'
],
'book_num'
=>
''
,
'book_num'
=>
''
,
'book_name'
=>
$request
->
media_name
,
'book_name'
=>
$request
->
media_name
,
'media_url'
=>
$
request
->
media_url
,
'media_url'
=>
$media_url
,
'access_key'
=>
$request
->
access_key
,
'access_key'
=>
$request
->
access_key
,
'secret_key'
=>
$request
->
secret_key
,
'secret_key'
=>
$request
->
secret_key
,
'create_time'
=>
date
(
'Y-m-d H:i:s'
,
time
()),
'create_time'
=>
date
(
'Y-m-d H:i:s'
,
time
()),
...
@@ -388,4 +394,77 @@ class MediaModel extends Eloquent
...
@@ -388,4 +394,77 @@ class MediaModel extends Eloquent
return
$media
;
return
$media
;
}
}
public
static
function
handleMediaUrl
(
$request
){
try
{
$medias
=
MediaModel
::
query
()
->
raw
(
function
(
$collection
)
use
(
$request
){
$limit
=
(
isset
(
$request
->
page_size
)
?
(
int
)(
$request
->
page_size
)
:
Constant
::
PAGE_NUMBER
)
;
$page
=
$request
->
page
??
1
;
/**
* 默认降序
*/
$sort
=
-
1
;
if
(
$request
->
sort
==
'asc'
){
$sort
=
1
;
}
if
(
isset
(
$request
->
media_id
)
&&
!
empty
(
$request
->
media_id
)){
$aggregate
[][
'$match'
][
'_id'
]
=
$request
->
media_id
;
}
if
(
isset
(
$request
->
media_name
)
&&
!
empty
(
$request
->
media_name
)){
$aggregate
[][
'$match'
][
'media_url'
]
=
[
'$regex'
=>
'http://qcoenfz67.bkt.clouddn.com'
];
}
if
(
isset
(
$request
->
username
)
&&
!
empty
(
$request
->
username
)){
$aggregate
[][
'$match'
][
'username'
]
=
$request
->
username
;
}
$aggregate
[][
'$sort'
]
=
[
'start_time'
=>
$sort
];
$count
=
sizeof
(
$collection
->
aggregate
(
$aggregate
)
->
toArray
());
$skip
=
((
empty
(
$request
->
page
)
?
1
:
$request
->
page
)
-
1
)
*
$limit
;
$aggregate
[][
'$skip'
]
=
$skip
;
$aggregate
[][
'$limit'
]
=
$limit
;
return
new
LengthAwarePaginator
(
$collection
->
aggregate
(
$aggregate
)
->
toArray
(),
$count
,
$limit
,
$page
,[
'path'
=>
Paginator
::
resolveCurrentPath
(),
'pageName'
=>
'page'
,
]);
});
if
(
!
empty
(
$medias
)){
foreach
(
$medias
as
$media
){
$data
=
[
'media_url'
=>
"https://vod-mam.eoffcn.com/"
.
$media
->
_id
.
'/index.m3u8'
,
];
$flag
=
MediaModel
::
where
(
"_id"
,
$media
->
_id
)
->
update
(
$data
);
if
(
$flag
==
0
){
throw
new
\Exception
(
"更新失败"
);
}
}
}
}
catch
(
\Exception
$exception
){
throw
new
DatabaseException
(
$exception
->
getMessage
());
}
return
$medias
;
}
}
}
config/database.php
View file @
66766fec
...
@@ -85,11 +85,11 @@ return [
...
@@ -85,11 +85,11 @@ return [
'mongodb'
=>
[
'mongodb'
=>
[
'driver'
=>
'mongodb'
,
'driver'
=>
'mongodb'
,
'host'
=>
'dds-2ze351589aaaf6841.mongodb.rds.aliyuncs
.com'
,
'host'
=>
env
(
'mg_host'
)
??
'mongo.eoffcn
.com'
,
'port'
=>
'37
17'
,
'port'
=>
env
(
'mg_port'
)
??
'280
17'
,
'database'
=>
'video_media'
,
'database'
=>
'video_media'
,
'username'
=>
'root'
,
'username'
=>
env
(
'mg_username'
)
??
'root'
,
'password'
=>
'wR*Mn^mLnh!eg^N*e0KDwLp0UrkD$K%Q
'
,
'password'
=>
env
(
"mg_password"
)
??
'FHHTH98AWAPoyweEasdfadfaaf
'
,
'options'
=>
[
'options'
=>
[
'database'
=>
'admin'
,
// sets the authentication database required by mongo 3
'database'
=>
'admin'
,
// sets the authentication database required by mongo 3
]
]
...
...
routes/api.php
View file @
66766fec
...
@@ -43,5 +43,7 @@ Route::group(['namespace' => 'Api', 'prefix' => 'user'], function () {
...
@@ -43,5 +43,7 @@ Route::group(['namespace' => 'Api', 'prefix' => 'user'], function () {
Route
::
post
(
"media_list"
,
"MediaController@media_list"
);
Route
::
post
(
"media_list"
,
"MediaController@media_list"
);
Route
::
get
(
"play_url/
{
id
}
"
,
"MediaController@play_url"
);
Route
::
get
(
"play_url/
{
id
}
"
,
"MediaController@play_url"
);
Route
::
get
(
"media_url_change"
,
"Client\MediaController@handleMediaUrl"
);
});
});
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment