download.js 856 B

1234567891011121314151617181920212223242526272829303132
  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 { blobValidate } from "@/utils/ruoyi";
  6. const baseURL = process.env.VUE_APP_BASE_API
  7. export default {
  8. zip(url, name) {
  9. var url = baseURL + url
  10. axios({
  11. method: 'get',
  12. url: url,
  13. responseType: 'blob',
  14. headers: { 'Authorization': 'Bearer ' + getToken() }
  15. }).then(async (res) => {
  16. const isLogin = await blobValidate(res.data);
  17. if (isLogin) {
  18. const blob = new Blob([res.data], { type: 'application/zip' })
  19. this.saveAs(blob, name)
  20. } else {
  21. Message.error('无效的会话,或者会话已过期,请重新登录。');
  22. }
  23. })
  24. },
  25. saveAs(text, name, opts) {
  26. saveAs(text, name, opts);
  27. }
  28. }