app.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. import { http } from '@/utils/http';
  2. import store from '@/store';
  3. import { app } from '@/store/mutation-types';
  4. /**
  5. * @description 得到系统标志
  6. * @param {object} data 请求数据
  7. */
  8. export function GetLogo(data) {
  9. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=sys_config_manager-GetLogo`, data);
  10. }
  11. /**
  12. * 得到文件 ID 与 URL 的映射
  13. */
  14. export function GetFileURLMap(data) {
  15. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=file_store_manager-GetFileURLMap`, data);
  16. }
  17. /**
  18. * 得到文件存储信息
  19. * @param {object} data 请求数据
  20. * @param {string} data.file_id 文件 ID
  21. */
  22. export function GetFileStoreInfo(data) {
  23. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=file_store_manager-GetFileStoreInfo`, data);
  24. }
  25. /**
  26. * 上传文件
  27. * @param {string} SecurityLevel 保密级别
  28. * @param {object} file 文件对象
  29. * @param {object} option 上传选项
  30. * @param {function} option.handleUploadProgress 上传进度回调
  31. * @param {boolean} option.isGlobalprogress 是否使用全局进度条
  32. */
  33. export async function fileUpload(
  34. SecurityLevel,
  35. file,
  36. { handleUploadProgress, isGlobalprogress = false } = { isGlobalprogress: false },
  37. ) {
  38. let formData = null;
  39. if (file instanceof FormData) {
  40. formData = file;
  41. } else {
  42. formData = new FormData();
  43. formData.append(file.filename, file.file, file.file.name);
  44. }
  45. let onUploadProgress = handleUploadProgress || null;
  46. if (isGlobalprogress) {
  47. store.commit(`app/${app.SHOW_PROGRESS}`, true);
  48. onUploadProgress = ({ loaded, progress, total }) => {
  49. // 因为上传进度为 1 后,上传事件还会继续一段时间,所以这里将进度设置为 0.99
  50. let precent = progress >= 1 ? 0.99 : progress;
  51. store.commit(`app/${app.SET_UPLOAD_INFO}`, { loaded, progress: precent, total });
  52. };
  53. }
  54. const controller = new AbortController();
  55. store.commit(`app/${app.SET_UPLOAD_CONTROLLER}`, controller);
  56. try {
  57. const res = await http.postForm('/FileServer/WebFileUpload', formData, {
  58. params: {
  59. SecurityLevel,
  60. },
  61. signal: controller.signal,
  62. transformRequest: [(data) => data],
  63. onUploadProgress,
  64. timeout: 0,
  65. });
  66. store.commit(`app/${app.SET_UPLOAD_INFO}`, { progress: 1 });
  67. return res;
  68. } finally {
  69. store.commit(`app/${app.SET_UPLOAD_CONTROLLER}`, null);
  70. }
  71. }
  72. export function GetStaticResources(MethodName, data) {
  73. return http.post(`/OtherSysTool/GCLSBaseServer/SI?MethodName=${MethodName}`, data);
  74. }
  75. export function GetBookWebSIContent(MethodName, data) {
  76. return http.post(`/GCLSBookWebSI/ServiceInterface?MethodName=${MethodName}`, data);
  77. }
  78. /**
  79. * 解压 H5 游戏包并创建启动文件
  80. * @param {object} data 请求数据
  81. * @param {string} data.file_id 文件 ID
  82. * @param {string} data.index_file_name 启动文件名称
  83. */
  84. export function H5StartupFile(data) {
  85. return http.post(`/FileServer/SI?MethodName=file_store_manager-UnzipH5GamePackCreateStartupFile`, data);
  86. }
  87. /**
  88. * 解压 3D 模型包并创建启动文件
  89. * @param {object} data 请求数据
  90. * @param {string} data.file_id 文件 ID
  91. */
  92. export function Unzip3DModelPackCreateStartupFile(data) {
  93. return http.post(`/FileServer/SI?MethodName=file_store_manager-Unzip3DModelPackCreateStartupFile`, data);
  94. }
  95. export function LearnWebSI(MethodName, data) {
  96. return http.post(`/GCLSLearnWebSI/ServiceInterface?MethodName=${MethodName}`, data);
  97. }
  98. /**
  99. * 生成教材预览链接
  100. * @param {object} data 请求数据
  101. * @param {string} data.book_id 教材 ID
  102. */
  103. export function CreateBookPreviewURL(data) {
  104. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=book_preview_manager-CreateBookPreviewURL`, data);
  105. }
  106. /**
  107. * 文本转音频文件-有音色配置
  108. * @param {object} data 请求数据
  109. */
  110. export function TextToAudioFile(data) {
  111. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=tool-TextToAudioFile`, data);
  112. }
  113. /**
  114. * 得到文本转音频的配置参数列表
  115. */
  116. export function GetTextToAudioConfParamList() {
  117. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=tool-GetTextToAudioConfParamList`);
  118. }
  119. /**
  120. * 得到系统版本信息
  121. */
  122. export function GetSysVersionInfo() {
  123. return http.post(`${process.env.VUE_APP_EepServer}?MethodName=login_control-GetSysVersionInfo`);
  124. }