chore: freeze guide and explain update
This commit is contained in:
@@ -12,8 +12,13 @@ import {
|
||||
museumContentRepository,
|
||||
type MuseumContentRepository
|
||||
} from '@/repositories/MuseumContentRepository'
|
||||
import {
|
||||
staticMuseumContentProvider,
|
||||
type ExplainContentProvider
|
||||
} from '@/data/providers/staticMuseumContentProvider'
|
||||
|
||||
export interface ExplainRepository {
|
||||
listExplainExhibits(): Promise<MuseumExhibit[]>
|
||||
listExhibits(): Promise<MuseumExhibit[]>
|
||||
getExhibitById(id: string): Promise<MuseumExhibit | null>
|
||||
listHalls(): Promise<MuseumHall[]>
|
||||
@@ -28,9 +33,14 @@ const trackTitleFor = (exhibit: MuseumExhibit) => `${exhibit.name}讲解`
|
||||
export class DefaultExplainRepository implements ExplainRepository {
|
||||
constructor(
|
||||
private readonly content: MuseumContentRepository = museumContentRepository,
|
||||
private readonly media: MediaRepository = mediaRepository
|
||||
private readonly media: MediaRepository = mediaRepository,
|
||||
private readonly explainContent: ExplainContentProvider = staticMuseumContentProvider
|
||||
) {}
|
||||
|
||||
listExplainExhibits() {
|
||||
return this.explainContent.listExplainExhibits()
|
||||
}
|
||||
|
||||
listExhibits() {
|
||||
return this.content.listExhibits()
|
||||
}
|
||||
@@ -48,6 +58,9 @@ export class DefaultExplainRepository implements ExplainRepository {
|
||||
}
|
||||
|
||||
async listTracks() {
|
||||
const tracks = await this.explainContent.listTracks()
|
||||
if (tracks.length) return tracks
|
||||
|
||||
const exhibits = await this.content.listExhibits()
|
||||
|
||||
return Promise.all(exhibits.map(async (exhibit): Promise<ExplainTrack> => {
|
||||
@@ -75,8 +88,8 @@ export class DefaultExplainRepository implements ExplainRepository {
|
||||
async searchExplain(keyword = '') {
|
||||
const normalizedKeyword = keyword.trim().toLowerCase()
|
||||
const [exhibits, halls] = await Promise.all([
|
||||
this.content.listExhibits(),
|
||||
this.content.listHalls()
|
||||
this.explainContent.listExplainExhibits(),
|
||||
this.explainContent.listHalls()
|
||||
])
|
||||
|
||||
const exhibitItems = exhibits
|
||||
|
||||
Reference in New Issue
Block a user