fix: honor paid post preview length
This commit is contained in:
@@ -84,9 +84,14 @@ class CommunityController extends BaseApiController
|
|||||||
|
|
||||||
if (!$isAuthor && !$isPurchased) {
|
if (!$isAuthor && !$isPurchased) {
|
||||||
$data['is_locked'] = true;
|
$data['is_locked'] = true;
|
||||||
// 付费帖子只显示前20字符
|
// 付费帖子按配置展示免费预览,异常值回落到默认范围
|
||||||
if (mb_strlen($data['content']) > 20) {
|
$previewLength = (int) ($data['free_content_len'] ?? 100);
|
||||||
$data['content'] = mb_substr($data['content'], 0, 20) . '...';
|
if ($previewLength <= 0) {
|
||||||
|
$previewLength = 100;
|
||||||
|
}
|
||||||
|
$previewLength = max(20, min(500, $previewLength));
|
||||||
|
if (mb_strlen($data['content']) > $previewLength) {
|
||||||
|
$data['content'] = mb_substr($data['content'], 0, $previewLength) . '...';
|
||||||
}
|
}
|
||||||
|
|
||||||
// 图片只保留第1张
|
// 图片只保留第1张
|
||||||
|
|||||||
Reference in New Issue
Block a user