From ba3c3214082d6905bc48528922c9bec228560274 Mon Sep 17 00:00:00 2001 From: hellcat Date: Sat, 4 Jul 2026 18:55:00 +0800 Subject: [PATCH] no message --- app/routes.php | 9 ++ .../Api/Nasa/V1/AnnBaseController.php | 88 +++++++++++++++++++ .../Api/Nasa/V1/Base/ListController.php | 10 ++- 3 files changed, 104 insertions(+), 3 deletions(-) create mode 100755 src/Controllers/Api/Nasa/V1/AnnBaseController.php diff --git a/app/routes.php b/app/routes.php index 115f20d60..6ee85d924 100755 --- a/app/routes.php +++ b/app/routes.php @@ -474,6 +474,15 @@ return static function (Slim\App $app): void { $group->get('/mail/mustlog/clone/{id}', App\Controllers\Api\Nasa\V1\MailMustlogController::class . ':clone'); $group->get('/mail/mustlog/hit/{id}/{field}', App\Controllers\Api\Nasa\V1\MailMustlogController::class . ':hit'); + $group->get('/ann/base', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':index'); + $group->get('/ann/base/detail/{id}', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':detail'); + $group->put('/ann/base/detail/save/{id}', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':detailSave'); + $group->delete('/ann/base/delete/save/{id}', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':delete'); + $group->get('/ann/base/add', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':add'); + $group->put('/ann/base/add/save', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':addSave'); + $group->get('/ann/base/clone/{id}', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':clone'); + $group->get('/ann/base/hit/{id}/{field}', App\Controllers\Api\Nasa\V1\AnnBaseController::class . ':hit'); + })->add(new VerifyNasaToken());// get可以其他不可以? diff --git a/src/Controllers/Api/Nasa/V1/AnnBaseController.php b/src/Controllers/Api/Nasa/V1/AnnBaseController.php new file mode 100755 index 000000000..4de7ad8f7 --- /dev/null +++ b/src/Controllers/Api/Nasa/V1/AnnBaseController.php @@ -0,0 +1,88 @@ + 'id', + 'rank' => '类型', + 'title' => '标题', + 'content' => '内容', + 'sort' => '排序', + 'status' => '状态', + 'post' => '发布到tg等', + 'date' => '日期', + ]; + + protected array $aValueStyle = [ // 特定文字渲染样式 + '置顶' => "关闭", + '默认' => "开启", + '活动' => "开启", + '重要' => "重要", + '警告' => "警告", + ]; + + protected array $aFieldTypes = [ + 'content' => 'text-full', +// 'custom_config' => 'json', +// 'prev_day_width' => 'byte', +// 'node_bandwidth' => 'byte', +// 'node_bandwidth_limit' => 'byte' + ]; + + protected array $aOrderBy = [ + [ + "sField" => "sort", + "sSort" => "desc", + ], + [ + "sField" => "date", + "sSort" => "desc", + ] + ]; + + protected array $aLenthFields = [ // 限制长度的字段 +// "xx" => 100, + ]; + + protected array $aSelectFields = [ // 作为默认select的字段 + 'rank', + 'sort', + ]; + + // 值映射 + protected array $aValueFields = + [ + 'rank' => [ + 'none' => '默认', + 'success' => '活动', + 'danger' => '重要', + 'warning' => '警告' + ], + 'sort' => [ + '1' => '置顶', + '0' => '普通' + ], + ]; + + protected array $aCcExtFields = [ +// 'dtCreatedAt' => '创建时间' + ]; + +// protected array $aLimit = [3, 15, 40, 100]; // list长度,第一个为默认 + +} + diff --git a/src/Controllers/Api/Nasa/V1/Base/ListController.php b/src/Controllers/Api/Nasa/V1/Base/ListController.php index 28c051343..14180dba0 100755 --- a/src/Controllers/Api/Nasa/V1/Base/ListController.php +++ b/src/Controllers/Api/Nasa/V1/Base/ListController.php @@ -30,6 +30,7 @@ abstract class ListController protected array $aFilterFields = []; // 允许where的字段 // protected array $aArticleFields = []; // 文章字段 protected array $aFieldTypes = []; + protected array $aValueFields = []; protected array $aLenthFields = []; // 限制长度的字段 protected array $aSelectFields = []; // 默认作为select的字段 protected array $aListFields = []; // list展示的字段和名字映射 @@ -63,11 +64,14 @@ abstract class ListController public function getMapAll() { + $a = []; if (method_exists($this->oModel, 'getMapAll')) { - return $this->oModel->getMapAll(); + $a = $this->oModel->getMapAll(); } - return []; + $b = array_merge($a, $this->aValueFields); + + return $b; } public function index(Request $oRequest, Response $oResponse, $args) @@ -313,7 +317,7 @@ abstract class ListController // 5. 健壮的方法存在性检查(呼应你上一条的需求) // 变量命名:aMapData (映射数据数组) -> 【诶 迈普 数据】 - $aMapData = method_exists($this->oModel, 'getMapAll') ? $this->oModel->getMapAll() : []; + $aMapData = $this->oModel->getMapAll(); // 6. 统一标准的 JSON 响应输出 return $oResponse->withJson([