Rumah  >  Artikel  >  hujung hadapan web  >  Cara melaksanakan pertanyaan penghantaran ekspres dan penjejakan logistik dalam uniapp

Cara melaksanakan pertanyaan penghantaran ekspres dan penjejakan logistik dalam uniapp

王林
王林asal
2023-10-18 09:24:271612semak imbas

Cara melaksanakan pertanyaan penghantaran ekspres dan penjejakan logistik dalam uniapp

Cara melaksanakan pertanyaan penghantaran ekspres dan penjejakan logistik dalam uniapp

Dengan perkembangan pesat e-dagang, industri penghantaran ekspres juga telah menerima pembangunan yang hebat. Adalah sangat penting untuk pengguna mengetahui status terkini penghantaran ekspres dan maklumat penjejakan logistik yang tepat. Dalam uniapp, kami boleh melaksanakan fungsi penjejakan pertanyaan dan logistik dengan mudah.

1. Express Query

Dalam fungsi pertanyaan ekspres, kami memerlukan pengguna memasukkan nombor pesanan ekspres dan menghantar nombor pesanan ke antara muka pertanyaan ekspres yang berkaitan untuk mendapatkan maklumat berkaitan penghantaran ekspres Maklumat, seperti syarikat kurier, status semasa kurier, dsb. Berikut ialah kod sampel yang menggunakan API Express Bird untuk melaksanakan pertanyaan ekspres:

// 封装快递查询函数
function queryExpress(expressNo) {
  return new Promise((resolve, reject) => {
    uni.request({
      url: 'https://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx',
      method: 'POST',
      data: {
        ShipperCode: '', // 快递公司编码
        LogisticCode: expressNo // 用户输入的快递单号
      },
      success: (res) => {
        if (res.statusCode === 200 && res.data.Success) {
          resolve(res.data.Traces); // 返回快递轨迹信息
        } else {
          reject(res.data.Reason); // 返回错误信息
        }
      },
      fail: (err) => {
        reject('网络请求失败');
      }
    })
  });
}

// 在页面中调用快递查询
async function searchExpress() {
  try {
    const expressNo = '123456789'; // 用户输入的快递单号
    const traces = await queryExpress(expressNo);
    console.log(traces); // 打印快递轨迹信息
  } catch (err) {
    console.error(err); // 打印错误信息
  }
}

Dalam kod di atas, kami menggunakan fungsi uni.request untuk menghantar permintaan HTTP dan menghantar nombor pesanan ekspres sebagai parameter kepada antara muka pertanyaan Express Bird. Apabila respons antara muka berjaya, kami akan menyelesaikan maklumat trek ekspres yang dikembalikan dan memaparkannya pada halaman.

2. Penjejakan logistik

Fungsi penjejakan logistik merujuk kepada sentiasa mengemas kini status penghantaran ekspres terkini, membolehkan pengguna memahami status pengangkutan penghantaran ekspres dalam masa nyata. Berikut ialah contoh kod yang menggunakan fungsi setInterval untuk melaksanakan penjejakan logistik:

// 在页面加载完成后开始物流追踪
onLoad() {
  this.trackExpress();
},

// 封装物流追踪函数
trackExpress() {
  const expressNo = '123456789'; // 用户输入的快递单号
  this.intervalId = setInterval(async () => {
    try {
      const traces = await queryExpress(expressNo);
      this.updateTraces(traces); // 更新快递轨迹信息
    } catch (err) {
      console.error(err); // 打印错误信息
      clearInterval(this.intervalId); // 请求错误时,清除定时器
    }
  }, 30000); // 每30秒更新一次快递轨迹信息
},

// 更新快递轨迹信息
updateTraces(traces) {
  this.traces = traces;
}

Dalam kod di atas, kami menggunakan fungsi setInterval untuk memanggil fungsi queryExpress setiap 30 saat untuk mendapatkan maklumat trajektori terkini bagi ekspres dan kemas kini paparan halaman. Apabila ralat permintaan berlaku, kami akan mengosongkan pemasa dan menghentikan penjejakan logistik.

Melalui contoh kod di atas, kami boleh melaksanakan fungsi penjejakan pertanyaan dan logistik ekspres dalam uniapp. Dengan memasukkan nombor pesanan kurier, kami boleh mendapatkan dan memaparkan maklumat berkaitan kurier Pada masa yang sama, melalui panggilan pemasa, status kurier boleh dikemas kini dalam masa nyata, supaya pengguna dapat memahami. situasi logistik dalam masa nyata. Pelaksanaan fungsi ini dapat meningkatkan pengalaman pengguna dan meningkatkan kualiti perkhidmatan platform e-dagang.

Atas ialah kandungan terperinci Cara melaksanakan pertanyaan penghantaran ekspres dan penjejakan logistik dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn