feat: 支持教学案例展示功能
This commit is contained in:
@@ -140,3 +140,5 @@ export * from './types/member-care'
|
||||
export * from './types/body-portrait'
|
||||
|
||||
export * from './types/shop'
|
||||
|
||||
export * from './types/teaching-case'
|
||||
|
||||
36
packages/shared/src/types/teaching-case.ts
Normal file
36
packages/shared/src/types/teaching-case.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
/** Public teaching stories are separate from private member progress. */
|
||||
export interface TeachingCaseFrame {
|
||||
kind: 'pair' | 'composite'
|
||||
beforeId: string
|
||||
afterId?: string
|
||||
caption: string
|
||||
beforeUrl?: string
|
||||
afterUrl?: string
|
||||
}
|
||||
export interface TeachingCaseInput {
|
||||
title: string
|
||||
displayName: string
|
||||
lessonCount: number
|
||||
background: string
|
||||
achievement: string
|
||||
frames: TeachingCaseFrame[]
|
||||
sortOrder: number
|
||||
published: boolean
|
||||
consentConfirmed: boolean
|
||||
consentNote: string
|
||||
version: number
|
||||
}
|
||||
export interface TeachingCasePublic {
|
||||
id: string
|
||||
title: string
|
||||
displayName: string
|
||||
lessonCount: number
|
||||
background: string
|
||||
achievement: string
|
||||
frames: TeachingCaseFrame[]
|
||||
}
|
||||
export interface TeachingCaseAdmin extends TeachingCasePublic, TeachingCaseInput {
|
||||
consentedAt: string | null
|
||||
}
|
||||
export interface TeachingCasePage<T = TeachingCasePublic> { items: T[]; total: number; page: number; limit: number }
|
||||
export interface TeachingCaseUpload { id: string; uploadUrl: string; formData: Record<string, string> }
|
||||
Reference in New Issue
Block a user