refactor: 后面横幅分页接口图片输出修改为缩略图

This commit is contained in:
2025-06-05 09:51:23 +08:00
parent d146603812
commit d021962d0a
3 changed files with 34 additions and 32 deletions

View File

@@ -60,7 +60,8 @@ class BannerItem
->paginate([ ->paginate([
'list_rows' => $param['size'], 'list_rows' => $param['size'],
'page' => $param['page'] 'page' => $param['page']
]); ])
->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $banner_items); return success('获取成功', $banner_items);
} }

View File

@@ -103,3 +103,33 @@ if (!function_exists('array_to_tree')) {
return $ret; return $ret;
} }
} }
if (!function_exists('thumb')) {
/**
* 获取缩略图
* @param string $url 图片地址
* @return string
*/
function thumb(?string $url): string
{
if (empty($url)) {
return '';
}
if (
str_contains($url, '_thumb') ||
\think\helper\Str::startsWith($url, ['http://', 'https://']) ||
!\think\helper\Str::endsWith($url, ['.png', '.jpg', '.jpeg', '.gif', '.tif', '.svg', '.webp', '.bmp'])
) {
return $url;
}
$idx = mb_strripos($url, '.', 0, 'utf-8');
if ($idx === false) {
return $url;
}
$len = mb_strlen($url, 'utf-8');
return mb_substr($url, 0, $idx, 'utf-8') . '_thumb' . mb_substr($url, $idx, $len - $idx, 'utf-8');
}
}

View File

@@ -71,36 +71,6 @@ if (!function_exists('style')) {
} }
} }
if (!function_exists('thumb')) {
/**
* 获取缩略图
* @param string $url 图片地址
* @return string
*/
function thumb(string $url): string
{
if (empty($url)) {
return '';
}
if (
str_contains($url, '_thumb') ||
\think\helper\Str::startsWith($url, ['http://', 'https://']) ||
!\think\helper\Str::endsWith($url, ['.png', '.jpg', '.jpeg', '.gif', '.tif', '.svg', '.webp', '.bmp'])
) {
return $url;
}
$idx = mb_strripos($url, '.', 0, 'utf-8');
if ($idx === false) {
return $url;
}
$len = mb_strlen($url, 'utf-8');
return mb_substr($url, 0, $idx, 'utf-8') . '_thumb' . mb_substr($url, $idx, $len - $idx, 'utf-8');
}
}
if (!function_exists('get_path_from_img_tag')) { if (!function_exists('get_path_from_img_tag')) {
/** /**
* 从img标签中获取图片路径 * 从img标签中获取图片路径
@@ -128,7 +98,8 @@ if (!function_exists('lang_i18n')) {
* @param string $lang 语言标识 * @param string $lang 语言标识
* @return string * @return string
*/ */
function lang_i18n(string $name, array $vars = [], string $lang = '') { function lang_i18n(string $name, array $vars = [], string $lang = ''): string
{
if (is_null($name)) { if (is_null($name)) {
return ''; return '';
} }