From efff23114530987a9d44cff2d46dbdc3eaa4ae79 Mon Sep 17 00:00:00 2001 From: "zhangf@suq.cn" Date: Tue, 16 Dec 2025 16:07:39 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=96=B0=E5=A2=9E=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E5=AA=92=E4=BD=93=E8=B5=84=E6=BA=90=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加在线媒体控制器及服务类 - 实现媒体资源列表数据接口 - 配置路由分组并注册相关权限 - 支持分页、排序和条件筛选查询 - 依赖基础服务和工具类实现通用逻辑 - 完成前端访问路径 /contribution/resource 的后端支持 --- app/controller/admin/OnlineMediasController.php | 16 ++++++++++ app/route/route.php | 10 +++++++ app/service/admin/OnlineMediasService.php | 40 +++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 app/controller/admin/OnlineMediasController.php create mode 100644 app/service/admin/OnlineMediasService.php diff --git a/app/controller/admin/OnlineMediasController.php b/app/controller/admin/OnlineMediasController.php new file mode 100644 index 0000000..149e6ab --- /dev/null +++ b/app/controller/admin/OnlineMediasController.php @@ -0,0 +1,16 @@ + [], + ]); + return success($service->listData($params)); + } +} \ No newline at end of file diff --git a/app/route/route.php b/app/route/route.php index 12fdf32..fe358ec 100644 --- a/app/route/route.php +++ b/app/route/route.php @@ -1,5 +1,7 @@ setParams(['perm' => 'replicaPureIndex']); }); + //投稿 + Route::group('/contribution', function () { + //选项 + Route::get('/options', [OnlineMediasConfigController::class, 'index'])->setParams(['perm' => ['contributionOptions']]); + //媒体资源 + Route::get('/resource', [OnlineMediasController::class, 'index'])->setParams(['perm' => ['contributionResource']]); + }); + //全局代理IP Route::group('/proxy', function () { //新增 diff --git a/app/service/admin/OnlineMediasService.php b/app/service/admin/OnlineMediasService.php new file mode 100644 index 0000000..58493bb --- /dev/null +++ b/app/service/admin/OnlineMediasService.php @@ -0,0 +1,40 @@ +dao = app()->make(OnlineMediasDao::class); + } + + /** + * 列表数据 + * @param array $params + * @return array + */ + public function listData(array $params): array + { + [$page, $limit] = RequestUtils::getPageParameter(); + [$sortRule, $sortField] = RequestUtils::getSortParameter(); + $query = [ + 'delete_time' => 0 + ]; + if (sizeof($params['wheres']) > 0) { + foreach ($params['wheres'] as $value) { + if (isNotBlank($value['value'])) { + $query[] = [$value['name'], '=', $value['value']]; + } + } + } + $list = $this->dao->getList($query, '*', $page, $limit, "$sortField $sortRule"); + $count = $this->dao->getCount($query); + return compact('list', 'count'); + } + +} \ No newline at end of file