添加一個axios-adapter.js
import axios from 'axios'
// 適配小程序網絡請求
axios.defaults.adapter = function (config) {
return new Promise((resolve, reject) => {
var settle = require('axios/lib/core/settle');
var buildURL = require('axios/lib/helpers/buildURL');
const url = new RegExp('^http(s)?://').test(config.url) ? config.url : config.baseURL + config.url // 判斷時相對路徑還是絕對路徑,相對路徑添加config.baseURL
uni.request({
method: config.method.toUpperCase(),
url: buildURL(url, config.params, config.paramsSerializer),
header: config.headers,
data: config.data,
dataType: config.dataType,
responseType: config.responseType,
sslVerify: config.sslVerify,
complete: function complete (response) {
response = {
data: response.data,
status: response.statusCode,
errMsg: response.errMsg,
header: response.header,
config: config
};
settle(resolve, reject, response);
}
})
})
}
在main.js導入axiso-adapter.js
import "@/plugins/axios-dapter.js"