// 结果
export const result_wrong = 'wrong'
export const result_right = 'right'

// 单词闯关：第1轮
export const type_en = 1
// 单词闯关：第2轮
export const type_cn = 2
// 单词闯关：第3轮
export const type_sentence = 3

// 题干是英文
export const category_en = 1
// 题干是中文
export const category_cn = 2
export const category_link = 3
// 题干是句子
export const category_sentence = 4

// 单词闯关：入门
export const level_type_begin = 1
// 单词闯关：进阶
export const level_type_advance = 2

export interface Option {
  answer: boolean
  optionType: number
  value: string
  spell: string
  tips: string
  abbr: string
  wordId: string
  valueCategory: number
  tipsCategory: number
  accent: string
  wordAccentSpell: string
  // 选项的字母ABCD
  letter: any
  // 结果
  result: any
}

interface MemoryTip {
  method: string
  details: string
}

export interface SingleChoiceQuestion {
  titleFrom: any // null 用 any 表示
  levelId: string
  sessionId: string
  levelNum: number
  stageId: string
  stageName: string
  levelType: number
  wordId: string
  meaningId: string
  levelWordId: string
  accent: string
  title: string
  titleTips: any // null 用 any 表示
  titlePicture: string
  abbr: string
  // 题目类型
  titleCategory: number
  knowWord: any // null 用 any 表示
  strangeWord: number
  score: number
  optionList: Option[]
  titleType: number
  sentenceWordSpell: any // null 用 any 表示
  sentenceDisplaySpell: any // null 用 any 表示
  wordSpell: string
  sentenceMeaningWordFormLabel: any // null 用 any 表示
  sentenceMeaningWordFormLabelStr: any // null 用 any 表示
  sentenceMeaningWordSpell: any // null 用 any 表示
  wordTestQuestionType: any // null 用 any 表示
  wordTestQuestFlag: string
  memoryTips: MemoryTip[] | string // 可能是数组或字符串
}

interface CharItem {
  value: string
  choose: boolean
  maxChoose: number
}

export interface SpellQuestion {
  titleFrom: number // 这个例子中是数字2，不是null
  levelId: string
  sessionId: string
  levelNum: number
  stageId: string
  stageName: string
  levelType: number
  wordId: string
  meaningId: string
  levelWordId: string
  accent: string
  title: string
  titleTips: string // 这个例子中是字符串，不是null
  titlePicture: any // null 用 any 表示
  abbr: string
  titleCategory: number
  knowWord: number
  strangeWord: number
  spell: string
  wordSpell: string
  sentenceDisplaySpell: string
  wordSimpleZnDesc: string
  wordZnDesc: string
  wordEnDesc: any // null 用 any 表示
  charList: CharItem[]
  titleType: number
  sentenceMeaningWordFormLabel: number
  sentenceMeaningWordSpell: string
  wordAccent: string
  wordAccentSpell: string
  sentenceMeaningWordFormLabelStr: string
  wordTestQuestionType: any // null 用 any 表示
  wordTestQuestFlag: string
  score: number
  memoryTips: MemoryTip[] | string // 可能是数组或字符串
  reviewSuccessful: any // null 用 any 表示
}

export type Question = SingleChoiceQuestion | SpellQuestion
