voiceMatrix.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import {
  2. displayList,
  3. serialNumberTypeList,
  4. serialNumberPositionList,
  5. switchOption,
  6. } from '@/views/book/courseware/data/common';
  7. import { getRandomNumber } from '@/utils';
  8. export { switchOption };
  9. export const alignTypeList = [
  10. { value: 'left', label: '左对齐' },
  11. { value: 'center', label: '居中对齐' },
  12. { value: 'right', label: '右对齐' },
  13. { value: 'justify', label: '两端对齐' },
  14. ];
  15. export function getVoiceMatrixProperty() {
  16. return {
  17. serial_number: 1,
  18. sn_type: serialNumberTypeList[0].value,
  19. sn_position: serialNumberPositionList[3].value,
  20. sn_display_mode: displayList[0].value,
  21. align: alignTypeList[0].value, // 对齐方式
  22. is_enable_row_play: switchOption[0].value, // 是否开启行播放
  23. is_enable_column_play: switchOption[0].value, // 是否开启列播放
  24. is_enable_record: switchOption[0].value, // 是否开启录音
  25. row_count: 2,
  26. column_count: 5,
  27. };
  28. }
  29. export function getOption() {
  30. return {
  31. content: '',
  32. mark: getRandomNumber(),
  33. lrc_data: {
  34. begin_time: 0,
  35. end_time: 0,
  36. text: '',
  37. },
  38. multilingual: [], // 多语言
  39. };
  40. }
  41. export function getVoiceMatrixData() {
  42. return {
  43. type: 'voice_matrix',
  44. title: '语音矩阵',
  45. lrc_arr: [], // lrc 文件解析后的数据
  46. // lrc 文件数据
  47. lrc_data: {
  48. name: '',
  49. url: '',
  50. id: '',
  51. file_id: '',
  52. },
  53. // 音频文件数据
  54. audio_data: {
  55. name: '',
  56. media_duration: 0,
  57. temporary_url: '',
  58. url: '',
  59. file_id: '',
  60. },
  61. option_list: Array.from({ length: 2 }, () => Array.from({ length: 5 }, getOption)),
  62. record_list: [],
  63. min_height: 100,
  64. min_width: 300,
  65. property: getVoiceMatrixProperty(),
  66. mind_map: {
  67. node_list: [{ name: '语音矩阵' }],
  68. },
  69. };
  70. }