📅  最后修改于: 2023-12-03 15:41:02.854000             🧑  作者: Mango
这是一个基于Javascript的示例快递应用程序,可以让用户查询当地的快递信息,包括快递公司、快递单号、运输状态等。
使用快递鸟API接口,需要注册账号并申请API秘钥才可以使用。
/**
* 查询快递信息
* @param {string} company - 快递公司代码
* @param {string} number - 快递单号
* @returns {Promise<Array>} - 快递信息数组
*/
async function queryExpress(company, number) {
const params = {
RequestData: JSON.stringify({
ShipperCode: company,
LogisticCode: number
}),
EBusinessID: 'YOUR_EBUSINESS_ID',
RequestType: '1002',
DataSign: 'YOUR_DATA_SIGN',
DataType: '2'
}
const response = await fetch('http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: Object.entries(params)
.map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))
.join('&')
})
const { Success, Shippers, Traces } = await response.json()
if (Success) {
return [
{ key: '快递公司', value: Shippers[0].ShipperName },
{ key: '快递单号', value: number },
{ key: '状态', value: Traces[0].AcceptStation },
...Traces.map(trace => ({
key: new Date(trace.AcceptTime).toLocaleString(),
value: trace.AcceptStation
}))
]
} else {
return [{ key: '错误', value: '查询失败' }]
}
}