Files
huangjingfen/pro_v3.5.1/app/services/diy/PageCategoryServices.php
panchengyong c1e74d8e68 chore(php): 统一 ScottPan 文件头与注释域名替换
- 按 docs/renew-code-comment.md 将 PHP 文件头改为带边框的 Author 注释\n- 注释中的 crmeb.com 替换为 uj345.cn(代码字符串中的外链未改)\n- 新增 docs/renew-code-comment.md 说明

Made-with: Cursor
2026-03-29 11:22:58 +08:00

69 lines
1.7 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | Author: ScottPan Team
// +----------------------------------------------------------------------
declare (strict_types=1);
namespace app\services\diy;
use app\services\BaseServices;
use app\dao\diy\PageCategoryDao;
use crmeb\services\CacheService;
use think\annotation\Inject;
/**
* 链接分组
* Class PageCategoryServices
* @package app\services\diy
* @mixin PageCategoryDao
*/
class PageCategoryServices extends BaseServices
{
protected string $tree_page_category_key = 'tree_page_categroy';
/**
* @var PageCategoryDao
*/
#[Inject]
protected PageCategoryDao $dao;
/**
* 获取分类列表
* @return bool|mixed|null
*/
public function getCategroyList()
{
return CacheService::get($this->tree_page_category_key, function () {
return $this->getSonCategoryList();
}, 86400) ?: [];
}
/**
* tree分类列表
* @param int $pid
* @param string $parent_name
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getSonCategoryList($pid = 0)
{
$list = $this->dao->getList(['pid' => $pid], 'id,pid,type,name');
$arr = [];
if ($list) {
foreach ($list as $item) {
$item['title'] = $item['name'];
$item['expand'] = true;
$item['children'] = $this->getSonCategoryList($item['id']);
$arr [] = $item;
}
}
return $arr;
}
}