feat: Vue3로 새롭게 작성한 메인 페이지 (#229)
- v_front.php - API 추가 - General/GetFrontInfo - Global/GetGlobalMenu - DTO 추가 - MenuItem, MenuMulti, MenuSplit - 글로벌 메뉴 출력 방식 변경 - d_setting/GlobalMenu.php Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/229
This commit was merged in pull request #229.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Global;
|
||||
|
||||
use LDTO\DTO;
|
||||
use sammo\APICacheResult;
|
||||
use sammo\BaseAPI;
|
||||
use sammo\GlobalMenu;
|
||||
use sammo\Session;
|
||||
|
||||
class GetGlobalMenu extends BaseAPI
|
||||
{
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return self::NO_SESSION;
|
||||
}
|
||||
function validateArgs(): ?string
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
function launch(Session $session, ?\DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
if ($reqEtag !== null) {
|
||||
$version = GlobalMenu::version;
|
||||
if ($reqEtag == "v{$version}") {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return [
|
||||
'result' => true,
|
||||
'menu' => array_map(function (DTO $dto) {
|
||||
return $dto->toArray();
|
||||
}, GlobalMenu::getMenu()),
|
||||
];
|
||||
}
|
||||
public function tryCache(): ?APICacheResult
|
||||
{
|
||||
$version = GlobalMenu::version;
|
||||
return new APICacheResult(
|
||||
null,
|
||||
"v{$version}",
|
||||
60 * 60 * 6,
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user