溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中如何實現(xiàn)快遞查詢功能

發(fā)布時間:2021-06-09 11:32:39 來源:億速云 閱讀:1568 作者:小新 欄目:移動開發(fā)

這篇文章將為大家詳細講解有關(guān)微信小程序中如何實現(xiàn)快遞查詢功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

微信小程序 快遞查詢功能:

產(chǎn)品需求,

準備api,

代碼編寫。

第一步:產(chǎn)品需求,我們需要實現(xiàn)如下圖的一個功能,在文本框輸入快遞單號,點擊查詢,下面出來我們需要的快遞信息

微信小程序中如何實現(xiàn)快遞查詢功能

第二步:準備

我們先找一個快遞的api接口,通過http://apistore.baidu.com/我們可以看到很多的api,我們找一個快遞查詢的

微信小程序中如何實現(xiàn)快遞查詢功能微信小程序中如何實現(xiàn)快遞查詢功能

我們可以看到有接口地址,和一些參數(shù)。做好這個準備接下來就開始編碼工作了…………

第三步:編碼工作

我們新建一個Express的文件,然后默認文件準備齊全

微信小程序中如何實現(xiàn)快遞查詢功能

我們現(xiàn)在app.js中把我們的頭部導航改為一個綠色的背景色

微信小程序中如何實現(xiàn)快遞查詢功能

在index.json中設置導航的名稱:“快遞查詢”

微信小程序中如何實現(xiàn)快遞查詢功能

在index.wxml中,把默認的代碼刪掉,放上我們的一個文本輸入框,一個查詢按鈕

<!--index.wxml-->
<view class="container">
  <input placeholder="請輸入快遞單號" bindinput="input" />
  <button type="primary" bindtap="btnClick"> 查詢 </button> 
</view>

接下來我們需要給文本框和按鈕加上一個樣式:在index.wxss中設置

/**index.wxss**/
 input{border:1px solid #1AAD19; width:90%; height:20px; font-size:12px; padding:5px 10px;}
 button{margin-top:20px;}

到現(xiàn)在為止我們的布局就做好了如圖:

微信小程序中如何實現(xiàn)快遞查詢功能

接下來我們需要去調(diào)用我們事先準備好的api快遞查詢接口了,我們首先需要在app.js中設置一個網(wǎng)絡請求的方法getExpressInfo里面設置兩個參數(shù)一個快遞參數(shù),一個返回的方法。

利用文檔給我們提供的wx.request發(fā)起網(wǎng)絡請求url:地址路徑,里面有幾個參數(shù)muti=0返回多行完整的數(shù)據(jù),order=desc按時間由新到舊排列,com快遞的名稱(快遞公司的名稱),nu快遞單號,header:請求的參數(shù)apikey的值為我們自己百度賬號的apikey(可以登錄自己的百度賬號,在個人中心中查看)

//設置一個發(fā)起網(wǎng)絡請求的方法
 getExpressInfo:function(nu,cb){
  wx.request({
   url: 'http://apis.baidu.com/kuaidicom/express_api/express_api?muti=0&order=desc&com=zhongtong&nu='+nu, 
   data: {
    x: '' ,
    y: ''
   },
   header: {
     'apikey': '247d486b40d7c8da473a9a794f900508'
   },
   success: function(res) {
    //console.log(res.data)
    cb(res.data);
   }
  })
 },
 globalData:{
  userInfo:null
 }

有了這樣的請求方法,接下來就需要給我們的查詢按鈕添加一個點擊的事件:bindtap="btnClick",在index.js中添加查詢事件,通過app來調(diào)用實現(xiàn)寫好的請求方法getExpressInfo,在此之前我們需要先獲取一下文本框內(nèi)輸入的快遞單號,

給文本框綁定一個bindinput事件,

微信小程序中如何實現(xiàn)快遞查詢功能

獲取輸入的快遞單號。在data:對象中定義兩個變量一個輸入框的值,一個要顯示的快遞信息。

//index.js
//獲取應用實例
var app = getApp()
Page({
 data: {
  motto: 'Hello World',
  userInfo: {}, 
  einputinfo:null,//輸入框值
  expressInfo:null //快遞信息
 },
 //事件處理函數(shù)
 bindViewTap: function() {
  wx.navigateTo({
   url: '../todos/todos'
  })
 },
 onLoad: function () {
  console.log('onLoad')
  var that = this
  //調(diào)用應用實例的方法獲取全局數(shù)據(jù)
  app.getUserInfo(function(userInfo){
   //更新數(shù)據(jù)
   that.setData({
    userInfo:userInfo
   })
  })
 },
 //快遞輸入框事件
 input:function(e){
   this.setData({einputinfo:e.detail.value});
 },
 //查詢事件
 btnClick:function(){ 
  var thisexpress=this; 
  app.getExpressInfo(this.data.einputinfo,function(data){
    console.log(data);
    thisexpress.setData({expressInfo:data})
  })
 }
})

最后我們需要在index.wxml中把查詢出來的快遞信息顯示出來了,利用vx:for來循環(huán)數(shù)組。

<!--index.wxml-->
<view class="container">
  <input placeholder="請輸入快遞單號" bindinput="input" />
  <button type="primary" bindtap="btnClick"> 查詢 </button> 
</view>
<view class="expressinfo" wx:for="{{expressInfo.data}}">
  <ul>
   <li>{{item.context}}</li>
   <li>{{item.time}}</li> 
  </ul> 
</view>

最后一步設置下顯示出來的快遞信息的樣式:

/**index.wxss**/
 input{border:1px solid #1AAD19; width:90%; height:20px; font-size:12px; padding:5px 10px;}
 button{margin-top:20px;}
 .expressinfo{font-size:12px; line-height: 18px;padding:10px; text-align:left;} 
 .expressinfo li{display:block}

到這里我們的整個查詢就完成了……

微信小程序中如何實現(xiàn)快遞查詢功能

關(guān)于“微信小程序中如何實現(xiàn)快遞查詢功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI