1,externalHttp
import externalaxios from 'axios';
import {externalApi} from '@/service/api/api';
import {Message} from 'element-ui';
import {encrypt} from "@/utils/aes-util";
// externalaxios.defaults.timeout = 30000;
// externalaxios.defaults.baseURL = '';
// ****************************************************************************************
function getLocalToken() {
const token = window.sessionStorage.getItem('externalLogintoken')
return token
}
// ****************************************************************************************over
const service = externalaxios.create({
baseURL: '',
headers: {
'Content-Type': 'application/json',
'token': getLocalToken() // headers塞token
},
timeout: 60000
})
service.setToken = (token) => {
service.defaults.headers['token'] = token
window.sessionStorage.setItem('externalLogintoken', token)
}
//http request 拦截器
service.interceptors.request.use(config => {
if (sessionStorage.getItem("externalLogintoken")) {
var token = sessionStorage.getItem("externalLogintoken");
} else {
var token = null;
}
// config.data = JSON.stringify(config.data);
let encrypted = ""
if (token && token.length > 16) {
const key = token.substring(0, 16)
encrypted = encrypt(key, new Date().getTime())
}
config.headers = Object.assign({
'Content-Type': 'application/json;charset=UTF-8',
'token': token,
'Accept-Enypto-Time': encrypted.toString()
}, config.headers);
return config;
},
error => {
return Promise.reject(err);
}
);
//http response 拦截器
// 是否正在刷新的标记
let isRefreshing = false
// 重试队列,每一项将是一个待执行的函数形式
let requests = []
service.interceptors.response.use(response => {
const {code} = response.data
if (code == 401) {
sessionStorage.removeItem("externalLogintoken");
const config = response.config
if (!isRefreshing) {
isRefreshing = true
return refreshToken().then(res => {
service.setToken(res.token)
const {token} = res.token
config.headers['token'] = res.token
window.sessionStorage.setItem('externalLogintoken', res.token)
config.baseURL = ''
// 已经刷新了token,将所有队列中的请求进行重试
requests.forEach(cb => cb(token))
requests = []
return service(config)
}).catch(res => {
console.error('refreshtoken error =>', res)
//window.location.href = '/'
}).finally(() => {
isRefreshing = false
})
} else {
// 正在刷新token,将返回一个未执行resolve的promise
return new Promise((resolve) => {
// 将resolve放进队列,用一个函数形式来保存,等token刷新后直接执行
requests.push((token) => {
config.baseURL = ''
config.headers['token'] = sessionStorage.getItem("externalLogintoken")
resolve(service(config))
})
})
}
} else if (code == 70101) {
// token 获取失败
Message({
message: "授权失败,请稍后重试",
type: "error",
duration: 5 * 1000
});
requests = []
}
return response;
},
error => {
return Promise.reject(error)
}
)
export default service;
/**
* 封装get方法
* @param url
* @param data
* @returns {Promise}
*/
export function externalget(url, params = {}) {
return new Promise((resolve, reject) => {
service.get(url, {params: params})
.then(response => {
if (response) {
resolve(response.data);
} else {
resolve(null);
}
})
.catch(err => {
reject(err)
})
})
}
export function getExal(url, params = {}) {
return new Promise((resolve, reject) => {
service.get(url, {
responseType: "blob"
})
.then(response => {
if (response) {
resolve(response);
} else {
resolve(null);
}
})
.catch(err => {
reject(err)
})
})
}
export function externalpost(url, data = {}) {
return new Promise((resolve, reject) => {
service.post(url, data)
.then(response => {
if (response) {
resolve(response.data);
} else {
resolve(null);
}
}, err => {
reject(err)
})
})
}
export function externalput(url, data = {}) {
return new Promise((resolve, reject) => {
service.put(url, data)
.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) => {
// externalaxios.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) => {
// externalaxios.put(url, data)
// .then(response => {
// resolve(response.data);
// }, err => {
// reject(err)
// })
// })
// }
// /**
// * 封装delete方法
// * @param url
// * @param data
// * @returns {Promise}
// */
// export function deletes(url, params = {}) {
// return new Promise((resolve, reject) => {
// externalaxios.delete(url, {
// params: params
// })
// .then(response => {
// resolve(response.data);
// })
// .catch(err => {
// reject(err)
// })
// })
// }
function refreshToken() {
return externalApi.externalToken().then(res => res.data)
}
2.这是api
/*
* @Author: your name
* @Date: 2021-06-03 15:32:47
* @LastEditTime: 2021-08-25 14:43:24
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \shangyuan-supplychain-gypms\src\common\js\api.js
*/
import {deletes, get, post, put} from '../../service/http/http'
//新项目里面所需的方法外部
import {externalget, externalpost, getExal} from '../../service/http/externalHttp'
//库存模块api
export const stockApi = {
Addwarehouse(params) {
return post(`/supplychain-apis/storehouse`,
params
);
},
Editwarehouse(params) {
return put(`/supplychain-apis/storehouse`, params);
},
Delwarehouse(id) {
return deletes(`/supplychain-apis/storehouse/${id}`,);
},
Getwarehouse(pagedata, pageindex) {
return get('/supplychain-apis/storehouse' + '?pageSize=' + pagedata + '&pageIndex=' + pageindex);
},
GetgoodsList(id) {
return get('/supplychain-apis/product/info/find-storehouse-io-product' + '?storehouseInfoId=' + id);
},
GetgoodshaveList(id) {
return get('/supplychain-apis/storehouse/io/find-stock-by-storehouse-id' + '?storehouseInfoId=' + id);
},
Warehouseadjust(params) {
return post(`/supplychain-apis/storehouse/io/stock-transfer`,
params
);
},
Inputstore(params) {
return post(`/supplychain-apis/storehouse/io/in`,
params
);
},
Deliveryin(params) {
return post(`/supplychain-apis/storehouse/io/out`,
params
);
},
InputDetail(id) {
return get(`/supplychain-apis/storehouse/io/${id}`,);
},
Inventorylist(val) {
return get('/supplychain-apis/storehouse/io/stock-list',val );
},
allWarehousedata() {
return get(`/supplychain-apis/storehouse`)
},
details(val) {
return get('/supplychain-apis/storehouse/io/details',val);
},
Orderquery(objdata) {
return get(`/supplychain-apis/yg/order/quoted-order-list` +
"?agencyId=" + objdata.objagency +
"&syFactoryId=" + objdata.objenterprise +
"&pageIndex=" + objdata.size +
"&pageSize=" + objdata.page +
"&beginDate=" + objdata.beginDate +
"&endDate=" + objdata.endDate +
"&salesSubItemName=" + objdata.salesSubItemName +
"&orderId=" + objdata.orderId +
"&supplierId=" + objdata.supplierId +
"&salesItemCode=" + objdata.salesItemCode +
"&queryTime=" + objdata.queryTime +
"&canteenId=" + objdata.canteenId +
"&orderUpdateTime=" + objdata.orderUpdateTime
);
},
AcceptanceListquery(objdata) {
return get(`/supplychain-apis/yg/order/quoted-delivery-list` +
"?agencyId=" + objdata.objagency +
"&syFactoryId=" + objdata.objenterprise +
"&pageIndex=" + objdata.size +
"&pageSize=" + objdata.page +
"&beginDate=" + objdata.beginDate +
"&endDate=" + objdata.endDate +
"&salesSubItemName=" + objdata.salesSubItemName +
"&deliveryId=" + objdata.deliveryId +
"&supplierId=" + objdata.supplierId +
"&salesItemCode=" + objdata.salesItemCode +
"&queryTime=" + objdata.queryTime +
"&canteenId=" + objdata.canteenId +
"&orderUpdateTime=" + objdata.orderUpdateTime +
"£State=" + objdata.poundState
);
},
requireGenerate(objdata) {
return get(`/supplychain-apis/sorting/generate/yg-order/` + objdata
);
}
}
//分拣模块需要的新增接口
export const sortingmoduleApi = {
requeststyle() {
return get(`/supplychain-apis/sorting/config/get-label-style`)
},
modifystyle(params) {
return post(`/supplychain-apis/sorting/config/edit-label-style`,
params
);
},
getSetConfig() {
return get(`/supplychain-apis/sorting/config`,);
},
updatePrintLabelPolicy(val) {
return post(`/supplychain-apis/sorting/config/print-label-strategy/update`+"?value=" + val);
},
}
//报价模块api 需要token
export const externalApi = {
imgurlapi: "http://172.16.92.54:8090",
//xxxxxxxxx
externalSign(phone, message) {
return externalpost(`/supplychain-apis/account/login` + "?mobile=" + phone + "&verCode=" + message);
},
externalToken() {
return externalpost(`/supplychain-apis/account/yg-auth-token-verify`);
},
mechanismaggregate(valid) {
return externalget(`/tendering-external-api/brand/purchase/cycle/select-agency-list` +
"?syFactoryId=" + valid +
"&page=" + '' +
"&size=" + ''
);
},
requestsupplierlist(valid, startdata, enddata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-order-supplier-list` +
"?syFactoryId=" + valid +
"&beginDate=" + startdata +
"&endDate=" + enddata
);
},
requestsupplierAcceptance(valid, startdata, enddata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-delivery-supplier-list` +
"?syFactoryId=" + valid +
"&beginDate=" + startdata +
"&endDate=" + enddata
);
},
requestschool(valid, startdata, enddata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-order-canteen-list` +
"?syFactoryId=" + valid +
"&beginDate=" + startdata +
"&endDate=" + enddata
);
},
Acceptanceschool(valid, startdata, enddata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-delivery-canteen-list` +
"?syFactoryId=" + valid +
"&beginDate=" + startdata +
"&endDate=" + enddata
);
},
requestcategory(valid) {
return externalget(`/tendering-external-api/brand/purchase/cycle/select-sales-item-by-sy-factory-id` +
"?syFactoryId=" + valid
);
},
requesthelpday(val, id) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-order-date-list` +
"?planSupplierMonth=" + val +
"&syFactoryId=" + id
);
},
Acceptanceday(val, id) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-delivery-date-list` +
"?planSupplierMonth=" + val +
"&syFactoryId=" + id
);
},
requestgetcycle(objdata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/select-cycle-list` +
"?agencyId=" + objdata.objagency +
"&syFactoryId=" + objdata.objenterprise +
"&page=" + objdata.size +
"&size=" + objdata.page
);
},
requestgoodsList(objdata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-order-list` +
"?agencyId=" + objdata.objagency +
"&syFactoryId=" + objdata.objenterprise +
"&pageIndex=" + objdata.size +
"&pageSize=" + objdata.page +
"&beginDate=" + objdata.beginDate +
"&endDate=" + objdata.endDate +
"&salesSubItemName=" + objdata.salesSubItemName +
"&orderId=" + objdata.orderId +
"&supplierId=" + objdata.supplierId +
"&salesItemCode=" + objdata.salesItemCode
);
},
acceptance(objdata) {
return externalget(`/tendering-external-api/brand/purchase/cycle/quoted-delivery-list` +
"?agencyId=" + objdata.objagency +
"&syFactoryId=" + objdata.objenterprise +
"&pageIndex=" + objdata.size +
"&pageSize=" + objdata.page +
"&beginDate=" + objdata.beginDate +
"&endDate=" + objdata.endDate +
"&salesSubItemName=" + objdata.salesSubItemName +
"&orderId=" + objdata.orderId +
"&supplierId=" + objdata.supplierId +
"&salesItemCode=" + objdata.salesItemCode +
"&queryTime=" + objdata.queryTime +
"&canteenId=" + objdata.canteenId +
"&orderUpdateTime=" + objdata.orderUpdateTime
);
},
requestquotedprice(syFactoryId, cycleId) {
return externalget(`/tendering-external-api/brand/purchase/cycle/select-cycle-price-list` +
"?syFactoryId=" + syFactoryId +
"&cycleId=" + cycleId
);
},
requestSummarylist(obj) {
return externalget(`/tendering-external-api/sy/order/supplier-order/salessubitem-summary` +
"?supplierId=" + obj.supplierId
+ "&supplyDateEnd=" + obj.supplyDateEnd
+ "&supplyDateStart=" + obj.supplyDateStart
+ "&salesItemCode=" + obj.salesItemCode
+ "&salesSubItemName=" + obj.salesSubItemName
+ "&pageIndex=" + obj.pageIndex
+ "&pageSize=" + obj.pageSize
);
},
detailcollect(obj) {
return externalget(`/tendering-external-api/sy/order/supplier-order/salessubitem-summary/detail` +
"?supplierId=" + obj.supplierId
+ "&supplyDate=" + obj.supplyDate
+ "&salesSubItemCode=" + obj.salesSubItemCode
);
},
requireTarget(id) {
return externalget(`/tendering-external-api/brand/purchase/cycle/find-dinnerTarget-by-canteenId` +
"?canteenId=" + id
);
},
watchDetail(syFactoryId, cycleId) {
return externalget(`/tendering-external-api/brand/purchase/cycle/select-history-cycle-price-list` +
"?syFactoryId=" + syFactoryId +
"&cycleId=" + cycleId
);
},
changesale(postdata) {
return externalpost(`/tendering-external-api/brand/purchase/cycle/update-sales-status`, postdata);
},
UpdateNameinfo(postdata) {
return externalpost(`/tendering-external-api/brand/purchase/cycle/update-quote-sales-sub-item`, postdata);
},
Bulkquotation(postdata) {
return externalpost(`/tendering-external-api/brand/purchase/cycle/bulk-quotation`, postdata);
},
changeDownPrice(postdata) {
return externalpost(`/tendering-external-api/brand/purchase/cycle/price-reduction`, postdata);
},
requestExalorder(syFactoryId, cycleId) {
return getExal(`/tendering-external-api/brand/purchase/cycle/export-cycle-price-list` +
"?syFactoryId=" + syFactoryId +
"&cycleId=" + cycleId
);
},
AcceptanceExal(syFactoryId, cycleId) {
return getExal(`/tendering-external-api/brand/purchase/cycle/export-cycle-price-list` +
"?syFactoryId=" + syFactoryId +
"&cycleId=" + cycleId
);
},
ProInfo() {
return externalget(`/tendering-external-api/quick/check/sys/item/select-item`
);
},
PageQuickCheck(postdata) {
return externalget("/tendering-external-api/quick/check/item/jc/page-quick-check"
+ "?quickCheckDate=" + postdata.quickCheckDate
+ "&quickCheckUnitId=" + postdata.quickCheckUnitId //9132050966895287XQ
+ "&quickCheckItemCode=" + postdata.quickCheckItemCode
+ "&quickCheckSubItemCode=" + postdata.quickCheckSubItemCode
+ "&page=" + postdata.page
+ "&size=" + postdata.size
);
},
QuickCheckprint(postdata) {
return externalget("/tendering-external-api/quick/check/item/jc/page-quick-check"
+ "?quickCheckDate=" + postdata.quickCheckDate
+ "&quickCheckUnitId=" + postdata.quickCheckUnitId //9132050966895287XQ
+ "&quickCheckItemCode=" + postdata.quickCheckItemCode
+ "&quickCheckSubItemCode=" + postdata.quickCheckSubItemCode
);
},
haveJcInfo(postdata) {
return externalget("/tendering-external-api/quick/check/item/jc/list-by-date"
+ "?quickCheckDate=" + postdata.quickCheckDate
+ "&quickCheckUnitId=" + postdata.quickCheckUnitId //9132050966895287XQ
);
},
DetailInfo(postdata) {
return externalget("/tendering-external-api/quick/check/item/jc/select-byId/" + postdata
);
},
}
代码块
代码块