import axios from "axios"; // import config from '~/config'; import { getStore } from "./mUtils"; import Md5 from "crypto-js/md5"; // axios.defaults.timeout = 12000; axios.defaults.headers = { // 'Content-Type': 'application/json', // 'Accept': 'application/json', "Content-Type": "multipart/form-data", }; // 请求拦截器 axios.interceptors.request.use( (request) => { // 如果请求是浏览器访问 // if (typeof window !== "undefined") { // if ($nuxt.$store.getters.userInfo.token && $nuxt.$store.getters.userInfo.token !== "") { // // 浏览器用户登录 token 不可删除 删除之后 用户ajax 用户登录失效 // request.headers["Authorization"] = "Token " + $nuxt.$store.getters.userInfo.token; // } else { // request.headers["Authorization"] = ''; // } // } else { // // 如果请求是服务端访问 // // console.log('当前是服务端环境') // // axios.defaults.baseURL = config.BASE_URL; // } return request; }, (error) => { return Promise.reject(error); } ); export default async (options = { method: "GET" }) => { let isdata = true; if ( options.method.toUpperCase() !== "POST" && options.method.toUpperCase() !== "PUT" && options.method.toUpperCase() !== "PATCH" && options.method.toUpperCase() !== "DELETE" ) { isdata = false; } // 发请求前 业务处理 var data = options.data; // 设置公共报文逻辑 let time = Date.parse(new Date()); let keys = ["apikey", "sign", "time"]; for (const keysKey in data) { keys.push(keysKey); } data.isTest = 1; // let key1 = keys.sort(); let key2 = key1.join("&"); let key3 = key2 + "&" + time + "&" + "HuaTeng987!@#"; // console.log(key3) // console.log(data) let sign = Md5(key3).toString(); // let apikey = getStore("apikey"); if (apikey !== null) { data.apikey = apikey; } else { data.apikey = "HT_6d671a62c1d668161552616453"; } console.log('apikey=='+data.apikey) // userId let userId = getStore("userId"); if (userId !== null) { data.userId = userId; } // 参数 data.sign = sign; data.time = time; var myheaders = {}; var mydata = data; // 如果是 post 方法 需要设置 编码格式 if (options.method === "POST") { myheaders = { "Content-Type": "multipart/form-data", }; let formData = new FormData(); for (const datakey in data) { formData.append(datakey, data[datakey]); } mydata = formData; } // try { console.log(options.url) const res = await axios({ method: options.method, url: options.url, data: mydata, params: mydata, headers: myheaders, }); return new Promise((resolve,reject)=>resolve(res.data.data)) } catch (error) { if (axios.isAxiosError(error)) { if (error.response) { // 请求已发出,服务器响应了状态码,但状态码不在 2xx 范围内 // if (error.response.status === 403) { // console.error('Access forbidden: You do not have permission to access this resource.'); // } else { // console.error(`Error: Received status code ${error.response.status}`); // } console.log(error.response) } else if (error.request) { // 请求已发出但没有收到响应 console.error('No response received:', error.request); } else { // 设置请求时发生了错误 console.error('Error setting up request:', error.message); } } else { // 处理非 Axios 错误 console.error('An unexpected error occurred:', error.message); } } };