download.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import axios from 'axios'
  2. import { Message } from 'element-ui'
  3. import { saveAs } from 'file-saver'
  4. import { getToken } from '@/utils/auth'
  5. import errorCode from '@/utils/errorCode'
  6. import { blobValidate } from "@/utils/ruoyi";
  7. const baseURL = process.env.VUE_APP_BASE_API
  8. export default {
  9. name(name, isDelete = true) {
  10. var url = baseURL + "/common/download?fileName=" + encodeURI(name) + "&delete=" + isDelete
  11. console.log(url,78)
  12. axios({
  13. method: 'get',
  14. url: url,
  15. responseType: 'blob',
  16. headers: { 'Authorization': 'Bearer ' + getToken() }
  17. }).then(async (res) => {
  18. const isLogin = await blobValidate(res.data);
  19. if (isLogin) {
  20. const blob = new Blob([res.data])
  21. this.saveAs(blob, decodeURI(res.headers['download-filename']))
  22. } else {
  23. this.printErrMsg(res.data);
  24. }
  25. })
  26. },
  27. resource(resource) {
  28. var url = baseURL + "/common/download/resource?resource=" + encodeURI(resource);
  29. console.log(url,7)
  30. axios({
  31. method: 'get',
  32. url: url,
  33. responseType: 'blob',
  34. headers: { 'Authorization': 'Bearer ' + getToken() }
  35. }).then(async (res) => {
  36. const isLogin = await blobValidate(res.data);
  37. if (isLogin) {
  38. const blob = new Blob([res.data])
  39. this.saveAs(blob, decodeURI(res.headers['download-filename']))
  40. } else {
  41. this.printErrMsg(res.data);
  42. }
  43. })
  44. },
  45. zip(url, name) {
  46. var url = baseURL + url
  47. axios({
  48. method: 'get',
  49. url: url,
  50. responseType: 'blob',
  51. headers: { 'Authorization': 'Bearer ' + getToken() }
  52. }).then(async (res) => {
  53. const isLogin = await blobValidate(res.data);
  54. if (isLogin) {
  55. const blob = new Blob([res.data], { type: 'application/zip' })
  56. this.saveAs(blob, name)
  57. } else {
  58. this.printErrMsg(res.data);
  59. }
  60. })
  61. },
  62. saveAs(text, name, opts) {
  63. saveAs(text, name, opts);
  64. },
  65. async printErrMsg(data) {
  66. const resText = await data.text();
  67. const rspObj = JSON.parse(resText);
  68. const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
  69. Message.error(errMsg);
  70. }
  71. }