This commit is contained in:
Default
2025-03-31 23:14:52 +08:00
parent 6a11a33e27
commit c7978968f3
21 changed files with 686 additions and 185 deletions

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
use app\admin\controller\Domain;
use app\admin\controller\Novel;
use app\admin\controller\Site;
use app\admin\middleware\AdminAuth;
use think\facade\Route;
@@ -39,9 +40,15 @@ Route::group("/novel", function () {
# 站点
Route::group("/site", function () {
Route::get("/domain/list", [Domain::class, "getDomainList"])->name("Domain@getDomainList");
Route::post("/domain/upload", [Domain::class, "uploadDomain"])->name("Domain@uploadDomain");
# 域名管理
Route::get("/domain/list", [Site::class, "getDomainList"])->name("Domain@getDomainList");
Route::post("/domain/upload", [Site::class, "uploadDomain"])->name("Domain@uploadDomain");
Route::post("/domain/save", [Site::class, "saveDomain"])->name("Domain@saveDomain");
Route::get("/tkdarg/list", [Domain::class, "getTKDArgList"])->name("Domain@getDomainList");
# TKD 参数模板
Route::get("/tkdarg/list", [Site::class, "getTKDArgList"])->name("Domain@getTKDArgList");
# 视图模板
Route::get("/template/list", [Site::class, "getTemplateList"])->name("Domain@getTKDArgList");
})->middleware(AdminAuth::class);

View File

@@ -8,11 +8,13 @@ use app\admin\BaseController;
use app\model\AdminUserModel;
use app\model\ConverterMovel;
use app\model\DomainModel;
use app\model\TemplatesModel;
use app\Request;
use PhpOffice\PhpSpreadsheet\IOFactory;
use think\Response;
class Domain extends BaseController
class Site extends BaseController
{
/**
@@ -61,7 +63,7 @@ class Domain extends BaseController
$arrDomain = [
'd_domain' => $arrRows[0],
't_id' => $arrRows[1],
'd_title' => $arrRows[2],
'd_name' => $arrRows[2],
'd_keywords' => $arrRows[3],
'd_description' => $arrRows[4],
'd_statis' => $arrRows[5],
@@ -69,7 +71,13 @@ class Domain extends BaseController
'd_text_log' => $arrRows[7],
'd_img_log' => $arrRows[8],
];
$TCfgTemplate = TemplatesModel::where('t_id', $arrDomain['t_id'])->find()->t_cfg_template;
$arrDomain['t_cfg'] = json_encode($TCfgTemplate, JSON_UNESCAPED_UNICODE);
$DomainModel = DomainModel::where('d_domain', $arrDomain['d_domain'])->findOrEmpty();
$DomainModel->fill($arrDomain);
$DomainModel->save();
}
@@ -129,4 +137,99 @@ class Domain extends BaseController
return $this->success($arrResult);
}
/**
* 添加|修改 域名
*
* @param Request $Request
* @param AdminUserModel|null $AdminUserModel
* @return Response
*/
public function saveDomain(Request $Request, ?AdminUserModel $AdminUserModel)
{
$arrData = [
"d_id" => $Request->post('d_id'),
"d_domain" => $Request->post('d_domain'),
"t_id" => $Request->post('t_id'),
"d_name" => $Request->post('d_name'),
"d_keywords" => $Request->post('d_keywords'),
"d_description" => $Request->post('d_description'),
"d_statis" => $Request->post('d_statis'),
"d_logo_type" => $Request->post('d_logo_type'),
"d_text_log" => $Request->post('d_text_log'),
"d_img_log" => $Request->post('d_img_log'),
"d_content_encode" => $Request->post('d_content_encode'),
"t_cfg" => $Request->post('t_cfg'),
];
$arrRule = [
// 'd_id' => 'require|number',
'd_domain' => 'require',
'd_logo_type' => 'require|number',
'd_content_encode' => 'require|number',
't_cfg' => 'require',
];
$this->validate($arrData, $arrRule);
if ($arrData['d_id']) {
$DomainModel = DomainModel::where('d_id', $arrData['d_id'])->findOrEmpty();
} else {
$DomainModel = new DomainModel;
}
$DomainModel->fill($arrData);
$DomainModel->save();
return $this->success();
}
/**
* 列表
*
* @param Request $Request
* @param AdminUserModel|null $AdminUserModel
* @return Response
*/
public function getTemplateList(Request $Request, ?AdminUserModel $AdminUserModel)
{
$arrData = [
"page" => $Request->get('page', 1),
"limit" => $Request->get('limit', 10),
"key" => $Request->get('key'),
];
$arrRule = [
'page' => 'require|number',
'limit' => 'require|number',
];
$this->validate($arrData, $arrRule);
$TemplatesModel = TemplatesModel::alias('t');
if (!empty($arrData['key'])) {
$strKey = $arrData['key'];
$TemplatesModel->where(function ($TemplatesModel) use ($strKey) {
$TemplatesModel->whereOr([
['t.t_code', 'like', "%" . $strKey . "%"],
]);
});
}
$Paginate = $TemplatesModel->paginate([
'list_rows' => $arrData['limit'],
'page' => $arrData['page'],
]);
$arrResult = [
'items' => $Paginate->items(),
'total' => $Paginate->total(),
'current_page' => $Paginate->currentPage(),
'total_pages' => $Paginate->lastPage(),
];
return $this->success($arrResult);
}
}