fix(systemconfig): 首页入口展示开关与发布选项编码修复
This commit is contained in:
@@ -3,11 +3,18 @@ package systemconfig
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"hfb_sys/backend/internal/model"
|
||||
)
|
||||
|
||||
const homeEntriesEnabledConfigKey = "mobile.home_entries_enabled"
|
||||
|
||||
func defaultHomeEntriesEnabledConfigValue() string {
|
||||
return "false"
|
||||
}
|
||||
|
||||
func (s *Service) HomeAnnouncements(ctx context.Context) (*HomeAnnouncementsDTO, error) {
|
||||
if s.repo == nil {
|
||||
return nil, ErrDependencyUnavailable
|
||||
@@ -43,12 +50,17 @@ func (s *Service) HomeConfig(ctx context.Context, siteCode string) (*HomeConfigD
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
homeEntriesEnabled, err := s.homeEntriesEnabled(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
config := &HomeConfigDTO{
|
||||
Announcements: announcements,
|
||||
Banners: banners,
|
||||
PublishOptions: publishOptions,
|
||||
AWRecycle: awRecycle,
|
||||
CooperationFeedback: cooperationFeedback,
|
||||
HomeEntriesEnabled: homeEntriesEnabled,
|
||||
}
|
||||
s.applySiteHomeOverrides(ctx, siteCode, config)
|
||||
return config, nil
|
||||
@@ -147,3 +159,16 @@ func (s *Service) cooperationFeedback(ctx context.Context) (CooperationFeedbackC
|
||||
}
|
||||
return normalizeCooperationFeedback(item), nil
|
||||
}
|
||||
|
||||
func (s *Service) homeEntriesEnabled(ctx context.Context) (bool, error) {
|
||||
value, err := s.repo.FindValue(ctx, homeEntriesEnabledConfigKey)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return parseHomeEntriesEnabled(value), nil
|
||||
}
|
||||
|
||||
func parseHomeEntriesEnabled(value string) bool {
|
||||
enabled, err := strconv.ParseBool(strings.TrimSpace(value))
|
||||
return err == nil && enabled
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user