add:增加影圈功能,优化部分接口

This commit is contained in:
2025-05-10 19:47:12 +08:00
parent 1c53b73614
commit e0e42e3ecc
13 changed files with 431 additions and 63 deletions

View File

@@ -587,3 +587,62 @@ if (!function_exists('collection')) {
}
}
}
if (!function_exists('dd')) {
/**
* 调试打印
*/
function dd(...$params)
{
echo '<pre>';
foreach ($params as $p) {
print_r($p);
echo '
<br>';
}
echo '</pre>';
die;
}
}
if (!function_exists('getsql')) {
/**
* 调试打印
*/
function getsql($query)
{
echo '<pre>';
print_r($query->fetchSql()->select());
echo '</pre>';
die;
}
}
if (!function_exists('buildTree')) {
/**
* 生成树结构
*/
function buildTree($items): array
{
$refer = [];
foreach ($items as $k => $v) {
if (!isset($v['id']) || !isset($v['pid'])) {
return []; // 缺少id和pid
}
$items[$k]['child'] = [];
$refer[$v['id']] = &$items[$k]; //为每个项目建立引用关系
}
foreach ($items as $k => $v) {
if (empty($v['pid'])) continue;
$parent = &$refer[$v['pid']]; //获取父项目的引用
$parent['child'][] = &$items[$k]; //在父项目的child中再添加一个引用成员
}
// 排除非顶级项目
$group_ids = array_column($items, 'id');
foreach ($items as $k => $v) {
if (in_array($v['pid'], $group_ids)) {
unset($items[$k]);
}
}
return array_values($items);
}
}