no message

This commit is contained in:
hellcat 2026-07-29 13:57:25 +08:00
parent 3b5dd60d5f
commit aeeb779355
5 changed files with 118 additions and 2 deletions

View File

@ -0,0 +1,75 @@
<?php
declare(strict_types=1);
namespace App\Http\Controllers\Api\Nasa\V1;
use Illuminate\Http\Request;
use App\Http\Controllers\Api\Nasa\V1\Base\ListController;
final class FnPoolController extends ListController
{
protected string $sModelPath = 'App\Models\FreenodePool';
protected array $aFilterFields = [ // 允许where的字段不设视为全允许
// 's_name',
// 'i_status'
];
protected string $sPageName = "fn爬取设置";
protected array $aListFields = [ // list展示的字段和名字映射
'id' => 'id',
'code' => 'code',
'content' => 'content'
];
protected array $aValueStyle = [ // 特定文字渲染样式
// '关闭' => "<span class='text-danger'>关闭</span>",
// '开启' => "<span class='text-success'>开启</span>"
];
protected array $aFieldTypes = [
// 'url_file' => 'json',
// 'file_real' => 'json',
];
protected array $aOrderBy = [
// [
// "sField" => "status",
// "sSort" => "desc",
// ],
[
"sField" => "id",
"sSort" => "desc",
]
];
protected array $aJsonFields = [ // json字段
];
protected array $aDateFields = [ // date字段
// 'dtUpdatedAt'
];
protected array $aLenthFields = [ // 限制长度的字段
// "xx" => 100,
];
protected array $aSelectFields = [ // 作为默认select的字段
// 'status',
];
protected array $aValueFields = [ // 值映射
// 'status' => [
// '1' => '开启',
// '0' => '关闭',
// ]
];
protected array $aCcExtFields = [
// 'dtCreatedAt' => '创建时间'
];
// protected array $aLimit = [3, 15, 40, 100]; // list长度第一个为默认
}

View File

@ -0,0 +1,26 @@
<?php
namespace App\Http\Controllers\Web\Nasa\V1;
use Illuminate\Http\Request;
use App\Http\Requests\Nasa\NasaQueryRequest;
use Illuminate\View\View;
use Illuminate\Support\Facades\Http;
use App\Http\Controllers\Web\Nasa\V1\Base\ListController;
class MasterFnPoolController extends ListController
{
protected string $sApiPath = "fn/pool";
protected string $sView = 'nasa._commons.list';
protected string $sSiteWww;
protected string $sHeaderActionView = 'nasa.v1._actions.list';
protected array $aBookCode = [
];
public function __construct()
{
$this->sSiteWww = config("path.url_master_base") ?? '';
}
}

View File

@ -62,7 +62,7 @@ final class Cron
if ($h % 3 === 0 && $i === 3) {
CronFreenodeSync::nodehub(); // fn分到到nodehub
CronFreenodeSync::run(); // fn分发到各到各站旧版
NasaTestFnSubfile::run_b();
NasaTestFnSubfile::run_b(); // nasa测试订阅文件
}
if ($h == 11 && $i == 3) {

View File

@ -5,6 +5,7 @@ use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\Nasa\V1\SettingNavController as NasaV1SettingNavController;
use App\Http\Controllers\Api\Nasa\V1\TestsFnSubfileController as NasaV1TestsFnSubfileController;
use App\Http\Controllers\Api\Nasa\V1\FnCrawController as NasaV1FnCrawController;
use App\Http\Controllers\Api\Nasa\V1\FnPoolController as NasaV1FnPoolController;
use App\Http\Controllers\Api\Nasa\V1\BladeBaseController as NasaV1BladeBaseController;
use App\Http\Controllers\Api\Nasa\V1\ArticleBaseController as NasaV1ArticleBaseController;
use App\Http\Controllers\Api\Nasa\V1\ArticleCacheController as NasaV1ArticleCacheController;
@ -39,7 +40,19 @@ Route::prefix('nasa/v1')->middleware('nasa.auth')->group(function () {
Route::put('clone/save', [NasaV1TestsFnSubfileController::class, 'cloneSave']);
Route::get('hit/{id}/{field}', [NasaV1TestsFnSubfileController::class, 'hit']);
});
Route::prefix('fn/pool')->group(function() {
Route::get('', [NasaV1FnPoolController::class, 'index']);
Route::get('detail/{id}', [NasaV1FnPoolController::class, 'detail']);
Route::put('detail/save/{id}', [NasaV1FnPoolController::class, 'detailSave']);
Route::delete('delete/{id}', [NasaV1FnPoolController::class, 'delete']);
Route::get('add', [NasaV1FnPoolController::class, 'add']);
Route::put('add/save', [NasaV1FnPoolController::class, 'addSave']);
Route::get('clone/{id}', [NasaV1FnPoolController::class, 'clone']);
Route::put('clone/save', [NasaV1FnPoolController::class, 'cloneSave']);
Route::get('hit/{id}/{field}', [NasaV1FnPoolController::class, 'hit']);
});
Route::prefix('fn/craw')->group(function() {
Route::get('', [NasaV1FnCrawController::class, 'index']);
Route::get('detail/{id}', [NasaV1FnCrawController::class, 'detail']);

View File

@ -29,6 +29,7 @@ use App\Http\Controllers\Web\Nasa\V1\Base\ListController as NasaListController;
use App\Http\Controllers\Web\Nasa\V1\AuthController;
use App\Http\Controllers\Web\Nasa\V1\MasterPanelNavController as NasaMasterPanelNavController;
use App\Http\Controllers\Web\Nasa\V1\MasterFnCrawController as NasaMasterFnCrawController;
use App\Http\Controllers\Web\Nasa\V1\MasterFnPoolController as NasaMasterFnPoolController;
use App\Http\Controllers\Web\Nasa\V1\FuNodeBaseController as NasaFuNodeBaseController;
use App\Http\Controllers\Web\Nasa\V1\FuNodeActionController as NasaFuNodeActionController;
use App\Http\Controllers\Web\Nasa\V1\FuEnvConfigController as NasaFuEnvConfigController;
@ -89,6 +90,7 @@ Route::prefix('nasa')->middleware(['auth'])->group(function () {
Route::get('/master/sitemap/base', [NasaMasterSitemapBaseController::class, 'index'])->name('nasa.master.sitemap.base');
Route::get('/master/cachetg/base', [NasaMasterCachetgBaseController::class, 'index'])->name('nasa.master.cachetg.base');
Route::get('/master/telegram/keys', [NasaMasterTelegramKeysController::class, 'index'])->name('nasa.master.telegram.keys');
Route::get('/master/fn/pool', [NasaMasterFnPoolController::class, 'index'])->name('nasa.master.fn.pool');
Route::get('/resource/article/base', [NasaResourceArticleBaseController::class, 'index'])->name('nasa.resource.article.base');
Route::get('/resource/uploadimages/base', [NasaResourceUploadimagesBaseController::class, 'index'])->name('nasa.resource.uploadimages.base');
Route::get('/fu/node/base', [NasaFuNodeBaseController::class, 'index'])->name('nasa.fu.node.base');