index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const WXAPI = require('apifm-wxapi')
  2. const app = getApp()
  3. Page({
  4. data: {},
  5. onLoad: function (e) {
  6. this.data.orderId = e.id
  7. this.data.trackingNumber = e.trackingNumber
  8. this.orderDetail()
  9. },
  10. onShow: function () {
  11. },
  12. async orderDetail() {
  13. // https://www.yuque.com/apifm/nu0f75/oamel8
  14. const res = await WXAPI.orderDetail(wx.getStorageSync('token'), this.data.orderId)
  15. if (res.code != 0) {
  16. wx.showModal({
  17. title: '错误',
  18. content: res.msg,
  19. showCancel: false,
  20. success: () => {
  21. wx.navigateBack()
  22. }
  23. })
  24. return;
  25. }
  26. const orderLogisticsShippers = res.data.orderLogisticsShippers
  27. let trackingNumber = this.data.trackingNumber
  28. if (!trackingNumber) {
  29. trackingNumber = res.data.logistics.trackingNumber
  30. }
  31. let shipperName = this.data.shipperName
  32. if (!shipperName) {
  33. shipperName = res.data.logistics.shipperName
  34. }
  35. let logisticsTraces = null
  36. if (this.data.trackingNumber && orderLogisticsShippers) {
  37. // 查看子快递单
  38. const entity = orderLogisticsShippers.find(ele => { return ele.trackingNumber == this.data.trackingNumber })
  39. if (entity.traces) {
  40. entity.tracesArray = JSON.parse (entity.traces)
  41. logisticsTraces = entity.tracesArray.reverse()
  42. }
  43. } else {
  44. if (res.data.logisticsTraces) {
  45. logisticsTraces = res.data.logisticsTraces.reverse()
  46. }
  47. }
  48. this.setData({
  49. trackingNumber,
  50. shipperName,
  51. orderDetail: res.data,
  52. logisticsTraces
  53. });
  54. },
  55. })