app.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. import { request, getRequestParams } from '@/utils/request';
  2. import { getToken } from '@/utils/auth';
  3. import { app } from '@/store/mutation-types.js';
  4. import store from '@/store';
  5. import { ref } from 'vue';
  6. /**
  7. * 得到语言列表
  8. */
  9. export function GetLanguageList() {
  10. return request({
  11. method: 'post',
  12. url: process.env.VUE_APP_FileServer,
  13. params: getRequestParams('language_manager-GetLanguageList'),
  14. data: {}
  15. });
  16. }
  17. /**
  18. * 获取词汇包
  19. * @param { Object } language_type 语言类型 word_key_list 词汇键值列表
  20. */
  21. export function GetWordPack(data) {
  22. return request({
  23. method: 'post',
  24. url: `${process.env.VUE_APP_FileServer}?MethodName=language_manager-GetWordPack`,
  25. data
  26. });
  27. }
  28. /**
  29. * 上传文件
  30. * @param {String} SecurityLevel 保密级别
  31. */
  32. export function fileUpload(SecurityLevel, file) {
  33. const { token, isHas } = getToken();
  34. const params = {
  35. UserCode: isHas ? token.user_code : '',
  36. UserType: isHas ? token.user_type : '',
  37. SessionID: isHas ? token.session_id : '',
  38. SecurityLevel
  39. };
  40. const formData = new FormData();
  41. formData.append(file.filename, file.file, file.file.name);
  42. store.commit(`app/${app.SHOW_PROGRESS}`, true);
  43. return request
  44. .postForm('/GCLSFileServer/WebFileUpload', formData, {
  45. params,
  46. transformRequest: [
  47. (data) => {
  48. return data;
  49. }
  50. ],
  51. onUploadProgress: (progressEvent) => {
  52. store.commit(`app/${app.SET_PERCENTAGE}`, (progressEvent.loaded / progressEvent.total) * 100 || 0);
  53. },
  54. timeout: 0
  55. })
  56. .finally(() => {
  57. store.commit(`app/${app.SHOW_PROGRESS}`, false);
  58. store.commit(`app/${app.SET_PERCENTAGE}`, 0);
  59. });
  60. }
  61. /**
  62. * 可取消的上传文件
  63. */
  64. export function fileUploadAbort(SecurityLevel, formData) {
  65. const { token, isHas } = getToken();
  66. let progress = ref(0);
  67. const controller = new AbortController();
  68. return {
  69. request: request.postForm('/GCLSFileServer/WebFileUpload', formData, {
  70. params: {
  71. UserCode: isHas ? token.user_code : '',
  72. UserType: isHas ? token.user_type : '',
  73. SessionID: isHas ? token.session_id : '',
  74. SecurityLevel
  75. },
  76. signal: controller.signal,
  77. transformRequest: [
  78. (data) => {
  79. return data;
  80. }
  81. ],
  82. onUploadProgress: (progressEvent) => {
  83. progress.value = (progressEvent.loaded / progressEvent.total) * 100 || 0;
  84. }
  85. }),
  86. progress,
  87. controller
  88. };
  89. }
  90. /**
  91. * 上传文件 原生类型
  92. * @param {String} SecurityLevel 保密级别
  93. */
  94. export function fileUploadPrimordial(SecurityLevel, formData) {
  95. const { token, isHas } = getToken();
  96. store.commit(`app/${app.SHOW_PROGRESS}`, true);
  97. return request
  98. .postForm('/GCLSFileServer/WebFileUpload', formData, {
  99. params: {
  100. UserCode: isHas ? token.user_code : '',
  101. UserType: isHas ? token.user_type : '',
  102. SessionID: isHas ? token.session_id : '',
  103. SecurityLevel
  104. },
  105. transformRequest: [
  106. (data) => {
  107. return data;
  108. }
  109. ],
  110. onUploadProgress: (progressEvent) => {
  111. store.commit(`app/${app.SET_PERCENTAGE}`, (progressEvent.loaded / progressEvent.total) * 100 || 0);
  112. },
  113. timeout: 0
  114. })
  115. .finally(() => {
  116. store.commit(`app/${app.SHOW_PROGRESS}`, false);
  117. store.commit(`app/${app.SET_PERCENTAGE}`, 0);
  118. });
  119. }
  120. /**
  121. * 下载文件
  122. * @param {Object} data {FileID 文件ID}
  123. */
  124. export function FileDownload(FileID) {
  125. const { token, isHas } = getToken();
  126. const params = {
  127. UserCode: isHas ? token.user_code : '',
  128. UserType: isHas ? token.user_type : '',
  129. SessionID: isHas ? token.session_id : '',
  130. FileID
  131. };
  132. return request({
  133. method: 'get',
  134. url: '/GCLSFileServer/WebFileDownload',
  135. timeout: 0,
  136. responseType: 'blob',
  137. params
  138. });
  139. }
  140. /**
  141. * 得到文件存储信息
  142. * @param {Object} data { file_id 文件ID }
  143. */
  144. export function GetFileStoreInfo(data) {
  145. return request({
  146. method: 'post',
  147. url: process.env.VUE_APP_FileServer,
  148. params: getRequestParams('file_store_manager-GetFileStoreInfo'),
  149. data
  150. });
  151. }
  152. /**
  153. * 得到系统标志
  154. */
  155. export function GetLogo() {
  156. const params = getRequestParams('sys_config_manager-GetLogo');
  157. return request({
  158. method: 'post',
  159. url: process.env.VUE_APP_FileServer,
  160. params
  161. });
  162. }
  163. /**
  164. * 得到用户能进入的子系统列表(电脑端)
  165. */
  166. export function GetChildSysList_CanEnter_PC() {
  167. const params = getRequestParams('login_control-GetChildSysList_CanEnter_PC');
  168. return request({
  169. method: 'post',
  170. url: process.env.VUE_APP_FileServer,
  171. params
  172. });
  173. }
  174. /**
  175. * 通用请求
  176. * @param {String} MethodName 方法名
  177. * @param {Object} data
  178. */
  179. export function getContentFile(MethodName, data) {
  180. const params = getRequestParams(MethodName);
  181. return request({
  182. method: 'post',
  183. url: process.env.VUE_APP_FileServer,
  184. data,
  185. params
  186. });
  187. }
  188. /**
  189. * 得到验证码图像
  190. * @param { Object } data
  191. * @returns
  192. */
  193. export function GetVerificationCodeImage(data) {
  194. const params = getRequestParams('login_control-GetVerificationCodeImage');
  195. return request({
  196. method: 'post',
  197. url: process.env.VUE_APP_FileServer,
  198. params,
  199. data
  200. });
  201. }
  202. /**
  203. * 得到文件 ID 与文件信息的映射
  204. * @param {Object} data
  205. */
  206. export function GetFileInfoMap(data) {
  207. return request({
  208. method: 'post',
  209. url: process.env.VUE_APP_FileServer,
  210. params: getRequestParams('file_store_manager-GetFileInfoMap'),
  211. data
  212. });
  213. }
  214. /**
  215. * 获取文件静态资源
  216. */
  217. export function GetFileResource(data) {
  218. return request({
  219. method: 'post',
  220. url: process.env.VUE_APP_FileServer,
  221. params: getRequestParams('file_resource_manager-GetFileResource'),
  222. data
  223. });
  224. }
  225. /**
  226. * 得到分享配置
  227. * @param {object} data
  228. * @returns {object} {exercise_share_url_path 练习题分享链接的路径}
  229. */
  230. export function GetShareConfig(data) {
  231. return request({
  232. method: 'post',
  233. url: process.env.VUE_APP_FileServer,
  234. params: getRequestParams('sys_config_manager-GetShareConfig'),
  235. data
  236. });
  237. }