refactor: 后面横幅分页接口图片输出修改为缩略图
This commit is contained in:
@@ -60,7 +60,8 @@ class BannerItem
|
||||
->paginate([
|
||||
'list_rows' => $param['size'],
|
||||
'page' => $param['page']
|
||||
]);
|
||||
])
|
||||
->each(fn($item) => $item->image = thumb($item->image));
|
||||
|
||||
return success('获取成功', $banner_items);
|
||||
}
|
||||
|
||||
@@ -103,3 +103,33 @@ if (!function_exists('array_to_tree')) {
|
||||
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');
|
||||
}
|
||||
}
|
||||
@@ -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')) {
|
||||
/**
|
||||
* 从img标签中获取图片路径
|
||||
@@ -128,7 +98,8 @@ if (!function_exists('lang_i18n')) {
|
||||
* @param string $lang 语言标识
|
||||
* @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)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user