fix(systemconfig): 首页入口展示开关与发布选项编码修复

This commit is contained in:
yml2213
2026-10-22 20:25:57 +08:00
parent 51855a0e17
commit 2ce3320d5f
16 changed files with 591 additions and 54 deletions
+14
View File
@@ -1,8 +1,13 @@
import { defineStore } from 'pinia'
import {
defaultAWRecycleConfig,
defaultCooperationFeedbackConfig,
defaultHomeAnnouncements,
defaultHomeBanners,
defaultHomeEntriesEnabled,
type AWRecycleConfig,
type CooperationFeedbackConfig,
type HomeBannerSlide,
} from '@/features/listings/api/homeConfig'
import {
@@ -44,6 +49,9 @@ export const useMobileHomeCacheStore = defineStore('mobileHomeCache', {
scrollTop: 0,
announcements: [...defaultHomeAnnouncements] as string[],
bannerSlides: defaultHomeBanners.map(slide => ({ ...slide })) as HomeBannerSlide[],
awRecycle: { ...defaultAWRecycleConfig } as AWRecycleConfig,
cooperationFeedback: { ...defaultCooperationFeedbackConfig } as CooperationFeedbackConfig,
homeEntriesEnabled: defaultHomeEntriesEnabled,
publishOptions: { ...emptyListingPublishOptions } as ListingPublishOptions,
homeConfigLoaded: false,
}),
@@ -77,10 +85,16 @@ export const useMobileHomeCacheStore = defineStore('mobileHomeCache', {
saveHomeConfig(payload: {
announcements: string[]
bannerSlides: HomeBannerSlide[]
awRecycle: AWRecycleConfig
cooperationFeedback: CooperationFeedbackConfig
homeEntriesEnabled: boolean
publishOptions: ListingPublishOptions
}) {
this.announcements = payload.announcements
this.bannerSlides = payload.bannerSlides
this.awRecycle = payload.awRecycle
this.cooperationFeedback = payload.cooperationFeedback
this.homeEntriesEnabled = payload.homeEntriesEnabled
this.publishOptions = payload.publishOptions
this.homeConfigLoaded = true
},
+4
View File
@@ -5,6 +5,7 @@ import {
defaultCooperationFeedbackConfig,
defaultHomeAnnouncements,
defaultHomeBanners,
defaultHomeEntriesEnabled,
type AWRecycleConfig,
type CooperationFeedbackConfig,
type HomeBannerSlide,
@@ -30,6 +31,7 @@ export interface PcHomeConfigSnapshot {
awRecycle: AWRecycleConfig
cooperationFeedback: CooperationFeedbackConfig
publishOptions: ListingPublishOptions
homeEntriesEnabled: boolean
}
/** PC端首页列表/配置/滚动缓存:与页面实例解耦,从详情页返回时可无缝秒级恢复,避免回顶闪烁 */
@@ -47,6 +49,7 @@ export const usePcHomeCacheStore = defineStore('pcHomeCache', {
awRecycle: { ...defaultAWRecycleConfig } as AWRecycleConfig,
cooperationFeedback: { ...defaultCooperationFeedbackConfig } as CooperationFeedbackConfig,
publishOptions: { ...emptyListingPublishOptions } as ListingPublishOptions,
homeEntriesEnabled: defaultHomeEntriesEnabled,
homeConfigLoaded: false,
}),
getters: {
@@ -77,6 +80,7 @@ export const usePcHomeCacheStore = defineStore('pcHomeCache', {
this.awRecycle = payload.awRecycle
this.cooperationFeedback = payload.cooperationFeedback
this.publishOptions = payload.publishOptions
this.homeEntriesEnabled = payload.homeEntriesEnabled
this.homeConfigLoaded = true
},
clearList() {