123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- import {Message} from "element-ui";
- import fetch from "./fetch";
- import storage from "@/framework/utils/storage";
- import lStorage from '@/utils/localStorage';
- import store from "@/store/index";
- function successResponse(vm, response, success, failed) {
- let resp = response.data;
- let result = resp.result ? resp.result : resp.Result;
- if (result === "success") {
- if (success) {
- success(resp);
- }
- } else {
- let msg = resp.message
- ? resp.message
- : resp.ResultMsg || resp.resultMsg || resp.Message;
- Message.error({ message: msg });
- if (failed) {
- failed(resp);
- }
- }
- }
- function errorResponse(vm, response, err) {
- let json = JSON.parse(JSON.stringify(response));
- if (json.message === "路由调整取消请求") return;
- console.error(response);
- if (json.response) {
- Message.error({
- message: `接口:${json.response.config.url}请求错误,错误状态为:${json.response.status}`
- });
- } else {
- console.error(vm, response, err);
- Message.error({ message: "请求错误" });
- }
- }
- function downFile(blob, fileName, success) {
- // 非IE下载
- if ("download" in document.createElement("a")) {
- let link = document.createElement("a");
- link.href = window.URL.createObjectURL(blob); // 创建下载的链接
- link.download = fileName; // 下载后文件名
- link.style.display = "none";
- document.body.appendChild(link);
- link.click(); // 点击下载
- window.URL.revokeObjectURL(link.href); // 释放掉blob对象
- document.body.removeChild(link); // 下载完成移除元素
- success && success()
- } else {
- // IE10+下载
- window.navigator.msSaveBlob(blob, fileName);
- success && success()
- }
- }
- export default {
- getJson: function(url, data, success, failed, err) {
- let ssoToken = store.state.ssoToken
- ? store.state.ssoToken
- : lStorage.get("ssoToken");
- let ProjectId = store.state.layout.projectId
- ? store.state.layout.projectId
- : lStorage.get("projectId");
- let userName = store.state.layout.userInfo.userName
- ? store.state.layout.userInfo.userName
- : storage.get("user_name");
- let group_code = store.state.layout.group_code
- ? store.state.layout.group_code
- : lStorage.get("group_code");
- let vm = this;
- fetch({
- url: url,
- method: "get",
- params: data,
- headers: {
- projectId: ProjectId,
- token: ssoToken,
- appId: "adm",
- userId: userName,
- groupCode: group_code
- }
- })
- .then(response => {
- successResponse(vm, response, success, failed);
- })
- .catch(error => {
- errorResponse(vm, error, err);
- });
- },
- postJson: function (url, data, success, failed, err, isShowPid) {
- let ssoToken = store.state.ssoToken
- ? store.state.ssoToken
- : lStorage.get("ssoToken");
- let ProjectId = store.state.layout.projectId
- ? store.state.layout.projectId
- : lStorage.get("projectId");
- let userName = store.state.layout.userInfo.userName
- ? store.state.layout.userInfo.userName
- : storage.get("user_name");
- let group_code = store.state.layout.group_code
- ? store.state.layout.group_code
- : lStorage.get("group_code");
- let vm = this;
- let params = {
- url: url,
- method: "post",
- data: data,
- headers: {
- // projectId: ProjectId,
- token: ssoToken,
- appId: "adm",
- userId: userName,
- groupCode: group_code
- }
- }
- let params1 = {
- url: url,
- method: "post",
- data: data,
- headers: {
- projectId: ProjectId,
- token: ssoToken,
- appId: "adm",
- userId: userName,
- groupCode: group_code
- }
- }
- fetch(isShowPid ? {...params} : { ...params1})
- .then(response => {
- successResponse(vm, response, success, failed);
- })
- .catch(error => {
- errorResponse(vm, error, err);
- });
- },
- getDownload(url, requestData, success, name) {
- // 响应类型:arraybuffer, blob
- fetch
- .get(url, { params: requestData, responseType: "blob" })
- .then(resp => {
- const headers = resp.headers;
- const contentType = headers["content-type"];
- console.log("响应头信息", headers);
- if (!resp.data) {
- console.error("响应异常:", resp);
- return false;
- } else {
- console.log("下载文件:", resp);
- const blob = new Blob([resp.data], { type: contentType });
- const contentDisposition = resp.headers["content-disposition"];
- let fileName = "unknown";
- if (name) {
- fileName = name
- } else if (contentDisposition) {
- fileName = window.decodeURI(
- resp.headers["content-disposition"].split("=")[1]
- );
- }
- console.log("文件名称:", fileName);
- downFile(blob, fileName);
- success();
- }
- })
- .catch(function(error) {
- console.log(error);
- });
- },
- download(url, requestData, success) {
- // 响应类型:arraybuffer, blob
- fetch
- .post(url, requestData, { responseType: "blob" })
- .then(resp => {
- let headers = resp.headers;
- let contentType = headers["content-type"];
- console.log("响应头信息", headers);
- if (!resp.data) {
- console.error("响应异常:", resp);
- return false;
- } else {
- console.log("下载文件:", resp);
- const blob = new Blob([resp.data], { type: contentType });
- console.log({blob})
- const contentDisposition = resp.headers["content-disposition"];
- let fileName = "unknown";
- if (contentDisposition) {
- fileName = window.decodeURI(
- resp.headers["content-disposition"].split("=")[1]
- );
- }
- console.log("文件名称:", fileName);
- downFile(blob, fileName, success);
- }
- })
- .catch(function(error) {
- console.log(error);
- });
- }
- };
|