no message

This commit is contained in:
hellcat 2026-07-29 15:08:44 +08:00
parent 297eea3f77
commit 79090b5f52
5 changed files with 124 additions and 1 deletions

View File

@ -0,0 +1,82 @@
<?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 FnTemplateController extends ListController
{
protected string $sModelPath = 'App\Models\ArticleTemplateFreenode';
protected array $aFilterFields = [ // 允许where的字段不设视为全允许
// 's_name',
// 'i_status'
];
protected string $sPageName = "ArticleTemplateFreenode";
protected array $aListFields = [ // list展示的字段和名字映射
'id' => 'id',
'group_code' => 'group_code',
'title' => 'title',
'title_sub' => 'title_sub',
'content' => 'content',
'stauts' => 'stauts',
'created_at' => 'created_at',
'updated_at' => 'updated_at'
];
protected array $aValueStyle = [ // 特定文字渲染样式
// '关闭' => "<span class='text-danger'>关闭</span>",
// '开启' => "<span class='text-success'>开启</span>"
];
protected array $aFieldTypes = [
'content' => 'text',
// 'content_custom' => 'text',
// 'content_v2ray' => 'content_v2ray',
// 'content_clash' => 'content_clash'
];
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 MasterFnTemplateController extends ListController
{
protected string $sApiPath = "fn/template";
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

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

View File

@ -6,6 +6,7 @@ use App\Http\Controllers\Api\Nasa\V1\SettingNavController as NasaV1SettingNavCon
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\FnTemplateController as NasaV1FnTemplateController;
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;
@ -52,6 +53,18 @@ Route::prefix('nasa/v1')->middleware('nasa.auth')->group(function () {
Route::put('clone/save', [NasaV1FnPoolController::class, 'cloneSave']);
Route::get('hit/{id}/{field}', [NasaV1FnPoolController::class, 'hit']);
});
Route::prefix('fn/template')->group(function() {
Route::get('', [NasaV1FnTemplateController::class, 'index']);
Route::get('detail/{id}', [NasaV1FnTemplateController::class, 'detail']);
Route::put('detail/save/{id}', [NasaV1FnTemplateController::class, 'detailSave']);
Route::delete('delete/{id}', [NasaV1FnTemplateController::class, 'delete']);
Route::get('add', [NasaV1FnTemplateController::class, 'add']);
Route::put('add/save', [NasaV1FnTemplateController::class, 'addSave']);
Route::get('clone/{id}', [NasaV1FnTemplateController::class, 'clone']);
Route::put('clone/save', [NasaV1FnTemplateController::class, 'cloneSave']);
Route::get('hit/{id}/{field}', [NasaV1FnTemplateController::class, 'hit']);
});
Route::prefix('fn/craw')->group(function() {
Route::get('', [NasaV1FnCrawController::class, 'index']);

View File

@ -30,6 +30,7 @@ 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\MasterFnTemplateController as NasaMasterFnTemplateController;
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;
@ -91,6 +92,7 @@ Route::prefix('nasa')->middleware(['auth'])->group(function () {
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('/master/fn/template', [NasaMasterFnTemplateController::class, 'index'])->name('nasa.master.fn.template');
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');