system-info.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { httpApp } from "@/plugins/axiosIndex";
  2. import { getMd5FromBlob, object2QueryString } from "@/utils/utils";
  3. import { pickBy } from "lodash-es";
  4. export async function uploadFile({ file, onProgress }) {
  5. const form = new FormData();
  6. form.append("file", file);
  7. const md5 = await getMd5FromBlob(file);
  8. return httpApp.post(
  9. "/api/admin/sys/file/upload?" + object2QueryString({ type: "frontend" }),
  10. form,
  11. {
  12. headers: { "Content-Type": "multipart/form-data", md5: md5 },
  13. onUploadProgress:
  14. onProgress &&
  15. function (progressEvent) {
  16. // console.log(progressEvent);
  17. let e = {};
  18. if (progressEvent.total > 0 && progressEvent.loaded) {
  19. e.percent = (
  20. (progressEvent.loaded / progressEvent.total) *
  21. 100
  22. ).toFixed(0);
  23. }
  24. onProgress(e);
  25. },
  26. }
  27. );
  28. }
  29. export function downloadFile({ id = "", type = "" }) {
  30. const data = pickBy({ id, type }, (v) => v !== "");
  31. return httpApp.post(
  32. "/api/admin/sys/file/download?" +
  33. object2QueryString({ ...data, type: type })
  34. );
  35. }