fix: honor paid post preview length

This commit is contained in:
hajimi
2026-08-02 01:15:18 +08:00
parent 983a2ea5fa
commit dff3b67674
@@ -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张