/* * @Company: hugeInfo * @Author: ldh * @Date: 2022-02-16 11:28:12 * @LastEditTime: 2024-08-27 11:18:41 * @LastEditors: dminyi 1301963064@qq.com * @Version: 1.0.0 * @Description: axios处理方法 */ import axios from 'axios'; import { catchApiError, appUrl, getSessionStorage, info } from '../utils/utility'; // 网络异常 function networkException(err) { if (err.code >= 400) { catchApiError({ content: '抱歉! 网络异常请刷新' }); } else { catchApiError({ content: '抱歉! 网络错误' }); } } // api返回结果处理 function resHandle(resData) { const { code, data, msg } = resData; if (code === 0 || code === '0') { // let res_data = data ? aes_decrypt(data) : true; return { type: true, data }; } else if (code === 401 || code === '401') { catchApiError({ content: '抱歉! 登录状态已失效请重新登录', loginStatus: 'lose' }); return { type: false }; } else if (code === 105 || code === '105') { return { type: false, code, data, msg }; } else if (code === 106 || code === '106') { return { type: false, code, data, msg }; } else if (code === -1 || code == '-1') { catchApiError({ content: msg }); return { type: false }; } else { info({ type: 'warning', content: msg }); return { type: false }; } } export const ax = axios; export function request(value = {}) { let token = getSessionStorage('customerSystemToken'); // 无token时 if (!token && value.url !== 'ctAccount/login') { catchApiError({ content: '抱歉!登录状态已失效请重新登录', loginStatus: 'lose' }); return { type: false }; } // let data = aes_encrypt(JSON.stringify(value.data)); let data = value.data; const url = value.service === 'sys' ? `${appUrl.fileUrl}/${appUrl[value.service] || ''}/api/v1/${value.url}` : `${appUrl.baseUrl}/${appUrl[value.service] || ''}/api/v1/${value.url}`; if (value.type === 'get') { return ax .get(url, { params: data, headers: { 'Authorization': token } }) .then((response) => { return resHandle(response.data); }) .catch((err) => { networkException(err); return { type: false }; }); } else { return ax .post(url, data, { headers: { 'Authorization': token } }) .then((response) => { return resHandle(response.data); }) .catch((err) => { networkException(err); return { type: false }; }); } }