| | |
| | | import axios from 'axios'
|
| | | import { ElMessage } from 'element-plus'
|
| | | import axios from 'axios'
|
| | | import { ElLoading, ElMessage } from 'element-plus'
|
| | | import { saveAs } from 'file-saver'
|
| | | import { getToken } from '@/utils/auth'
|
| | | import errorCode from '@/utils/errorCode'
|
| | | import { blobValidate } from '@/utils/ruoyi'
|
| | |
|
| | | const baseURL = import.meta.env.VITE_APP_BASE_API
|
| | | let downloadLoadingInstance
|
| | |
|
| | | export default {
|
| | | name(name, isDelete = true) {
|
| | |
| | | responseType: 'blob',
|
| | | headers: { 'Authorization': 'Bearer ' + getToken() }
|
| | | }).then((res) => {
|
| | | const isBlob = blobValidate(res.data);
|
| | | const isBlob = blobValidate(res.data)
|
| | | if (isBlob) {
|
| | | const blob = new Blob([res.data])
|
| | | this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))
|
| | | } else {
|
| | | this.printErrMsg(res.data);
|
| | | this.printErrMsg(res.data)
|
| | | }
|
| | | })
|
| | | },
|
| | | resource(resource) {
|
| | | var url = baseURL + "/common/download/resource?resource=" + encodeURIComponent(resource);
|
| | | var url = baseURL + "/common/download/resource?resource=" + encodeURIComponent(resource)
|
| | | axios({
|
| | | method: 'get',
|
| | | url: url,
|
| | | responseType: 'blob',
|
| | | headers: { 'Authorization': 'Bearer ' + getToken() }
|
| | | }).then((res) => {
|
| | | const isBlob = blobValidate(res.data);
|
| | | const isBlob = blobValidate(res.data)
|
| | | if (isBlob) {
|
| | | const blob = new Blob([res.data])
|
| | | this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))
|
| | | } else {
|
| | | this.printErrMsg(res.data);
|
| | | this.printErrMsg(res.data)
|
| | | }
|
| | | })
|
| | | },
|
| | | zip(url, name) {
|
| | | var url = baseURL + url
|
| | | downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)", })
|
| | | axios({
|
| | | method: 'get',
|
| | | url: url,
|
| | | responseType: 'blob',
|
| | | headers: { 'Authorization': 'Bearer ' + getToken() }
|
| | | }).then((res) => {
|
| | | const isBlob = blobValidate(res.data);
|
| | | const isBlob = blobValidate(res.data)
|
| | | if (isBlob) {
|
| | | const blob = new Blob([res.data], { type: 'application/zip' })
|
| | | this.saveAs(blob, name)
|
| | | } else {
|
| | | this.printErrMsg(res.data);
|
| | | this.printErrMsg(res.data)
|
| | | }
|
| | | downloadLoadingInstance.close()
|
| | | }).catch((r) => {
|
| | | console.error(r)
|
| | | ElMessage.error('下载文件出现错误,请联系管理员!')
|
| | | downloadLoadingInstance.close()
|
| | | })
|
| | | },
|
| | | saveAs(text, name, opts) {
|
| | | saveAs(text, name, opts);
|
| | | saveAs(text, name, opts)
|
| | | },
|
| | | async printErrMsg(data) {
|
| | | const resText = await data.text();
|
| | | const rspObj = JSON.parse(resText);
|
| | | const resText = await data.text()
|
| | | const rspObj = JSON.parse(resText)
|
| | | const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
|
| | | ElMessage.error(errMsg);
|
| | | ElMessage.error(errMsg)
|
| | | }
|
| | | }
|
| | |
|