| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- import { httpAxios } from "@/api/ApiInstance"
- export interface AiCoursewareOutlineQuery {
- id: string
- fromType?: string
- extraPrompt?: string
- preferences?: AiCoursewarePreferences
- }
- export interface AiCoursewareGenerateQuery {
- id: string
- fromType?: string
- outline: AiCoursewareOutline
- visualPrompt?: string
- preferences?: AiCoursewarePreferences
- regeneratePageNo?: number
- }
- export interface AiCoursewarePreferences {
- lessonMinutes: number
- minPages: number
- maxPages: number
- assetStyle: "illustration" | "photo" | "mixed"
- sourceImagePolicy: "strict" | "balanced" | "creative"
- requireAudio: boolean
- requireVideo: boolean
- enableAnimations: boolean
- }
- export interface AiCoursewareOutline {
- title: string
- gradeName: string
- textbookName: string
- unitName: string
- chapterName: string
- courseType: string
- style: "cartoon" | "clean" | string
- textbookResearch?: AiCoursewareTextbookResearch
- pages: AiCoursewarePage[]
- }
- export interface AiCoursewareTextbookResearch {
- exactMatch: boolean
- confidence: "HIGH" | "MEDIUM" | "LOW" | string
- courseType: string
- contentSummary: string
- works: string[]
- verifiedFacts: string[]
- teachingObjectives: string[]
- teachingFocus: string[]
- learningActivities: string[]
- missingEvidence: string[]
- sources: Array<{
- index?: number
- title?: string
- url: string
- official?: boolean
- }>
- }
- export interface AiCoursewarePage {
- pageNo: number
- type: string
- title: string
- subtitle?: string
- bullets: string[]
- teachingStage?: string
- teachingPurpose?: string
- learningEvidence?: string
- durationMinutes?: number
- studentContent?: {
- headline?: string
- points?: string[]
- }
- activity?: {
- task?: string
- steps?: string[]
- }
- classroomAction?: {
- teacherInstruction?: string
- studentTask?: string
- interactionType?: string
- }
- visual?: {
- layout?: string
- style?: string
- mainVisual?: string
- imageKeywords?: string[]
- }
- visualPlan?: {
- layout?: string
- visualRole?: string
- focalContent?: string
- visualDensity?: "low" | "medium" | "high" | string
- mainVisual?: string
- elements?: string[]
- contentPriority?: string[]
- imageKeywords?: string[]
- style?: string
- }
- designRequirement?: string
- teacherTips?: string
- speakerNotes?: string
- interaction?: {
- type: string
- question: string
- answer?: string
- }
- imageKeywords: string[]
- image?: {
- url: string
- keyword: string
- provider: string
- width?: number
- height?: number
- score?: number
- }
- resourceBindings?: AiCoursewareResourceBinding[]
- }
- export interface AiCoursewareResourceBinding {
- resourceId: string
- resourceType: "IMG" | "VIDEO" | "SONG" | "MUSIC" | "LISTEN" | "RHYTHM" | "THEORY" | "MUSIC_WIKI" | "INSTRUMENT" | "MUSICIAN" | string
- name?: string
- contentUrl?: string
- coverUrl?: string
- dataJson?: string
- elementSubtype?: string
- purpose?: string
- dedicatedPage?: boolean
- required?: boolean
- verified?: boolean
- }
- export interface AiCoursewareTaskInfo {
- taskId: string
- status: "PENDING" | "RUNNING" | "DONE" | "FAILED"
- progress: number
- message: string
- }
- export interface AiCoursewareGenerateResult {
- context: Record<string, any>
- outline: AiCoursewareOutline
- }
- export const aiCoursewareOutlineApi = (data: AiCoursewareOutlineQuery) => {
- return httpAxios.axioseRquest({
- method: "post",
- url: "/edu-app/aiCourseware/outline",
- data
- })
- }
- export const aiCoursewareGenerateApi = (data: AiCoursewareGenerateQuery) => {
- return httpAxios.axioseRquest({
- method: "post",
- url: "/edu-app/aiCourseware/generate",
- data
- })
- }
- export const aiCoursewareTaskApi = (taskId: string) => {
- return httpAxios.axioseRquest({
- method: "get",
- url: `/edu-app/aiCourseware/task/${taskId}`
- })
- }
- export const aiCoursewareResultApi = (taskId: string) => {
- return httpAxios.axioseRquest({
- method: "get",
- url: `/edu-app/aiCourseware/task/${taskId}/result`
- })
- }
|