Commit bf650ea9 by 杨昕

获取视频连接

parent db9b88db
Pipeline #9898 passed with stages
in 33 seconds
......@@ -29,12 +29,26 @@ class MediaController extends Controller
return MediaModel::getMediaList($request);
});
return success($result);
}
});
/**
* 获取媒资播放地址
* @param Request $request
* @param $media_id
* @return \Illuminate\Http\JsonResponse
* @throws \App\Exceptions\ControllerException
*/
public function play_url(Request $request,$media_id){
$result = handler_drive(function () use ($request,$media_id){
return MediaModel::playUrl($media_id);
});
return success($result);
}
......
......@@ -10,6 +10,26 @@ use App\Http\Controllers\Controller;
class MediaController extends Controller
{
function text_filter($content)
{
// 将特殊字符转换为 HTML 实体
$content = htmlspecialchars($content);
// 转义元字符集
$content = quotemeta($content);
// 自定义过滤字符串,可以根据业务需求进行扩展
$content = preg_replace('/\'/', "\'", $content);
// . 不进行转换
$content = preg_replace('/\\\./', ".", $content);
return $content;
}
/**
* 媒资列表
* @param Request $request
......@@ -19,6 +39,8 @@ class MediaController extends Controller
*/
public function index(Request $request){
// php 特殊字符转义,实现字符串安全存入数据库,
SrsHookValidate::srsHookCallback($request,[
'media_name' => '',
'username' => '',
......
......@@ -57,7 +57,7 @@ class MediaModel extends Eloquent
}
if (isset($request->media_name) && !empty($request->media_name)){
$aggregate[]['$match']['media_name'] = ['$regex' => $request->media_name ];
$aggregate[]['$match']['media_name'] = ['$regex' => addslashes($request->media_name) ];
}
if (isset($request->username) && !empty($request->username)){
......@@ -371,7 +371,28 @@ class MediaModel extends Eloquent
}
return $flag;
}
/**
* 获取媒资播放地址
* @param $media_id
* @return mixed
* @throws DatabaseException
*/
public static function playUrl($media_id){
try{
$media = MediaModel::select('media_url','secret_key')->find($media_id);
if (empty($media)){
throw new \Exception("媒资不存在");
}
}catch (\Exception $exception){
throw new DatabaseException($exception->getMessage());
}
return $media;
}
}
......@@ -41,4 +41,7 @@ Route::group(['namespace' => 'Api', 'prefix' => 'v1', 'middleware' => ['auth']],
Route::group(['namespace' => 'Api', 'prefix' => 'user'], function () {
Route::post("media_list","MediaController@media_list");
Route::get("play_url/{id}","MediaController@play_url");
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment