一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

商城系統 注冊

類似滴滴打車小程序系統開發案例

2020-09-27|HiShop
導讀:類似滴滴打車小程序系統開發案例這篇文章將針對滴滴微信小程序主要功能,以及對應的數據接口和采用的組件/API技術,描述的詳細。...

類似滴滴打車小程序系統開發案例這篇文章將針對滴滴微信小程序主要功能,以及對應的數據接口和采用的組件/API技術,描述的詳細。

類似滴滴打車小程序系統開發案例

功能一:滴滴首頁

功能描述:頂部導航的制作,點擊相應的nav頁面呈現不同的內容,并且點擊時能判斷是向前還是向后自動滑出下一個nav,實現動畫過度效果。輸入起始位置模擬等待的時間。
實現原理:

  • 模擬等待時間加載效果,使用組件化的概念,創建一個template文件夾
<template name="sprinner">
    <block wx:if="{{isLoading}}">
       <view class="spinner">
           <view class="bounce1"></view>
           <view class="bounce2"></view>
           <view class="bounce3"></view>
       </view>
    </block>
</template> 

在需要用到加載效果的地方就可以直接使用,

 <import  src="/templates/sprinner.wxml" />
        <template is="sprinner" data='{{isLoading}}'>
        </template>
    //通過去設置isLoading的布爾值來判斷是否需要顯示
  • 頭部導航并且點擊時能判斷滑出方向以及自動滑出,我們可以通過一個scroll-left="{{navScrollLeft}}"這個屬性去設置,點擊nav我們可以動態的去改變這個值,從而達到這種效果。
  <scroll-view scroll-x="true" class="nav" scroll-left="{{navScrollLeft}}" scroll-with-animation="{{true}}">
        <block wx:for="{{navData}}" wx:for-index="id"  wx:for-item="navItem" wx:key="index">
            <view class="nav-item {{currentTab == id ?'active':''}}"  data-name="{{navItem.name}}" data-current="{{id}}" bindtap="switchNav">{{navItem.name}}</view>
        </block>        
    </scroll-view>

怎樣去改變這個navScrollLeft的值呢?一開始想的是去設置一下nav的導航的left,然后超出則隱藏。坑啊,根本就實現不了。無法判斷左滑出還是又滑出,后來又想到設置一個閾值。累真的難寫。好像放棄啊,還是堅持下吧,于是想到分開來取寫他們的js

switchNav(e){
   var cur = e.currentTarget.dataset.current; 
        var singleNavWidth = this.data.windowWindth/4; //獲取屏幕寬度存放放四個nav,
        this.setData({
            navScrollLeft: (cur - 1) * singleNavWidth, //點擊去減少每一個nav的值
            currentTab: cur,
        })  
 switchTab(e){
        var cur = event.detail.current;
        var singleNavWidth =55; //設置每一個nav的寬度
        this.setData({
            currentTab: cur,
            navScrollLeft: (cur - 1) * singleNavWidth //同樣動態的去改變這個值
        });
    },

第一次打理這種頂部導航效果的小程序,而卻還帶一點特效的。以后的你如果碰到了就可以回來借鑒借鑒,避免跟我一樣,在這里浪費大量的時間和精力了。我們可是要完成有效時間創建更大價值的程序猿呀...

功能二: 起始位置的選擇

為了做這個效果,反反復復的看了n遍文檔,真的是比較坑爹。微信小程序api對于地圖這方面講的確實不怎么詳細,可能是我這種對地圖處理天生迷茫的人。這里將詳細的把我遇到的問題一一列舉出來,希望也能夠幫助到今后的你去處理地圖這種東西少踩點坑吧。


這里使用到了關鍵詞搜索,逆地址解析,地址解析,切換城市列表,建議以后做這個可以了解下騰訊地圖api,還是比較方便的

var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');//導入需要使用的包,創建一個libs文件夾
var qqmapsdk;
qqmapsdk = new QQMapWX({
  key:'DHNBZ-2ZLKK-T7IJJ-AXSQW-WX5L6-A6xxxx'//申請自己的開發者密鑰
});
qqmapsdk.reverseGeocoder({ //逆地址解析api,可以根據你的經緯度去解析位置地址
  location: {
    latitude: latitude,
    longitude: longitude,
},
  success: function (res) {
   conslog.log(res)
    }
        

第一個坑:如何去獲取經緯度呢,移動markes?,天吶這要寫多少,對于大牛們來說可能分分分鐘,對于剛入門的小生來說難度還是挺大大。沉思良久,突然發現 this.mapCtx.getCenterLocation,移動地圖事件獲取地圖中心的經緯度。那么我們可以去固定一個 controls在地圖中心,去移動地圖來解析他的坐標位置,將數據綁定在下面顯示出來,于是就實現了。emmm代碼如下

 bindregionchange: function(e){  //移動地圖事件
    var that = this
    this.mapCtx.getCenterLocation({ //getCenterLocation可以獲取地圖中點的經緯度
      success: function (res) {
        app.globalData.strLatitude=res.latitude  //存放到全局去,供后面計算價格使用
        app.globalData.strLongitude= res.longitude
      qqmapsdk.reverseGeocoder({
        location: {
          latitude:  res.latitude, //通過移動地圖可以得到相應中心點的經緯度
          longitude: res.longitude,
      },
      success: function (res) {
        that.setData({
          address: res.result.address, //得到的經緯度逆地址解析得到我們的位置信息
          bluraddress: res.result.formatted_addresses.recommend
        })
      },
      });

第二個坑: 目的地調用api一樣可以實現搜索提示功能,但我需要歷史記錄也存在,并且點擊某一項我需要跳轉到首頁顯示出來,沒有歷史的頁面體驗感極差。是否?這里我是這樣實現的

qqmapsdk.getSuggestion({ //調用api實現關鍵詞搜索提示
      keyword: value, //傳遞input的值,這里要傳value不是'value',剛開始犯困。提示一下
      region: '南昌', 
      success: function(res){
        let data = res.data
      that.setData({
        address: data, 
        value
      })
 <view wx:if="{{!value==''}}" class="destination" wx:for="{{address}}" data-destination="{{item.title}}" data-end="{{item.address}}" bindtap="toIndex" wx:key="{{item.id}}">
 
<view wx:if="{{value==''}}" class="destination" wx:for="{{ entity}}" data-destination="{{item.title}}" data-end="{{item.address}}" bindtap="toIndex" wx:key="{{item.id}}">

通過wx:if去判斷輸入框。下面for不同的數組,填了第一小坑坑。接下來就會去思考,當我們點擊搜索的怎么把它加入到我們的歷史中呢?點擊獲取那個值的id然后push到歷史數組中去,是不是很nice,實現了滴滴起始位置的選擇,當然我們這這是冰山一角,強大的背后還需要去探索。

功能三: 滴滴費用計算

古人云:細節決定成敗,一個良好的微信小程序往往就是一些細節打動人心,居然是模仿,雖做不到百分百,至少還是很希望一模一樣。

分析分析,首頁點擊呼叫快車頁面不跳轉,但要顯示不同的內容。是不是也可以跟上面一樣用wx:if來處理呢?沒錯用一個repeat去承載要顯示的內容,這樣就可以不在刷星這個小技巧get到了嗎。

<repeat wx:if="{{callCart}}">
<repeat wx:else>

計算價錢一樣用到了騰訊地圖api獲取兩點之間的距離,剛才把起始點都存放在globalData里,這樣的好處是,可以隨時得到里面的數據

 let {endLatitude,endLongitude} = app.globalData  //使用ES6的語法去結構數據   
 
 qqmapsdk.calculateDistance({
            mode: 'driving',
            to:[ {
              latitude: endLatitude,
              longitude:endLongitude
          }],
          success: (res)=> {
            var num1 = 8+1.9*(res.result.elements[0].distance/1000)
            var play1 = num1.toFixed(1) //取一位小數點
            app.globalData.play= play1 //同樣存放在全局里,后面訂單結束支付要用上
            this.setData({
                play1:play1,
            })
          },

電話咨詢 預約演示 0元開店
主站蜘蛛池模板: 男同免费|久久久久久草莓香蕉步兵|亚洲女女女同性VIDEO|免费的=av不用播放器的|黄频网站在线观看|久久久88 | 在线视频免费观看爽爽爽|午夜视讯|国产传媒在线视频|综合国产一区|#NAME?|777午夜精品 | 日日操夜夜撸|日本69xxxxxxxx|性欧美videos另类hd|日本一区二区三区久久久久久久久不|国产午夜福利精品一区|久久国产亚洲精品赲碰热 | 日日婷婷夜日日天干|精品一区二区观看|亚洲热热色|一区二区欧美国产|自拍一二区|毛片无限看 | 1000部爽爽视频免费|亚欧乱色国产精品免费视频|无人在线视频观看免费|68日本xxxxxxxxx|bbbbbbbbb免费毛片视频|激情综合丁香 | 黄网免费看|成人毛片观看|人妻精品久久无码专区涩涩|一个人在线观看www高清视频|草裙社区精品视频三区|亚洲精品乱码久久久久久金桔影视 | 青草国产精品久久久久久|公和我做好爽添厨房中文字幕|99re6这里有精品热视频|六月婷婷精品视频在线观看|女教师办公室被强在线播放|日韩一区二区三区不卡视频 | 亚洲=a级大片|青草伊人久久综在合线亚洲观看|我爱=av网站|91福利视频免费观看|果冻传媒剧国产免费入口今日更新|老师露双奶头无遮挡挤奶视频 | tube国产麻豆|w两个世界完整免费观看超清完整|久久久亚洲精品动漫无码|久热久爱免费精品视频在线|国产嫩草在线视频|67149中文无码久久 | 亚洲精品自拍偷拍视频|jk校花呻吟迎合娇躯白嫩|国产一级免费看视频欧美激情|国产精品香港三级国产=av|99热最新在线|亚洲国产色播=aV在线 | 国产精品爽爽=aV在线观看|国产蝌蚪视频在线观看|超碰伊人|国产二区不卡|亚洲高清欧美日韩一区二区三区|无码成人中文字幕不卡 | 国产一区黄|午夜福利国产成人无码GIF动图|骚色综合|国产婬乱=a一级毛片多女|99久久九九国产精品国产免费|久久久久成人精品免费播放动漫 | 午夜国产在线|国产人妻无码一区二区三区婷婷|中文字幕免费在线看|2021国产麻豆剧传媒精品入口|日日射夜夜|免费久久99精品国产 | tube国产麻豆|w两个世界完整免费观看超清完整|久久久亚洲精品动漫无码|久热久爱免费精品视频在线|国产嫩草在线视频|67149中文无码久久 | 国产精品成人**免费视频|亚洲免费在线播放视频|国产激情一级毛片久久久|99久免费精品视频在线观78|97dyy97影院理论片在线|日韩成人免费视频 | 日本欧美xxx|抖音奶片无罩子52秒回放|日韩福利=av|最好免费的高清视频剪辑软件|国产绳艺SM调教室论坛|黑人巨大精品欧美一区二区区 | 久久撸视频|久久久久亚洲=aV无码专区喷水|国产成人无码精品久久二区三区|少妇扒开粉嫩小泬视频|欧洲黑大粗无码免费|亚洲成人=av | 日本成熟少妇喷浆视频|女性裸体啪啪无遮挡免费网站|99色热|日日夜夜草|99re在线视频播放|夜夜操=av | 中文字幕高清在线观看|中文字幕一区二区三区门四区五区|中文字幕久久999及|国产亚洲日韩=aV在线播放不卡|精品国产免费看|亚洲tv在线 | #NAME?|国产欧美精品久久久|欧产日产国产水蜜桃|亚色国产|国产=aV无码专区亚洲=aV毛片搜|久操久操 | 国产亚洲精=a=a在线看|玖玖在线观看视频|国产免费内射又粗又爽密桃视频|久久99精品国产麻豆蜜芽|人妻无码一区二区视频|久久99精品久久水蜜桃 | chinese一区二区|亚洲国产综合在线播放=av66|午夜视频=a|99热这里|夜夜操影院|#NAME? | 艳魔大战4春荡女淫|97超碰免费观看|台湾佬成人网|亚洲性爱视频|无码精品一区二区三区免费视频|国产污视频在线播放 | 免费=av成人|無碼噴水國產高潮=aV|www.91麻豆|亚洲欧美视频一级|欧美一站二站|91在线日本 | 国产高清在线看|奶头好大揉着好爽视频|www超碰|女人天堂=av在线|久久久久久久久久一级|99国产精品粉嫩初高生在线播放 | 亚洲日韩无砖专区一中文字目|精品在线观看视频|欧美内射深喉中文字幕|美女高潮潮喷出白浆视频|95国产精品人妻无码久|欧洲久久 | 97porm国内自拍视频|午夜精品一区二区三区在线播放|久久免费手机视频|人妻体体内射精一区二区|一级片=a|日本亚洲中文在线 | 国产无码一区二区|韩日午夜|国产精品男人天堂|免费在线观看国产黄|欧美精品黑人粗大|欧美一区观看视频 | 三级国产99久久|#NAME?|亚洲第7页|贪婪欲望之岛在线|97爱亚洲|国产精品偷乱一区二区三区 | 国产无码免费视频|色天使色妺姝在线视频|国产一级黄|777婷婷|成在线人=av免费无码高潮喷水|无码精品久久久久久人妻中字 | 3级黄色|最新在线精品国自产拍视频|干日本少妇视频|91九色免费视频|一级免费在线观看|狠狠干超碰 | 内射小寡妇无码|丰满少妇被猛烈进入=av久久|日韩=a无v码在线播放|91亚洲国产视频|男人和女人高潮免费网站|操久在线 国产精品一区2区3区|91蝌蚪在线播放|一级国产20岁美女毛片|国产伦精品一区二区三区视频不卡|少妇内射兰兰久久|日本成人=a | 大东北CHINESEXXXX露脸|中文字幕人妻偷伦在线视频|精品一区二区三区毛片|亚洲熟妇丰满xxxxx小品|毛片=av网站|#NAME? | 久久网国产|国产精品久99|国产hsck在线亚洲|性导航唐人社区|久久精品国产亚洲=aV高清色欲|久久99精品久久久久久久夜夜爽 | 小柔在教室轮流澡到高潮视频|大乳boobs巨大吃奶乳水|蜜桃=av鲁一鲁一鲁一鲁|亚洲少妇综合网|国产亚洲精品码|免费看国产精品视频 | 999精品视频一区二区三区|内射一区二区精品视频在线观看|成人无码区免费=a∨|狠狠操五月天|久久亚洲一区二区三区成人国产|日韩欧无码一区二区三区免费不卡 | 91美女视频|c=aoporm在线|狠狠色噜噜狠狠米奇777|欧美一级做一级爱=a做片性|亚洲=aV噜噜狠狠网址蜜桃|亚洲v=a一区二区 | 午夜影院污|亚洲精品一区二区三区大胸|午夜=a级理论片915影院|国产一区二区三区免费不卡|国产精品久久久久久久久久98|国产一区三区视频 | 1级黄色毛片|福利久久久|欧美又爽又大又黄=a片|国产精品拍自在线|中文字幕在线观看亚洲|国产日韩视频在线 | 49vv亚洲|成人一级网站|九月婷婷人人澡人人添人人爽|国产精品69毛片高清亚洲|五月婷婷天堂|特黄=a级毛片免费视频 | 少妇被粗大的猛烈进出|肥大BBwBBWBBw高潮|日韩中文字幕网址|手机看片国产=aV无码|国产精品一区二区免费看|#NAME? |