export type Rule = {
  code: number
  name: string
  simplename: string
  isfirst?: string
}

export type RuleResult = { p: number; rule: Rule[] }

export type RulesStore = {
  rules: RuleResult[]
}

export type City = {
  allscore: number
  code: string
  isopen: number
  lizations: { name: string; policy: number; code: number }[]
  policy: number
  provincename: string
  years: number
}
export type IUserCity = {
  cities: Array<{ letter: string; provinces: City[] }>
}

export type ExtraUserInfo = {
  city: City
  estimatedAchievement: {
    year: number
    expectedScore: number | string
    requireSubject: Rule[]
    optionalSubject: Rule[]
    provinceCode: string

    className: string | null
    createTime: string // "YYYY-MM-DD HH:MM:SS"
    createUserId: number
    createUserName: string | null
    id: number
    init: boolean
    isDelete: boolean
    isUpdateScore: number
    isVIP: boolean

    provinceName: string
    rank: number
    schoolName: string | null
    sp: number
    subjectGroup: string // "物,化,生"
    updateTime: string | null // "YYYY-MM-DD HH:MM:SS"
    updateUserId: number | null
    updateUserName: string | null
    uuid: string | null
    vipCode: string | null
    wxId: number
  }
  zyBatches: {
    batchName: string
    count: number
    itemCount: number
  }
  batchDataUrl: string
  batchName: string
  wishList: any[]
  wishListId: string | number
  isShowAi: boolean
  mobile: string
  sex: number
} & IUserInfo

export type News = {
  coverImg: string
  createTime: string
  id: number
  source: string
  summary: string
  title: string
}

export type NewsDetail = {
  author: string
  click: number
  coverImg: string
  createTime: string
  detail: string
  id: number
  summary: string
  title: string
}

export type UniversityResult = {
  address: string
  belong: string
  builddate: string
  cityName: string
  collegeCode: string
  detail: string
  features: string[]
  imglist: Image[]
  isCollect: boolean
  level: number
  logo: string
  name: string
  nature: string
  phone: string
  provinceName: string
  rank: string
  resourcecount: ResourceCount
  utype: string[]
  vrurl: string
  weburl: string
  _id: number
}
