debug
This commit is contained in:
27
code/app/services/ChapterService.php
Normal file
27
code/app/services/ChapterService.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\services;
|
||||
|
||||
use app\model\ChapterModel;
|
||||
|
||||
class ChapterService
|
||||
{
|
||||
/**
|
||||
* SiteContext
|
||||
*
|
||||
* @var SiteContext
|
||||
*/
|
||||
public $SiteContext;
|
||||
|
||||
/**
|
||||
* ChapterModel
|
||||
*
|
||||
* @var ChapterModel
|
||||
*/
|
||||
public $ChapterModel;
|
||||
|
||||
public function __construct(SiteContext $SiteContext)
|
||||
{
|
||||
$this->ChapterModel = ChapterModel::getInstance();
|
||||
}
|
||||
}
|
||||
254
code/app/services/NovelService.php
Normal file
254
code/app/services/NovelService.php
Normal file
@@ -0,0 +1,254 @@
|
||||
<?php
|
||||
|
||||
namespace app\services;
|
||||
|
||||
use app\model\DomainModel;
|
||||
use app\model\NovelModel;
|
||||
|
||||
class NovelService
|
||||
{
|
||||
/**
|
||||
* SiteContext
|
||||
*
|
||||
* @var SiteContext
|
||||
*/
|
||||
public $SiteContext;
|
||||
|
||||
/**
|
||||
* NovelModel
|
||||
*
|
||||
* @var NovelModel
|
||||
*/
|
||||
public $NovelModel;
|
||||
|
||||
public function __construct(SiteContext $SiteContext)
|
||||
{
|
||||
$this->SiteContext = $SiteContext;
|
||||
$this->NovelModel = NovelModel::getInstance();
|
||||
}
|
||||
|
||||
/**
|
||||
* GetNovelInfoUrl
|
||||
*
|
||||
* @param int $intNId
|
||||
* @param string $intPinYin
|
||||
* @return string
|
||||
*/
|
||||
public function getNovelInfoUrl($intNId, $intPinYin): string
|
||||
{
|
||||
$strKey = 'NOVEL_INFO_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'intNId' => $intNId,
|
||||
'strPinYin' => $intPinYin
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetForgeNovelInfoUrl
|
||||
* 伪造小说
|
||||
* @param int $intNId
|
||||
* @param string $intPinYin
|
||||
* @return string
|
||||
*/
|
||||
public function getForgeNovelInfoUrl($intNId, $intPinYin, $intNForgeId): string
|
||||
{
|
||||
$strKey = 'KAN_NOVEL_INFO_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'intNId' => $intNId,
|
||||
'strPinYin' => $intPinYin,
|
||||
'intNForgeId' => $intNForgeId,
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* GetNovelChapterUrl
|
||||
*
|
||||
* @param int $intNId
|
||||
* @param string $intPinYin
|
||||
* @return string
|
||||
*
|
||||
*/
|
||||
public function getNovelChapterUrl($intNId, $intPinYin, $intChapterSort, $intChapterPage = 1): string
|
||||
{
|
||||
$strKey = 'CONTENT_INFO_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'intNId' => $intNId,
|
||||
'strPinYin' => $intPinYin,
|
||||
'intChapterSort' => $intChapterSort,
|
||||
'intChapterPage' => $intChapterPage,
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetNovelLasterChapterUrl
|
||||
*
|
||||
* @param int $intNId
|
||||
* @param string $intPinYin
|
||||
* @return string
|
||||
*
|
||||
*/
|
||||
public function getNovelLasterChapterUrl($intNId, $intPinYin): string
|
||||
{
|
||||
$strKey = 'NEWS_CONTENT_INFO_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'intNId' => $intNId,
|
||||
'strPinYin' => $intPinYin,
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetNovelCategoryUrl
|
||||
* 小说分类
|
||||
* @param int $intNId
|
||||
* @param string $intPinYin
|
||||
* @return string
|
||||
*
|
||||
*/
|
||||
public function getNovelCategoryUrl($strGender, $strCategory, $strStatus, $intPage): string
|
||||
{
|
||||
$strKey = 'CATEGORY_INFO_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'strGender' => $strGender,
|
||||
'strCategory' => $strCategory,
|
||||
'strStatus' => $strStatus,
|
||||
'intPage' => $intPage,
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* getNovelCatalogUrl
|
||||
* 小说目录
|
||||
* @param int $intNId
|
||||
* @param string $intPinYin
|
||||
* @return string
|
||||
*
|
||||
*/
|
||||
public function getNovelCatalogUrl($intNId, $intPinYin, $strOrder, $intPage = 1): string
|
||||
{
|
||||
$strKey = 'NOVEL_CATALOG_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'intNId' => $intNId,
|
||||
'strPinYin' => $intPinYin,
|
||||
'strOrder' => $strOrder,
|
||||
'intPage' => $intPage,
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @param int $intPage
|
||||
* @param string $strKeyWords
|
||||
* @return string
|
||||
*/
|
||||
public function getNovelSearchUrl($strKeyWords, $intPage = 1): string
|
||||
{
|
||||
$strKey = 'SEARCH_INFO_URL';
|
||||
$strUrl = $this->getPageUrl($strKey, [
|
||||
'intPage' => $intPage,
|
||||
'strSearchKeywords' => $strKeyWords
|
||||
]);
|
||||
return (string)$strUrl;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @param array $arrArgs
|
||||
* @return string
|
||||
*/
|
||||
public function getPageUrl($strKey, array $arrArgs,): string
|
||||
{
|
||||
$strSfVal = $this->SiteContext->DomainModel->getFomartSubject($strKey, '', false);
|
||||
$arrKeys = [];
|
||||
$arrVals = [];
|
||||
foreach ($arrArgs as $strKey => $strVal) {
|
||||
$arrKeys[] = '{' . $strKey . '}';
|
||||
$arrVals[] = $strVal;
|
||||
}
|
||||
|
||||
return str_replace($arrKeys, $arrVals, $strSfVal);
|
||||
}
|
||||
|
||||
protected $arrSortType = [
|
||||
'day_desc' => 'daily',
|
||||
'week_desc' => 'weekly',
|
||||
'month_desc' => 'monthly',
|
||||
'total_desc' => 'total',
|
||||
'tuijian_desc' => 'total',
|
||||
];
|
||||
|
||||
protected $arrStatus = [
|
||||
'all' => NULL,
|
||||
'lianzai' => '连载中',
|
||||
'wanjie' => '已完结',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* 获取小说数据
|
||||
*
|
||||
* @param array $arrParams
|
||||
* @return void
|
||||
*/
|
||||
public function getNovelData(array $arrParams): array
|
||||
{
|
||||
// 提取参数
|
||||
$intPage = (int)$arrParams['page'] ?? 0;
|
||||
$intLimit = (int)$arrParams['limit'] ?? 10;
|
||||
$strNCategory = $arrParams['n_category'] ?? '';
|
||||
$strSortType = (string)$arrParams['sort_type'] ?? '';
|
||||
$strNStatus = (string) $arrParams['n_status'] ?? '';
|
||||
$strNSex = (string) $arrParams['n_sex'] ?? '';
|
||||
$strKey = (string) $arrParams['key'] ?? '';
|
||||
$strDiffKey = (string) $arrParams['diff_key'] ?? '';
|
||||
$intCacheKey = (int)$arrParams['cache_life'] ?? 0;
|
||||
echo $intPage;
|
||||
print_r($arrParams);
|
||||
exit;
|
||||
|
||||
|
||||
if ($intPage == 0) {
|
||||
} else {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 模拟数据处理(可以根据实际需求从数据库获取数据)
|
||||
$data = [];
|
||||
for ($i = 1; $i <= $arrParams['limit']; $i++) {
|
||||
$data[] = [
|
||||
'id' => $i,
|
||||
'name' => "小说名称 {$i}",
|
||||
'category' => $arrParams['n_category'] ?? '默认分类',
|
||||
'status' => $arrParams['n_status'] ?? '连载中',
|
||||
'order' => $arrParams['sort_type'] ?? '默认排序',
|
||||
];
|
||||
}
|
||||
|
||||
// 分页数据
|
||||
$p_data = [
|
||||
'current_page' => $arrParams['page'],
|
||||
'total_page' => 5,
|
||||
'total_count' => 50,
|
||||
];
|
||||
|
||||
|
||||
|
||||
return [
|
||||
'data' => $data,
|
||||
'p_data' => $p_data,
|
||||
];
|
||||
}
|
||||
}
|
||||
72
code/app/services/SiteContext.php
Normal file
72
code/app/services/SiteContext.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace app\services;
|
||||
|
||||
use app\model\DomainModel;
|
||||
use app\model\TemplatesModel;
|
||||
use think\facade\Request;
|
||||
use think\facade\Config;
|
||||
use think\exception\HttpException;
|
||||
|
||||
class SiteContext
|
||||
{
|
||||
/**
|
||||
* Request
|
||||
*
|
||||
* @var \think\Request
|
||||
*/
|
||||
public $Request;
|
||||
|
||||
/**
|
||||
* DomainModel
|
||||
*
|
||||
* @var DomainModel
|
||||
*/
|
||||
public $DomainModel;
|
||||
|
||||
/**
|
||||
* TemplatesModel
|
||||
*
|
||||
* @var TemplatesModel
|
||||
*/
|
||||
public $TemplatesModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->Request = request();
|
||||
}
|
||||
|
||||
/**
|
||||
* GetViewConfig
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getViewConfig(): array
|
||||
{
|
||||
$strDomain = $this->Request->rootDomain();
|
||||
|
||||
$this->DomainModel = DomainModel::getDomainOnCacheByDomain($strDomain);
|
||||
|
||||
if (empty($this->DomainModel)) {
|
||||
throw new HttpException(404, 'Site config not Found');
|
||||
}
|
||||
|
||||
$this->TemplatesModel = TemplatesModel::getTemplateOnCacheByTId($this->DomainModel->t_id);
|
||||
|
||||
if (empty($this->DomainModel)) {
|
||||
throw new HttpException(500, 'Site template not Found');
|
||||
}
|
||||
|
||||
$this->Request->DomainModel = $this->DomainModel;
|
||||
|
||||
$this->Request->TemplatesModel = $this->TemplatesModel;
|
||||
|
||||
return [
|
||||
'type' => 'Think',
|
||||
'auto_rule' => 3,
|
||||
'view_dir_name' => 'view',
|
||||
'view_suffix' => 'html',
|
||||
'view_path' => root_path(ltrim($this->TemplatesModel->t_path, '/')),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user