123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- import axios from "axios";
- import { ElMessage, ElNotification } from "element-plus";
- import router from "@/router";
- import { endLoading, startLoading } from "./loading";
- import { CyMessageBox } from "@/components/cy/message-box";
- import { useProgressBarStore } from "@/pinia/progress-bar-store";
- import XEUtils from "xe-utils";
- import { stringify } from "qs";
- const service = axios.create({
- baseURL: import.meta.env.VITE_BASE_URL,
- withCredentials: true,
- timeout: 0,
- showLoading: true,
- paramsSerializer: {
- serialize: stringify,
- },
- });
- /*axios请求拦截*/
- service.interceptors.request.use(
- config => {
- if (typeof config.jdtTitle !== "undefined") {
- useProgressBarStore().initialize({
- title: config.jdtTitle,
- isOpen: true,
- closeButton: false,
- });
- } else {
- if (
- config.url !== "/caseFrontSheet/printVerify" &&
- !config.url.startsWith("/mixLabelPrint")
- ) {
- if (config.showLoading) {
- startLoading();
- }
- }
- }
- config.headers["token"] = localStorage.token;
- return config;
- },
- error => {
- endLoading();
- return Promise.reject(error);
- }
- );
- service.interceptors.response.use(
- response => {
- endLoading();
- if (response.data.code === 200 || response.data.code === 0) {
- return response.data.data;
- }
- if (response.data.code === 2002) {
- return response.data;
- }
- if (response.data.code === 201) {
- ElMessage({
- type: "success",
- title: "成功",
- duration: 3500,
- dangerouslyUseHTMLString: true,
- message: response.data.message,
- });
- return response.data.data;
- }
- if (response.data.code === 202) {
- CyMessageBox.alert({
- type: "success",
- message: response.data.message,
- dangerouslyUseHTMLString: true,
- }).then(XEUtils.noop);
- return response.data.data;
- }
- if (response.data.code === 203) {
- ElNotification({
- type: "success",
- message: response.data.message,
- duration: 3000,
- title: "成功",
- });
- return response.data.data;
- }
- if (response.data.code > 1000 && response.data.code < 2000) {
- ElMessage({
- type: "error",
- message: response.data.message,
- duration: 3500,
- grouping: true,
- });
- } else if (response.data.code > 2000 && response.data.code < 3000) {
- if (response.data.code === 2003) {
- CyMessageBox.alert({
- type: "error",
- message: response.data.message,
- title: "提示",
- dangerouslyUseHTMLString: true,
- }).then(XEUtils.noop);
- } else {
- CyMessageBox.alert({
- type: "error",
- message: response.data.message,
- title: "提示",
- }).then(XEUtils.noop);
- }
- } else if (response.data.code > 3000 && response.data.code < 4000) {
- CyMessageBox.alert({
- type: "error",
- message: response.data.message,
- title: "提示",
- showIcon: false,
- }).then(() => {
- router.push("/login").then(XEUtils.noop);
- });
- } else if (response.data.code === 5001) {
- CyMessageBox.alert({
- type: "error",
- message: response.data.message,
- title: "提示",
- }).then(XEUtils.noop);
- }
- if (response.data.code === 6001) {
- ElMessage({
- message: response.data.message,
- type: "error",
- duration: 2500,
- grouping: true,
- });
- return {
- error: true,
- data: response.data.data,
- };
- } else if (response.data.code === 6002) {
- CyMessageBox.alert({
- type: "error",
- message: response.data.message,
- title: "提示",
- }).then(XEUtils.noop);
- return Promise.reject(response.data.data);
- }
- if (response.data.code > 7000 && response.data.code < 8000) {
- CyMessageBox.alert({
- type: "error",
- message: response.data.message,
- title: "提示",
- }).then(XEUtils.noop);
- return Promise.reject(response.data);
- }
- if (response.data.data) {
- return Promise.reject(response.data);
- }
- return Promise.reject(response.data.message || "服务器内部错误");
- },
- error => {
- endLoading();
- // 取消请求,不显示 message
- if (error.code && error.code === "ERR_CANCELED") {
- useProgressBarStore().initialize({
- title: "",
- isOpen: false,
- closeButton: true,
- });
- return Promise.reject(error);
- }
- ElMessage({
- message: error,
- type: "error",
- duration: 3500,
- grouping: true,
- });
- useProgressBarStore().initialize({
- title: "",
- isOpen: false,
- closeButton: true,
- });
- return Promise.reject(error);
- }
- );
- export default service;
|