feature: crawler wuxian video
bug-fix : video author
This commit is contained in:
@@ -7,6 +7,7 @@ use app\admin\controller\Domain;
|
||||
use app\admin\controller\Novel;
|
||||
use app\admin\controller\Site;
|
||||
use app\admin\controller\SystemConfig;
|
||||
use app\admin\controller\Video;
|
||||
use app\admin\middleware\AdminAuth;
|
||||
use think\facade\Route;
|
||||
|
||||
@@ -38,7 +39,14 @@ Route::group("/system", function () {
|
||||
Route::group("/novel", function () {
|
||||
Route::get("/list", [Novel::class, "getNovelList"])->name("Domain@getNovelList");
|
||||
Route::post("/level/set", [Novel::class, "updateNovelLevel"])->name("Novel@updateNovelLevel");
|
||||
Route::get("/category/list", [Novel::class, "getCategory"])->name("Domain@getCategory");
|
||||
Route::get("/category/list", [Novel::class, "getCategory"])->name("Novel@getCategory");
|
||||
})->middleware(AdminAuth::class);
|
||||
|
||||
# 视频
|
||||
Route::group("/video", function () {
|
||||
Route::get("/list", [Video::class, "getVideoList"])->name("Domain@getVideoList");
|
||||
Route::post("/level/set", [Video::class, "updateVideoLevel"])->name("Video@updateVideoLevel");
|
||||
Route::get("/category/list", [Video::class, "getCategory"])->name("Video@getCategory");
|
||||
})->middleware(AdminAuth::class);
|
||||
|
||||
# 站点
|
||||
|
||||
104
code/app/admin/controller/Video.php
Normal file
104
code/app/admin/controller/Video.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use app\model\AdminUserModel;
|
||||
use app\model\VideoModel;
|
||||
|
||||
use app\model\VideoCategoryModel;
|
||||
use app\Request;
|
||||
use think\Response;
|
||||
|
||||
class Video extends BaseController
|
||||
{
|
||||
|
||||
/**
|
||||
* 根据关键词修改小说评级
|
||||
*
|
||||
* @param Request $Request
|
||||
* @param AdminUserModel|null $AdminUserModel
|
||||
* @return Response
|
||||
*/
|
||||
public function updateVideoLevel(Request $Request, ?AdminUserModel $AdminUserModel)
|
||||
{
|
||||
$arrData = [
|
||||
"keywords" => $Request->post('keywords'),
|
||||
"v_level" => (int)$Request->post('v_level'),
|
||||
];
|
||||
|
||||
$arrRule = [
|
||||
'keywords' => 'require',
|
||||
'v_level' => 'require',
|
||||
];
|
||||
|
||||
$this->validate($arrData, $arrRule);
|
||||
|
||||
$arrKeywords = explode(',', $arrData['keywords']);
|
||||
$VideoModel = VideoModel::getInstance();
|
||||
$VideoModel->updateByKeywords($arrKeywords, $arrData['v_level']);
|
||||
return $this->success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 小说分页
|
||||
*
|
||||
* @param Request $Request
|
||||
* @param AdminUserModel|null $AdminUserModel
|
||||
* @return Response
|
||||
*/
|
||||
public function getVideoList(Request $Request, ?AdminUserModel $AdminUserModel)
|
||||
{
|
||||
$intPage = $Request->param('page', 1, 'intval');
|
||||
$intLimit = $Request->param('limit', 10, 'intval');
|
||||
|
||||
try {
|
||||
|
||||
$VideoModel = VideoModel::getInstance();
|
||||
|
||||
$Col = $VideoModel->getCol();
|
||||
|
||||
// 查询条件(可选)
|
||||
$arrFilter = [];
|
||||
// 示例:如果需要筛选,例如 status=1
|
||||
// $arrFilter['status'] = 1;
|
||||
|
||||
$arrOptions = [
|
||||
'sort' => ['_id' => -1],
|
||||
'skip' => ($intPage - 1) * $intLimit,
|
||||
'limit' => $intLimit,
|
||||
];
|
||||
|
||||
$Cursor = $Col->find($arrFilter, $arrOptions);
|
||||
$arrData = iterator_to_array($Cursor);
|
||||
|
||||
$intTotal = $Col->countDocuments($arrFilter);
|
||||
|
||||
$arrResult = [
|
||||
'data' => $arrData,
|
||||
'total' => $intTotal,
|
||||
'page' => $intPage,
|
||||
'limit' => $intLimit,
|
||||
'pages' => ceil($intTotal / $intLimit)
|
||||
];
|
||||
return $this->success($arrResult);
|
||||
} catch (\Exception $e) {
|
||||
return $this->error("9999", $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get category data
|
||||
*
|
||||
* @param Request $Request
|
||||
* @param AdminUserModel|null $AdminUserModel
|
||||
* @return Response
|
||||
*/
|
||||
public function getCategory(Request $Request, ?AdminUserModel $AdminUserModel)
|
||||
{
|
||||
$arrResult = VideoCategoryModel::$arrCategory;
|
||||
return $this->success($arrResult);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user