123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import axios from 'axios';
- // axios.defaults.baseURL =''
- //http request 拦截器
- // window._axiosPromiseArr = []
- axios.interceptors.request.use(function (config) {
- // 在发送请求之前做些什么
- // config.cancelToken = new axios.CancelToken(cancel => {
- // window._axiosPromiseArr.push({ cancel })
- // })
- return config;
- }, function (error) {
- // 对请求错误做些什么
- return Promise.reject(error)
- });
- // 添加响应拦截器
- axios.interceptors.response.use(function (response) {
- // 对响应数据做点什么
- return response;
- }, function (error) {
- // 对响应错误做点什么
- return Promise.reject(error)
- });
- /**
- * 封装get方法
- * @param url
- * @param data
- * @returns {Promise}
- */
- export function get(url,params={}){
- let arr = Object.entries(params).map(([key, value]) => {
- if(typeof(value) === "undefined") { // 参数如果值是undefined的时候,传参时会默认无这个字段。现在处理成空字符串
- value = ''
- }
- return [key,value]
- })
- let newParams = Object.fromEntries(arr)
- return new Promise((resolve,reject) => {
- axios.get(url,{
- params:newParams
- })
- .then(response => {
- resolve(response.data)
- })
- .catch(err => {
- reject(err)
- })
- })
- }
- /**
- * 封装post请求
- * @param url
- * @param data
- * @returns {Promise}
- */
- export function post(url,data = {}){
- let arr = Object.entries(data).map(([key, value]) => {
- if(typeof(value) === "undefined") { // 参数如果值是undefined的时候,传参时会默认无这个字段。现在处理成空字符串
- value = ''
- }
- return [key,value]
- })
- let newData = Object.fromEntries(arr)
- return new Promise((resolve,reject) => {
- axios.post(url,newData)
- .then(response => {
- resolve(response.data)
- },err => {
- reject(err)
- })
- })
- }
- /**
- * 封装patch请求
- * @param url
- * @param data
- * @returns {Promise}
- */
- export function patch(url,data = {}){
- return new Promise((resolve,reject) => {
- axios.patch(url,data)
- .then(response => {
- resolve(response.data)
- },err => {
- reject(err)
- })
- })
- }
- /**
- * 封装put请求
- * @param url
- * @param data
- * @returns {Promise}
- */
- export function put(url,data = {}){
- return new Promise((resolve,reject) => {
- axios.put(url,data)
- .then(response => {
- resolve(response.data)
- },err => {
- reject(err)
- })
- })
- }
|