Commit bf650ea9 by 杨昕

获取视频连接

parent db9b88db
Pipeline #9898 passed with stages
in 33 seconds
...@@ -29,12 +29,26 @@ class MediaController extends Controller ...@@ -29,12 +29,26 @@ class MediaController extends Controller
return MediaModel::getMediaList($request); 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); return success($result);
} }
......
...@@ -10,6 +10,26 @@ use App\Http\Controllers\Controller; ...@@ -10,6 +10,26 @@ use App\Http\Controllers\Controller;
class MediaController extends 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 * @param Request $request
...@@ -19,6 +39,8 @@ class MediaController extends Controller ...@@ -19,6 +39,8 @@ class MediaController extends Controller
*/ */
public function index(Request $request){ public function index(Request $request){
// php 特殊字符转义,实现字符串安全存入数据库,
SrsHookValidate::srsHookCallback($request,[ SrsHookValidate::srsHookCallback($request,[
'media_name' => '', 'media_name' => '',
'username' => '', 'username' => '',
......
...@@ -57,7 +57,7 @@ class MediaModel extends Eloquent ...@@ -57,7 +57,7 @@ class MediaModel extends Eloquent
} }
if (isset($request->media_name) && !empty($request->media_name)){ 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)){ if (isset($request->username) && !empty($request->username)){
...@@ -371,7 +371,28 @@ class MediaModel extends Eloquent ...@@ -371,7 +371,28 @@ class MediaModel extends Eloquent
} }
return $flag; 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']], ...@@ -41,4 +41,7 @@ Route::group(['namespace' => 'Api', 'prefix' => 'v1', 'middleware' => ['auth']],
Route::group(['namespace' => 'Api', 'prefix' => 'user'], function () { 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");
}); });
\ 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