state.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import { reactive } from 'vue'
  2. export type IAuthItem = {
  3. desc?: string
  4. name?: string
  5. }
  6. type IAnyObject = {
  7. [key: string]: any
  8. }
  9. export type IAuth = {
  10. teaching?: IAuthItem
  11. follow?: IAuthItem
  12. fingering?: IAuthItem
  13. switch?: IAuthItem
  14. speed?: IAuthItem
  15. evaluating?: IAuthItem
  16. excerpts?: IAuthItem
  17. recording?: IAuthItem
  18. }
  19. export type IAuthKey =
  20. | 'teaching'
  21. | 'follow'
  22. | 'fingering'
  23. | 'switch'
  24. | 'speed'
  25. | 'evaluating'
  26. | 'excerpts'
  27. | 'recording'
  28. const state = reactive({
  29. modular: {
  30. teaching: false,
  31. follow: false,
  32. fingering: false,
  33. switch: false,
  34. speed: false,
  35. evaluating: false,
  36. excerpts: false,
  37. recording: false,
  38. },
  39. modularDetail: {
  40. teaching: {
  41. name: '大雅金唐教材',
  42. desc: '同步乐团学习教材,让孩子在专业系统的训练下提升演奏水平',
  43. images: ['./static/teaching/1.jpg', './static/teaching/2.jpg', './static/teaching/3.jpg'],
  44. },
  45. follow: {
  46. name: '五线谱跟播',
  47. desc: '将教材转化成五线谱,并支持音符根据播放进度高亮显示,增强孩子演奏乐感',
  48. images: ['./static/follow/1.jpg'],
  49. },
  50. fingering: {
  51. name: '演奏指法跟播',
  52. desc: '根据音符时值展现演奏指法,培养孩子良好的演奏习惯',
  53. images: ['./static/fingering/1.jpg', './static/fingering/2.jpg', './static/fingering/3.jpg'],
  54. },
  55. switch: {
  56. name: '原声/伴奏切换',
  57. desc: '为不同声部学员提供专业伴奏,支持伴奏与原音切换,声临其境的感受乐曲',
  58. images: ['./static/switch/1.jpg', './static/switch/2.jpg'],
  59. },
  60. speed: {
  61. name: '播放速度调整',
  62. desc: '播放速度课根据个人练习情况调整,循序渐进的掌握每首曲目的演奏',
  63. images: ['./static/speed/1.jpg', './static/speed/2.jpg'],
  64. },
  65. evaluating: {
  66. name: '智能评测',
  67. desc: '为孩子的演奏提供专业、标准的点评',
  68. images: ['./static/evaluating/1.jpg', './static/evaluating/2.jpg', './static/evaluating/3.jpg'],
  69. },
  70. excerpts: {
  71. name: '五线谱选段播放',
  72. desc: '根据练习情况选择重难点小节循环练习,帮助孩子突破难关',
  73. images: ['./static/excerpts/1.jpg'],
  74. },
  75. recording: {
  76. name: '边录边播',
  77. desc: '打开摄像头,可以在练习时看到自己的演奏状态,还可以录制演奏的视频或音频',
  78. images: [],
  79. },
  80. } as IAuth,
  81. openKey: '' as IAuthKey | '',
  82. user: null as any,
  83. subjectId: 0,
  84. subjectLoading: false,
  85. origanSubjectId: 0, // 原始用户声部
  86. subjectOptions: [{ value: 0, text: '全部声部' }] as any[],
  87. chinesePartName: {} as IAnyObject,
  88. MusicalInstrumentClassification: {} as IAnyObject,
  89. tenantId: null as any,
  90. organId: null as any,
  91. extSubjectIds: [] as any[], // 学生的扩展声部
  92. /** 客户端类型 */
  93. clintNmae: 'orchestra',
  94. })
  95. export default state