vue中axios的封装

dataV项目

页面dispatch方法名

this.$store
.dispatch("getDatavList", this.orderType)
//res就是返回的数据
.then(res => {
})
.catch(error => {});
action。js中//定义action 
//引入api
import datavManagerAPI from "../../BackendAPI/datavManager/datavManager.js";
//定义action 

getDatavList({ commit }, orderType) {

return new Promise((resolve, reject) => {
    datavManagerAPI
.getDatavList(orderType)
.then(response => {
resolve(response.data);
})
.catch(error => {
reject(error);
});
});
},
api.js中
getDatavList(orderType) {
return request({
url: "/datav/screen/searchAll",
method: "post",
data: {
orderType: orderType
},
transformRequest: [
function(data) {
let ret = "";
for (let it in data) {
ret += encodeURIComponent(it) + "=" + encodeURIComponent(data[it]) + "&";
}
return ret;
}
],
headers: {
"Content-Type": "application/x-www-form-urlencoded"
}
});
},
 

jxHomeBroadVue项目

页面中逐个接口引入

import { report } from "../../api/api.js";
report({
orderId: this.getStore('orderId'),
}).then((res) => {
});
api.js 指定接口
// 订单安装完成验收报告-完
export const report = (data) => postform('/1008', data)
axios 封装请求方法
/**
* post方法 FormData方式
* url [请求的url地址]
* data [请求时携带的参数]
*/
export function postform(url, data = {}) {
currentUrl = url
currentData = data
url = url + '/' + versionNumber + '/' + setReqsn()

return new Promise((resolve, reject) => {
var data_2 = {
reqtime: new Date().getTime(),
stype: '0',
reqdata: JSON.stringify(data)
}
instance.post(url, qs.stringify(data_2))
.then(response => {
resolve(response.data);
}, err => {
reject(err)
})
})
}
posted @ 2021-01-25 16:53  简单就好zyx  阅读(99)  评论(0编辑  收藏  举报