diff --git a/code/app/home/BaseController.php b/code/app/home/BaseController.php index 1ad634e..1b45103 100644 --- a/code/app/home/BaseController.php +++ b/code/app/home/BaseController.php @@ -104,7 +104,6 @@ abstract class BaseController View::assign("DomainModel", $this->request->DomainModel); View::assign("TemplatesModel", $this->request->TemplatesModel); - View::assign("strPcPath", $strPcUrlTemp); View::assign("strNanUrlTemp", $strNanUrlTemp); View::assign("strNvUrlTemp", $strNvUrlTemp); diff --git a/code/app/home/config/router.php b/code/app/home/config/router.php index 8cfa882..caa2313 100644 --- a/code/app/home/config/router.php +++ b/code/app/home/config/router.php @@ -9,9 +9,9 @@ use app\services\SiteContext; use think\facade\Route; -Route::get('/article/fenlei/:category', function (\think\Request $Request, SiteContext $SiteContext) { - return view($SiteContext->getHomeView()); -}); +// Route::get('/article/fenlei/:category', function (\think\Request $Request, SiteContext $SiteContext) { +// return view($SiteContext->getHomeView()); +// }); @@ -161,53 +161,70 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) { case 'latest': //最新章节 Route::get($strRoute, [Novel::class, 'getNovelLatestChapter']) - ->append(['boolIsMobile' => $boolIsMobile]) + ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]); break; case 'chapter': //章节 Route::get($strRoute, [Novel::class, 'getNovelChapter']) - ->append(['boolIsMobile' => $boolIsMobile]) + ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']); break; case 'kan-novel': //伪造小说详情 Route::get($strRoute, [Novel::class, 'getKanNovelInfo']) - ->append(['boolIsMobile' => $boolIsMobile]) + ->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]); break; case 'novel': //小说详情 - Route::get($strRoute, [Novel::class, 'getNovelInfo']) - ->append(['boolIsMobile' => $boolIsMobile]) - ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]); + $strView = 'pc/getNovelInfo.html'; + if ($platform == 'h5') { + $strView = 'novel/getNovelInfo.html'; + } + Route::get($strRoute, function () use ($strView) { + return view($strView); + }) + ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]); + break; case 'catalog': //目录 - Route::get($strRoute, [Novel::class, 'getNovelCatalog']) - ->append(['boolIsMobile' => $boolIsMobile]) - ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']); + $strView = 'pc/getNovelCatalog.html'; + if ($platform == 'h5') { + $strView = 'novel/getNovelCatalog.html'; + } + Route::get($strRoute, function () use ($strView) { + return view($strView); + }) + ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']); + break; case 'library': - //书库/分类 /shuku/all/xuanhuan-xiuzhen/all/all/page1 - Route::get($strRoute, [Novel::class, 'getLibrary']) - ->append(['boolIsMobile' => $boolIsMobile]) - ->pattern([ - //'strGender' => 'all|nansheng-xiaoshuo|boys-novel|nansheng-shu|man-read|nansheng-book|male-novels|nvsheng-xiaoshuo|girls-novel|nvsheng-shu|woman-read|nvsheng-book|female-novels', - 'strGender' => '[a-z\-]+', - 'strCategory' => '[a-z\-]+', - 'strStatus' => 'all|lianzai|wanjie', - // 'strOrder' => '[a-z\-]+', - 'intPage' => '\d+' - ]); + $strView = 'pc/getLibrary.html'; + if ($platform == 'h5') { + $strView = 'novel/getLibrary.html'; + } + //书库/分类 + Route::get($strRoute, function () use ($strView) { + return view($strView); + }) + ->pattern([ + // 'strGender' => '[a-z\-]+', + 'strCategory' => '[a-z\-]+', + 'strStatus' => 'all|lianzai|wanjie', + // 'strOrder' => '[a-z\-]+', + 'intPage' => '\d+' + ]); break; + case 'library-index': //书库/分类首页 - Route::get($strRoute, [Novel::class, 'getLibrary'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, [Novel::class, 'getLibrary']); break; case 'rank': //排行榜 - Route::get($strRoute, [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, [Novel::class, 'getNovelRank']); break; case 'boys': //男生 @@ -219,26 +236,30 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) { break; case 'search': //搜素 - Route::get($strRoute, [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, [Novel::class, 'getSearchNovel'])->ext('html'); break; case 'user': //用户中心 - Route::get($strRoute, [User::class, 'Index'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, [User::class, 'Index']); break; case 'bookshelf': //书架 - Route::get($strRoute, [User::class, 'getBookShelf'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, [User::class, 'getBookShelf']); break; case 'history': //历史记录 - Route::get($strRoute, [User::class, 'getHistory'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, [User::class, 'getHistory']); break; case 'index': // 首页 if ($platform == 'h5') { - Route::get($strRoute, [Index::class, 'index'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext ) { + return view($SiteContext->getHomeView('h5')); + }); } else { - Route::get($strRoute, [Index::class, 'getPcIndex'])->append(['boolIsMobile' => $boolIsMobile]); + Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext ) { + return view($SiteContext->getHomeView('pc')); + }); } break; } @@ -246,3 +267,103 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) { } } } + +/** + * 遍历路由配置,动态注册 H5 和 PC 路由 + */ +// foreach ($arrRoutes['prefixes'] as $platform => $prefixes) { +// $prefixes = is_array($prefixes) ? $prefixes : [$prefixes]; +// $boolIsMobile = $platform === 'h5'; +// foreach ($prefixes as $strPath) { +// foreach ($arrRoutes['paths'] as $key => $arrUrl) { +// foreach ($arrUrl as $strUrl) { +// $strRoute = $strPath . $strUrl; +// switch ($key) { +// case 'latest': +// //最新章节 +// Route::get($strRoute, [Novel::class, 'getNovelLatestChapter']) +// ->append(['boolIsMobile' => $boolIsMobile]) +// ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]); +// break; +// case 'chapter': +// //章节 +// Route::get($strRoute, [Novel::class, 'getNovelChapter']) +// ->append(['boolIsMobile' => $boolIsMobile]) +// ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']); +// break; +// case 'kan-novel': +// //伪造小说详情 +// Route::get($strRoute, [Novel::class, 'getKanNovelInfo']) +// ->append(['boolIsMobile' => $boolIsMobile]) +// ->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]); +// break; +// case 'novel': +// //小说详情 +// Route::get($strRoute, [Novel::class, 'getNovelInfo']) +// ->append(['boolIsMobile' => $boolIsMobile]) +// ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]); +// break; +// case 'catalog': +// //目录 +// Route::get($strRoute, [Novel::class, 'getNovelCatalog']) +// ->append(['boolIsMobile' => $boolIsMobile]) +// ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']); +// break; +// case 'library': +// //书库/分类 /shuku/all/xuanhuan-xiuzhen/all/all/page1 +// Route::get($strRoute, [Novel::class, 'getLibrary']) +// ->append(['boolIsMobile' => $boolIsMobile]) +// ->pattern([ +// //'strGender' => 'all|nansheng-xiaoshuo|boys-novel|nansheng-shu|man-read|nansheng-book|male-novels|nvsheng-xiaoshuo|girls-novel|nvsheng-shu|woman-read|nvsheng-book|female-novels', +// 'strGender' => '[a-z\-]+', +// 'strCategory' => '[a-z\-]+', +// 'strStatus' => 'all|lianzai|wanjie', +// // 'strOrder' => '[a-z\-]+', +// 'intPage' => '\d+' +// ]); +// break; +// case 'library-index': +// //书库/分类首页 +// Route::get($strRoute, [Novel::class, 'getLibrary'])->append(['boolIsMobile' => $boolIsMobile]); +// break; +// case 'rank': +// //排行榜 +// Route::get($strRoute, [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => $boolIsMobile]); +// break; +// case 'boys': +// //男生 +// Route::get($strRoute, [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => $boolIsMobile, 'strChannel' => 'boys']); +// break; +// case 'girls': +// //女生 +// Route::get($strRoute, [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => $boolIsMobile, 'strChannel' => 'girls']); +// break; +// case 'search': +// //搜素 +// Route::get($strRoute, [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => $boolIsMobile]); +// break; +// case 'user': +// //用户中心 +// Route::get($strRoute, [User::class, 'Index'])->append(['boolIsMobile' => $boolIsMobile]); +// break; +// case 'bookshelf': +// //书架 +// Route::get($strRoute, [User::class, 'getBookShelf'])->append(['boolIsMobile' => $boolIsMobile]); +// break; +// case 'history': +// //历史记录 +// Route::get($strRoute, [User::class, 'getHistory'])->append(['boolIsMobile' => $boolIsMobile]); +// break; +// case 'index': +// // 首页 +// if ($platform == 'h5') { +// Route::get($strRoute, [Index::class, 'index'])->append(['boolIsMobile' => $boolIsMobile]); +// } else { +// Route::get($strRoute, [Index::class, 'getPcIndex'])->append(['boolIsMobile' => $boolIsMobile]); +// } +// break; +// } +// } +// } +// } +// } diff --git a/code/app/home/view/default/Index/index.html b/code/app/home/view/default/Index/index.html index 07ba1d9..65411d6 100644 --- a/code/app/home/view/default/Index/index.html +++ b/code/app/home/view/default/Index/index.html @@ -1,7 +1,7 @@ {extend name="baseH5" /} -{block name="title"}{$strTitle??''}{/block} -{block name="keywords"}{$strKeywords??''}{/block} -{block name="description"}{$strDescription??''}{/block} +{block name="title"}{site:replace code="INDEX@INDEX@TITLE"}{/block} +{block name="keywords"}{site:replace code="INDEX@INDEX@KEYWORDS"}{/block} +{block name="description"}{site:replace code="INDEX@INDEX@DESCRIPTION"}{/block} {block name="head"} @@ -44,7 +44,7 @@

作者:{$vo.xsxq_zuozhe}
-{$vo.xsxq_jie_shao}
+作者:{$Novel.n_author}
+{$Novel.n_description}
{$strDescription??''}
- -