1:封装,Eap.js文件
import axios from "axios"
import qs from "qs";
const eap = {
getUserInfo: _ => JSON.parse(sessionStorage.getItem('hy-user-info')) || defUserInfo,
getToken: _ => eap.getUserInfo().userToken || defToken,
post: (url,params,cb)=>{
params = params || {}
let token = params.token || eap.getToken()
delete params.token
params.userInfo = eap.getUserInfo()
if(params.paramsType =='keyvalue'){
delete params.paramsType
params = qs.stringify(params)
}
if(params.afterParams){
params.afterParams(params)
}
return axios.post(url, params, {
headers: { 'x-token': token }
});
},
get: (url, params) => {
params = params || {}
params.token = params.token || eap.getToken()
delete params.token
params.userInfo = eap.getUserInfo()
if (params.afterParams) {
params.afterParams(params)
}
return axios.get(`${url}?${eap.queryStringify(params)}`, {
headers: { 'x-token': token }
});
},
//判断数据是否为空
isEmpty :(v, allowBlank)=>{
return v === null
|| v === undefined
|| (_.isArray(v) && ((!v.length)||v.length==0))
|| (!allowBlank ? (v === ''|| v ==='null'): false)
|| (_.isObject(v) && _.isEmpty(v));
},
//`qs.stringify` 是把一个参数对象格式化为一个字符串。
let params = { c: 'b', a: 'd' };
qs.stringify(params)
// 结果是
'c=b&a=d'
queryStringify: (params) => {
return qs.stringify(params);
},
}
export default eap
2:接口链接,SafeprodApi.js文件
import Vue from "vue";
import eap from "@lib/Eap.js";
function prefix() {
return Vue.prototype.$env != 'dev' || Vue.prototype.$useTestApi ? '/WMCenter/sfetyInput' : '/api/safeprod';
}
export default{
async getRevisionConfigInfo(params) {
return eap.post(`${prefix()}/standard/getRevisionConfigInfo`, params);
},
}
3:调用
import eap from "@lib/Eap";
import SafeprodApi from "@api/SafeprodApi.js";
async findlist(){
const resp = await SafeprodApi.getRevisionConfigInfo({
query: {versionObjectTypeCode: this.versionObjectTypeCode,}
});
if (resp.success && !eap.isEmpty(resp.data.data)) {
}
}