import { reactive } from 'vue'

export const storeData = reactive({
  platformType: 'STUDENT' as 'STUDENT' | 'TEACHER' | 'SCHOOL',
})

export const musicInfo = reactive({
  id: '',
  /** 原音 */
  audioFileUrl: '',
  /**曲谱ID */
  musicId: '',
  /**声部 */
  musicSubject: '',
  /**曲谱缓存 */
  musicSvg: '' as any,
  /** 曲谱速度 */
  speed: null,
  /**曲谱code */
  track: ''
})

export type DetailState = {
  // 当前页面加载状态
  loading: 'initail' | 'loading' | 'error' | 'success'
  // 当前模式
  mode: 'exercise' | 'homework' | 'evaluating'
  // xml 速度
  xmlSpeed: number
  // 后台设置速度
  speed: number
  // 用户设置速度
  userSpeed: number
  // 音频类型
  audioType: 'MP3' | 'MIDI'
  // 是否需要节拍器
  metronome: boolean
  // 原音地址
  audioUrlMusic: string
  // 伴奏地址
  audioUrlBackground: string
  // midi地址
  midiUrl: string
}

/**
 * 获取当前页面状态，如打开页面的模式，作业 ｜ 练习等
 */
export default reactive({
  loading: 'initail',
  mode: 'exercise',
}) as DetailState
