Logistics.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * @Description:
  3. * @Version: 1.0
  4. * @Autor: zhuyijun
  5. * @Date: 2021-11-21 14:58:31
  6. * @LastEditTime: 2022-02-11 14:32:42
  7. */
  8. // 导入 request 模块
  9. const request = require('request')
  10. // 自动匹配运单号所属的物流公司
  11. function autoComNumber (orderno) {
  12. const url = `https://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=${orderno}`
  13. return new Promise(function (resolve, reject) {
  14. request(url, (err, response, body) => {
  15. if (err) return reject({ status: 500, msg: err.message })
  16. // resolve(body)
  17. // console.log(body.num)
  18. body = JSON.parse(body)
  19. if (!body.auto || body.auto.length <= 0) return reject({ status: 501, msg: '无对应的物流公司' })
  20. resolve({ status: 200, msg: body.auto[0], comCode: body.auto[0].comCode })
  21. })
  22. })
  23. }
  24. async function getLogisticsInfo (req, res) {
  25. // const result = await autoComNumber(req.params.orderno)
  26. // if (result.status !== 200) {
  27. // return {
  28. // meta: {
  29. // status: 500,
  30. // message: '获取物流信息失败!'
  31. // }
  32. // }
  33. // }
  34. const dataUrl = `https://www.kuaidi100.com/query?type=jd&postid=JD0062748025909`
  35. // const dataUrl = `https://www.kuaidi100.com/query?type=${result.comCode}&postid=${req.params.orderno}`
  36. request(dataUrl, (err, response, body) => {
  37. if (err) {
  38. return res.send({
  39. meta: {
  40. status: 501,
  41. message: '获取物流信息失败!'
  42. }
  43. })
  44. }
  45. // 获取物流信息成功
  46. return res.send({
  47. meta: {
  48. status: 200,
  49. message: '获取物流信息成功!'
  50. },
  51. data: (JSON.parse(body)).data
  52. })
  53. })
  54. }
  55. module.exports = {
  56. getLogisticsInfo
  57. }