diff --git a/server/app/api/controller/CommunityController.php b/server/app/api/controller/CommunityController.php index 03291ab..ab19971 100644 --- a/server/app/api/controller/CommunityController.php +++ b/server/app/api/controller/CommunityController.php @@ -84,9 +84,14 @@ class CommunityController extends BaseApiController if (!$isAuthor && !$isPurchased) { $data['is_locked'] = true; - // 付费帖子只显示前20字符 - if (mb_strlen($data['content']) > 20) { - $data['content'] = mb_substr($data['content'], 0, 20) . '...'; + // 付费帖子按配置展示免费预览,异常值回落到默认范围 + $previewLength = (int) ($data['free_content_len'] ?? 100); + 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张