免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

攜程小程序初體驗

發(fā)布時間:2018-06-12 10:39 所屬欄目:小程序開發(fā)教程

隨著小程序的大熱,作為一個程序猿,我也開始接觸并且大概了解了一個制作小程序的一些過程,為了提高自己的動手能力,于是乎,我開始來仿寫攜程的小程序,來實現(xiàn)一些基本功能,在仿寫的過程中,也遇到了一些難題,也有了一點收獲,希望可以通過這篇文章與大家共同交流,共同進(jìn)步。

前言

為了更好的開發(fā),我們需要準(zhǔn)備我們需要的工具:

  • Vscode :這里主要用來具體代碼的編寫
  • 微信開發(fā)者工具 :通過這個看效果圖
  • EasyMock : 通過這個網(wǎng)站可以偽造一些數(shù)據(jù)來供我們使用,非常方便。這個是我的數(shù)據(jù)接口

具體實現(xiàn)

功能效果如下

查詢功能的實現(xiàn)

1.首先需要在查詢之前獲取輸入的所在城市以及到的城市,以及時間的選擇,通過這些條件去篩選,所以需要在點擊查詢按鈕的時候綁定一個時間,需要攜帶參數(shù)去進(jìn)行查詢


<navigator class="search"  url="/pages/trainBuyContent/trainBuyContent?from={{from}}&to={{to}}&trainTime={{startDate}}">查詢</navigator>

2.需要到跳轉(zhuǎn)的頁面接收參數(shù)通過onload事件的options獲取


var from = options.from;
    var to = options.to;
    var trainTime = options.trainTime;

3.最重要的是篩選出相關(guān)數(shù)據(jù),這里需要一個for循環(huán)的判斷語句,在請求數(shù)據(jù)地址URL的時候,通過for循環(huán)和if語句找出相對應(yīng)的數(shù)據(jù)文件里面所對應(yīng)的json數(shù)據(jù)。


wx.request({
      url: API_BASE,
      success: (res) => {
        for(var i=0;i<res.data.data.trainList.length;i++){
          if (from == res.data.data.trainList[i].from && to == res.data.data.trainList[i].to && trainTime == res.data.data.trainList[i].trainTime){
            temp.push(res.data.data.trainList[i]);
          }
        }
        this.setData({
          searchedList:temp
        })
      }
    })

4.這時候再在頁面通過for循環(huán)輸出就可以了


wx:for="{{searchedList}}"
wx:key="{{item.id}}"
temp.push(res.data.data.trainList[i]);
this.setData({
          searchedList:temp
        })

*小程序頁面?zhèn)髦档姆绞剑?.url傳值2.本地儲存3.全局的app對象

訂單查詢的實現(xiàn)

這里我采用了全局的app對象保存

1.先獲取全局對象,然后在點擊確定購買的success回調(diào)函數(shù)的時,去獲取所有的信息,以一個json格式去獲取


const app = getApp();
var trainedList = app.globalData.trainedList;
var trainItem = {
          from: this.data.from, 
          to: this.data.to,  
          trainNum: this.data.trainNum,
          trainTime: this.data.trainTime,
          totalPrice: this.data.totalPrice
        };
trainedList.push(trainItem);

2.然后在相應(yīng)的頁面去獲取這個全局的數(shù)組


onLoad: function (options) {
    this.setData({
      trainedList: app.globalData.trainedList
    })
    
  },

3.通過一個for循環(huán)讓其輸出在頁面



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://m.szcjxy.com/wxmini/doc/course/24534.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服