溫馨提示×

溫馨提示×

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

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

小程序商城開發(fā)實(shí)例分析

發(fā)布時(shí)間:2022-03-14 09:33:23 來源:億速云 閱讀:122 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了小程序商城開發(fā)實(shí)例分析的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇小程序商城開發(fā)實(shí)例分析文章都會(huì)有所收獲,下面我們一起來看看吧。

開發(fā)環(huán)境:WXML(HTML),WXSS(CSS),Javascript

開發(fā)工具:vscode,微信開發(fā)者工具

開發(fā)流程:下載微信開發(fā)者工具之后注冊一下就會(huì)有自己的AppID,微信小程序有官方的微信小程序開發(fā)文檔 開發(fā)文檔

代碼實(shí)現(xiàn),主頁東西也不多,主要是布局問題。 wxss代碼:

.img-box image{
  width: 100%;
  height: 100%;
}
.img-box image:after{
  content: ;
  position: absolute;
  bottom: 0;
  width: 100%;
  color: #fff;
  padding: 50px 20px;
}

家具的輪播效果實(shí)現(xiàn)

小程序的輪播實(shí)現(xiàn)是用了swiper組件,滑塊視圖容器里面有indicator-dots,autoplay,setinterval等屬性,可以設(shè)置自動(dòng)播放,時(shí)間間隔。 插入的圖片可以用wx:for來循環(huán)。

navigate的跳轉(zhuǎn)問題

在點(diǎn)擊加入購物車以后,加入綁定事件本該跳轉(zhuǎn)到另一個(gè)頁面的,但是遲遲沒有出現(xiàn)效果也沒有報(bào)錯(cuò),我以為我拼寫或路徑有問題,但我檢查之后沒有問題啊,后來終于發(fā)現(xiàn)了一個(gè)坑。 這里要跳轉(zhuǎn)的是tabBar的頁面,按照默認(rèn)的跳轉(zhuǎn)是不允許的,查看了一下開發(fā)文檔才發(fā)現(xiàn)了問題的所在。

解決辦法:把navigateTo換成switchTab就可以了 跳轉(zhuǎn)有很多種方法,具體可以查看開發(fā)文檔。

商品如何加入購物車之后如何控制購買商品的數(shù)量并計(jì)算價(jià)格

本來想做的是點(diǎn)擊圖片進(jìn)入詳情再點(diǎn)擊加入購物車就能保存到后臺(tái)的購物車?yán)?但是由于自學(xué)的知識(shí)有限,后端目前還沒學(xué),只能加入一個(gè)綁定事件跳轉(zhuǎn)到購物車。

接下來計(jì)入正題:如何控制購物車購買的數(shù)量和計(jì)算總價(jià)?先在js里面定義一個(gè)cart空的數(shù)組,我們先把這個(gè)值賦給這個(gè)空數(shù)組,之后再取這個(gè)值。之后給商品的狀態(tài)默認(rèn)為選擇狀態(tài),點(diǎn)擊一下,就可以把狀態(tài)變?yōu)槿∠T挷欢嗾f,之后計(jì)算出選擇商品的總價(jià)。

js代碼:

selectList(e){
    let selectAllStatus = this.data.selectAllStatus;
    const index=e.currentTarget.dataset.index;
    let carts=this.data.carts;
    const selected=carts[index].selected;
    carts[index].selected=!selected;
    selectAllStatus = carts[index].selected;
    // if( carts[index].selected=!selected){
    //   selectAllStatus:false;
    // }
    this.setData({
      carts,  
      selectAllStatus,
    });
    this.getTotalPrice();
  },
  deleteList(e) {
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    carts.splice(index,1);
    this.setData({
      carts: carts
    });
    if(!carts.length){
      this.setData({
        hasList: false
      });
    }else{
      this.getTotalPrice();
    }
  },
  addCount (e){
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    let num = carts[index].num;
    num++;
    carts[index].num = num
    this.setData({
      carts
    })
    this.getTotalPrice();
  },
  minuCount(e){
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    let num = carts[index].num;
    if(num<=1) return false;
    num--;
    carts[index].num = num
    this.setData({
      carts
    });
    this.getTotalPrice();
  },
  selectAll(e){
    let selectAllStatus = this.data.selectAllStatus;
    selectAllStatus = !selectAllStatus;
    let carts =this.data.carts;
    for(let i=0;i<carts.length;i++){< span="">
      if( carts[i].selected=!selectAllStatus){
        selectAllStatus:false
      }
      carts[i].selected=selectAllStatus;
      
    }
    this.setData({
      carts,
      selectAllStatus
    })
    this.getTotalPrice();
  },
  getTotalPrice(){
    let carts = this.data.carts;
    let total = 0;
    for(let i =0;i<carts.length;i++){< span="">
      // total += carts[i].num *carts[i].price;
      if(carts[i].selected){
        total+= carts[i].num * carts[i].price;

      }
    }
    this.setData({
      totalPrice:total.toFixed(2)
    })
  }

如何獲取登錄微信的用戶的頭像和信息

使用wx.getUserInfo直接獲取微信頭像,昵稱。

我們在使用小程序wx.login API進(jìn)行登錄的時(shí)候,直接使用wx.getUserInfo是不能獲取更多的信息的,如微信用戶的openid。 我這里是用的第一種方法

js代碼:

onLoad: function () {
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse){
      // 由于 getUserInfo 是網(wǎng)絡(luò)請求,可能會(huì)在 Page.onLoad 之后才返回
      // 所以此處加入 callback 以防止這種情況
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在沒有 open-type=getUserInfo 版本的兼容處理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }

關(guān)于“小程序商城開發(fā)實(shí)例分析”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“小程序商城開發(fā)實(shí)例分析”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

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

AI