// +---------------------------------------------------------------------- declare(strict_types=1); namespace addon\haonav\controller; use ywxapp\controller\FrontendBase; use think\Request; use addon\haonav\controller\trait\BaseTrait; use addon\haonav\controller\trait\HomeTrait; use addon\haonav\controller\trait\SearchTrait; use addon\haonav\controller\trait\SiteDetailTrait; use addon\haonav\controller\trait\CategoryTrait; use addon\haonav\controller\trait\ApplyTrait; use addon\haonav\controller\trait\SitemapTrait; use addon\haonav\controller\trait\ReadMetaTrait; use addon\haonav\controller\trait\FaviconTrait; use addon\haonav\controller\trait\SnapshotTrait; use addon\haonav\controller\trait\SwTrait; use addon\haonav\controller\trait\AdTrait; /** * Index 类(按职责分拆至 controller/trait/*,本类只保留骨架) * * 路由对照(addon/haonav/route/app.php): * index/rank → HomeTrait * search/suggest/rate→ SearchTrait * site → SiteDetailTrait * category → CategoryTrait * submit/apply → ApplyTrait * sitemap → SitemapTrait * read → ReadMetaTrait * favicon → FaviconTrait * snapshot → SnapshotTrait * sw → SwTrait * ad/click → AdTrait * test → 本类(调试用) * * 共享 helper 在 BaseTrait 中。 * * @author ywxapp */ class Index extends FrontendBase { /** * 前台放行所有(游客可访问) */ protected $noNeedLogin = ['*']; /** * 前台放行所有 user-group 校验 */ protected $noNeedVerify = ['*']; /* ====== 共享 + 12 个按职责拆分的 trait ====== */ use BaseTrait; // 配置 / SEO / 用户 / 广告位 / 点击统计 / 文件输出 use HomeTrait; // index + rank use SearchTrait; // search + suggest + rate use SiteDetailTrait; // site(详情页 JSON-LD) use CategoryTrait; // category use ApplyTrait; // submit + apply use SitemapTrait; // sitemap use ReadMetaTrait; // read use FaviconTrait; // favicon use SnapshotTrait; // snapshot use SwTrait; // sw(PWA) use AdTrait; // adClick /** * 调试路由:打印当前 ThinkPHP 路由表 */ public function test() { $routes = \think\facade\Route::getRules(); dump($routes); } /** * 控制器初始化(基类已自动调用,本类无需扩展) */ protected function initialize() { // 外观背景配置(背景图 / 遮罩 / 随机变换色)注入所有前台页面 $this->assignAppearance(); } /** * 后台模板占位(前台不需要,但保留以兼容路由调起) */ public function edit($id = null) {} public function update(Request $request, $id) {} public function delete($id) {} }