目錄
小程式是一個容易上手的東西, 對於新手來說,多看官方文檔,可以初步做出比較完整的小程序,正是因為簡單上手,功能實現簡單,小程序是越來越火,商業價值也越來越大。本文我們將教大家一種微信小程式-仿盒馬鮮生。
專案初覽
小程式是基於MVVM的的框架,合理利用資料綁定實現介面的更新是很關鍵的
專案功能
小程式設計過程
1.專案工具與文件
2.專案開發
3.專案發布
部分功能解析
1.首頁輪播圖
2.分類商品管理
3.購物車操作
4 .weui框架引入
總結
首頁 微信小程式 小程式開發 微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生

Dec 05, 2017 pm 04:39 PM
小程式 程式

小程式是一個容易上手的東西, 對於新手來說,多看官方文檔,可以初步做出比較完整的小程序,正是因為簡單上手,功能實現簡單,小程序是越來越火,商業價值也越來越大。本文我們將教大家一種微信小程式-仿盒馬鮮生。

專案初覽

盒馬鮮生是阿里巴巴對線下超市完全重構的新零售業態,熱度十分。

微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生
微信小程式-仿盒馬鮮生

專案功能

* 用户信息注册
* 首页几个轮播和界面交互
* 分类商品管理购买
* 购物车界面交互及其操作
* 个人信息界面
登入後複製
登入後複製
小程式設計流程

小程式是一個容易上手的東西, 對於新手來說,多看官方文檔,可以初步做出比較完整的小程序,正是因為簡單上手,功能實現簡單,小程式是越來越火,商業價值也越來越大。
  1. 1.專案工具與文件

  2. 微信web開發者工具:微信小程式官網  這是個比較好用的編輯器,對於小程式編輯很方便。

  3. 開發文件:微信小程式寶典秘籍 透過這個尋找微信小程式的API,元件,框架等等。

  4. 圖示庫: Iconfont-阿里巴巴向量圖示庫 這個可以找到自己想要的幾乎所有的小圖標,十分方便。

  5. Easy Mork: easy-mock 用於後台的模擬,得到JSON資料;

weui框架引入, 例如個人資訊介面,用weui可以很快很方便的做


2.專案開發

微信小程式開發和傳統的H5開發還是有些不同的, 容易踩坑。

小程式是基於MVVM的的框架,合理利用資料綁定實現介面的更新是很關鍵的

開發時不要一股腦的寫寫寫,多看看文檔,你會發現你不小心原生寫了個組件。 。

3.專案發布

進入開發平台,註冊專案資訊->在編輯器中上傳版本->在開發版本中選擇提交審核->審核通過->專案上線

部分功能解析

先看看我的專案目錄

    "pages": [
     "pages/index/index",  //主界面
      "pages/person/person", //个人界面
     "pages/classify/classify", //分类商品界面
     "pages/class/myFruits/myFruits", //水果商店
     "pages/class/myMeat/myMeat", //肉类食品商店
     "pages/myCart/myCart"    //购物车
     ],
登入後複製
登入後複製

1.首頁輪播圖

輪播有幾種形式,例如常見的橫向海報圖片展示, 還有橫縱向商品列表展示,頭條信息框輪換
siwper組件很好的實現了橫向海報圖片展示,比如

        <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
            <block wx:for="{{imgUrls}}" wx:key="index">
                <swiper-item>
                    <image src="{{item}}" class="slide-image"  />
                </swiper-item>
            </block>
        </swiper>
登入後複製
登入後複製
然而橫向滑動需要注意些別的細節 

首先要給swiper元件加上scroll-x-="true"  

然後給輪播的子元素父容器設定display: inline-block; white-space: nowrap;

頭條資訊框轉換採用上下輪換, 使用scroll-view嵌套swiper完成

    <scroll-view scroll-y-="true"  >
                <swiper autoplay="{{autoplay}}" interval="{{interval1}}" duration="{{duration}}" vertical="true">
                    <block wx:for="{{something}}" wx:key="index">
                         //内容 
                    </block>
                </swiper>
    </scroll-view>
登入後複製
登入後複製

2.分類商品管理

首先在index介面透過onLoad生命週期函數,
透過easy -moc取得後台數據,將必要的資訊送給全域的globalData

wx.request({
      url: 'http://www.easy-mock.com/mock/5a1ffb42583969285ab22bb7/orderOnline/orderOnline',
      complete: res => {
        this.globalData.classifyList = res.data;
      },
    })
登入後複製
登入後複製

對於資料處理,需要理清哪些是全域資訊, 哪些是局部資訊

例如所有商品的資訊,購物車裡的商品,就得放到全局中,而有些比如當前界面的狀態,一般放到當前界面的Data裡面保存

而有些個人信息,比如出生年月,帳號信息  則可以通過wx. setStorage 和wx.getStorage放入本地存儲


3.購物車操作

購物車中的操作無非是些加加減減,需要自己不斷調試,找出哪裡不合常理

透過view,button裡的bindtap等操作,實現對商品資訊的修改,購物車狀態的處理

舉個例子 減少購物車中的商品的數量操作

reduceItems: function (e) {
    let carts = app.globalData.carts;    //获取购物车的信息
    let classifyList = app.globalData.classifyList;  //获取商品的信息
    for (let key of carts) {                        //遍历购物车数组
      if (key.id === e.target.dataset.id) {         //通过WXML中 view里面的bind-id传过来的参数进行查找
        key.cartSelected = true;
        if (key.num === 1) {                  //如果数量为1还要减
          key.num--;
          key.cartSelected = false;           //购物车不选中
          key.selected = false;               //商品中不选中
          app.globalData.carts = carts.filter((item) => {    //进行购物车中商品剔除
            return item.id != e.target.dataset.id;
          })
        } else {
          key.num--;
        }
      }
    }
    let num = 0;                                 //实时更新购物车小计界面显示
    let totalPrice = 0;
    for (let key of carts) {
      if (key.cartSelected) {
        num += key.num;
        totalPrice += key.num * key.price;
      }
    }
    this.setData({                          //通过setData进行当前页面Data数据管理
      cart: app.globalData.carts,
      cartTotal: num,
      cartTotalPrice: totalPrice,
    })
  },
登入後複製
登入後複製
4 .weui框架引入

在全局CSS樣式中添加的CSS適配於所有的頁面,由此可以引入weui ,做一些介面真的很方便
    @import './styles/weui.wxss';
    登入後複製
    登入後複製
  1. 總結

  2. #微信小程式的元件,API很強大,需要不斷的探索,不斷的學習,多看文件

  3. 善於利用有效資源,像是iconfont  esay -moc weui等

  4. 切頁面要細心,善於利用彈性佈局等佈局方法,小程式的rpx確實很好用

不要一股腦的寫程式碼, 當函數具有復用性,應該要抽像出來,封裝好,這樣程式碼才易於維護,易讀

專案位址:

https: //github.com/fishman17/...   內含詳細註解


個人簡介

github : https://github.com/fishman17

信箱: 734583898@qq.com


最後如果您喜歡這個專案的話,給個star哦謝謝!

專案初覽

仿造盒馬鮮生,實現了部分功能。


#########

盒馬鮮生是阿里巴巴對線下超市完全重構的新零售業態,熱度十分

微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生

微信小程式-仿盒馬鮮生
微信小程式-仿盒馬鮮生

專案功能

* 用户信息注册
* 首页几个轮播和界面交互
* 分类商品管理购买
* 购物车界面交互及其操作
* 个人信息界面
登入後複製
登入後複製

小程式設計過程

小程式是一個容易上手的東西, 對於新手來說,多看官方文檔,可以初步做出比較完整的小程序,正是因為簡單上手,功能實現簡單,小程序是越來越火,商業價值也越來越大。

1.專案工具與文件

  1. 微信web開發者工具:微信小程式官網  這是個比較好用的編輯器,對於小程式編輯很方便。

  2. 開發文件:微信小程式寶典秘籍 透過這個尋找微信小程式的API,元件,框架等等。

  3. 圖示庫: Iconfont-阿里巴巴向量圖示庫 這個可以找到自己想要的幾乎所有的小圖標,十分方便。

  4. Easy Mork: easy-mock 用於後台的模擬,得到JSON資料;

  5. weui框架引入, 例如個人資訊介面,用weui可以很快很方便的做

2.專案開發

微信小程式開發和傳統的H5開發還是有些不同的, 容易踩坑。
小程式是基於MVVM的的框架,合理利用資料綁定實現介面的更新是很關鍵的
開發時不要一股腦的寫寫寫,多看看文檔,你會發現你不小心原生寫了個組件。 。

3.專案發布

進入開發平台,註冊專案資訊->在編輯器中上傳版本->在開發版本中選擇提交審核->審核通過->專案上線

部分功能解析

先看看我的專案目錄

    "pages": [
     "pages/index/index",  //主界面
      "pages/person/person", //个人界面
     "pages/classify/classify", //分类商品界面
     "pages/class/myFruits/myFruits", //水果商店
     "pages/class/myMeat/myMeat", //肉类食品商店
     "pages/myCart/myCart"    //购物车
     ],
登入後複製
登入後複製

1.首頁輪播圖

輪播有幾種形式,例如常見的橫向海報圖片展示, 還有橫縱向商品列表展示,頭條信息框輪換
siwper組件很好的實現了橫向海報圖片展示,比如

        <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
            <block wx:for="{{imgUrls}}" wx:key="index">
                <swiper-item>
                    <image src="{{item}}" class="slide-image"  />
                </swiper-item>
            </block>
        </swiper>
登入後複製
登入後複製

然而橫向滑動需要注意些別的細節 
首先要給swiper元件加上scroll-x-="true"  
然後給輪播的子元素父容器設定display: inline-block; white-space: nowrap;

頭條資訊框轉換採用上下輪換, 使用scroll-view嵌套swiper完成

    <scroll-view scroll-y-="true"  >
                <swiper autoplay="{{autoplay}}" interval="{{interval1}}" duration="{{duration}}" vertical="true">
                    <block wx:for="{{something}}" wx:key="index">
                         //内容 
                    </block>
                </swiper>
    </scroll-view>
登入後複製
登入後複製

2.分類商品管理

首先在index介面透過onLoad生命週期函數,
透過easy -moc取得後台數據,將必要的資訊送給全域的globalData

wx.request({
      url: 'http://www.easy-mock.com/mock/5a1ffb42583969285ab22bb7/orderOnline/orderOnline',
      complete: res => {
        this.globalData.classifyList = res.data;
      },
    })
登入後複製
登入後複製

對於資料處理,需要理清哪些是全域資訊, 哪些是局部資訊
例如所有商品的資訊,購物車裡的商品,就得放到全局中,而有些比如當前界面的狀態,一般放到當前界面的Data裡面保存

而有些個人信息,比如出生年月,帳號信息  則可以通過wx. setStorage 和wx.getStorage放入本地存儲

3.購物車操作

購物車中的操作無非是些加加減減,需要自己不斷調試,找出哪裡不合常理
透過view,button裡的bindtap等操作,實現對商品資訊的修改,購物車狀態的處理

舉個例子 減少購物車中的商品的數量操作

reduceItems: function (e) {
    let carts = app.globalData.carts;    //获取购物车的信息
    let classifyList = app.globalData.classifyList;  //获取商品的信息
    for (let key of carts) {                        //遍历购物车数组
      if (key.id === e.target.dataset.id) {         //通过WXML中 view里面的bind-id传过来的参数进行查找
        key.cartSelected = true;
        if (key.num === 1) {                  //如果数量为1还要减
          key.num--;
          key.cartSelected = false;           //购物车不选中
          key.selected = false;               //商品中不选中
          app.globalData.carts = carts.filter((item) => {    //进行购物车中商品剔除
            return item.id != e.target.dataset.id;
          })
        } else {
          key.num--;
        }
      }
    }
    let num = 0;                                 //实时更新购物车小计界面显示
    let totalPrice = 0;
    for (let key of carts) {
      if (key.cartSelected) {
        num += key.num;
        totalPrice += key.num * key.price;
      }
    }
    this.setData({                          //通过setData进行当前页面Data数据管理
      cart: app.globalData.carts,
      cartTotal: num,
      cartTotalPrice: totalPrice,
    })
  },
登入後複製
登入後複製

4 .weui框架引入

在全局CSS樣式中添加的CSS適配於所有的頁面,由此可以引入weui ,做一些介面真的很方便

@import './styles/weui.wxss';
登入後複製
登入後複製

總結

  1. #微信小程式的元件,API很強大,需要不斷的探索,不斷的學習,多看文件

  2. 善於利用有效資源,像是iconfont  esay -moc weui等

  3. 切頁面要細心,善於利用彈性佈局等佈局方法,小程式的rpx確實很好用

  4. 不要一股腦的寫程式碼, 當函數具有復用性,應該要抽像出來,封裝好,這樣程式碼才易於維護,易讀。

以上內容就是仿盒馬鮮生微信小程序,希望能幫助大家。

相關推薦:

微信小程式開發入門實例

#微信小程式視頻,音樂,圖片組件詳解

微信小程式如何實現獲取微信運動步數的案例(圖)

#

以上是微信小程式-仿盒馬鮮生的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在iPhone中使Google地圖成為預設地圖 如何在iPhone中使Google地圖成為預設地圖 Apr 17, 2024 pm 07:34 PM

iPhone上的預設地圖是Apple專有的地理位置供應商「地圖」。儘管地圖越來越好,但它在美國以外的地區運作不佳。與谷歌地圖相比,它沒有什麼可提供的。在本文中,我們討論了使用Google地圖成為iPhone上的預設地圖的可行性步驟。如何在iPhone中使Google地圖成為預設地圖將Google地圖設定為手機上的預設地圖應用程式比您想像的要容易。請依照以下步驟操作–先決條件步驟–您必須在手機上安裝Gmail。步驟1–開啟AppStore。步驟2–搜尋“Gmail”。步驟3–點選Gmail應用程式旁

如何透過C++編寫一個簡單的倒數計時程式? 如何透過C++編寫一個簡單的倒數計時程式? Nov 03, 2023 pm 01:39 PM

C++是一種廣泛使用的程式語言,在編寫倒數計時器方面非常方便且實用。倒數計時程式是一種常見的應用,它能為我們提供非常精確的時間計算和倒數功能。本文將介紹如何使用C++來寫一個簡單的倒數計時程式。實現倒數程序的關鍵就是使用計時器來計算時間的流逝。在C++中,我們可以使用time.h頭檔中的函數來實作計時器的功能。下面是一個簡單的倒數計時程式的程式碼

iPhone中缺少時鐘應用程式:如何修復 iPhone中缺少時鐘應用程式:如何修復 May 03, 2024 pm 09:19 PM

您的手機中缺少時鐘應用程式嗎?日期和時間仍將顯示在iPhone的狀態列上。但是,如果沒有時鐘應用程序,您將無法使用世界時鐘、碼錶、鬧鐘等多項功能。因此,修復時鐘應用程式的缺失應該是您的待辦事項清單的首位。這些解決方案可以幫助您解決此問題。修復1–放置時鐘應用程式如果您錯誤地從主畫面中刪除了時鐘應用程序,您可以將時鐘應用程式放回原位。步驟1–解鎖iPhone並開始向左側滑動,直到到達「應用程式庫」頁面。步驟2–接下來,在搜尋框中搜尋「時鐘」。步驟3–當您在搜尋結果中看到下方的「時鐘」時,請按住它並

如何使用任務規劃程式開啟網站 如何使用任務規劃程式開啟網站 Oct 02, 2023 pm 11:13 PM

您是否每天在大約相同的時間頻繁地造訪同一網站?這可能會導致花費大量時間打開多個瀏覽器選項卡,並在執行日常任務時使瀏覽器充滿混亂。好吧,打開它而不必手動啟動瀏覽器怎麼樣?這非常簡單,不需要您下載任何第三方應用程序,如下所示。如何設定任務計劃程序以開啟網站?按鍵,在搜尋框中鍵入任務計劃程序,然後按一下開啟。 Windows在右側側邊欄上,按一下「建立基本任務」選項。在名稱欄位中,輸入要開啟的網站的名稱,然後按一下下一步。接下來,在觸發器下,按一下時間頻率並點擊下一步。選擇您希望活動重複多長時間並點擊下一步。選擇啟

無法允許存取 iPhone 中的相機和麥克風 無法允許存取 iPhone 中的相機和麥克風 Apr 23, 2024 am 11:13 AM

您在嘗試使用應用程式時是否收到“無法允許存取攝影機和麥克風”?通常,您可以在需要提供的基礎上向特定物件授予攝影機和麥克風權限。但是,如果您拒絕權限,攝影機和麥克風將無法運作,而是顯示此錯誤訊息。解決這個問題是非常基本的,你可以在一兩分鐘內完成。修復1–提供相機、麥克風權限您可以直接在設定中提供必要的攝影機和麥克風權限。步驟1–轉到“設定”選項卡。步驟2–打開「隱私與安全」面板。步驟3–在那裡打開“相機”權限。步驟4–在裡面,您將找到已要求手機相機權限的應用程式清單。步驟5–開啟指定應用的“相機”

iOS 17:如何在「訊息」中組織iMessage應用程式 iOS 17:如何在「訊息」中組織iMessage應用程式 Sep 18, 2023 pm 05:25 PM

在iOS17中,蘋果不僅增加了幾個新的訊息功能,而且還調整了訊息應用程式的設計,使其外觀更乾淨。現在,所有iMessage應用程式和工具(如相機和照片選項)都可以透過點擊鍵盤上方和文字輸入欄位左側的「+」按鈕來存取。點擊“+”按鈕會彈出一個選單列,該列具有預設的選項順序。從頂部開始,有相機,照片,貼紙,現金(如果可用),音訊和位置。最底部是一個「更多」按鈕,點擊該按鈕時會顯示任何其他已安裝的訊息應用程式(您也可以向上滑動以顯示此隱藏清單)。如何重新組織您的iMessage應用程式您可以透過以下方

C語言中的身份矩陣程序 C語言中的身份矩陣程序 Aug 30, 2023 am 10:45 AM

給定一個方陣M[r][c],其中“r”是一定數量的行,“c”是列,使得r=c,我們必須檢查“M”是否是單位矩陣。恆等矩陣恆等矩陣也稱為大小為nxn方陣的單位矩陣,其中對角元素的整數值為1,非對角元素的整數值為0就像下面給定的範例-$$I1=\ begin{bmatrix}1\end{bmatrix},\I2=\begin{bmatrix}1&0\0&1\end{bmatrix},\I3=\begin{bmatrix}1&0&0\0&1&0\0&amp

實作微信小程式中的卡片翻轉特效 實作微信小程式中的卡片翻轉特效 Nov 21, 2023 am 10:55 AM

實作微信小程式中的卡片翻轉特效在微信小程式中,實現卡片翻轉特效是一種常見的動畫效果,可以提升使用者體驗和介面互動的吸引力。以下將具體介紹如何在微信小程式中實現卡片翻轉的特效,並提供相關程式碼範例。首先,需要在小程式的頁面佈局檔案中定義兩個卡片元素,一個用於顯示正面內容,一個用於顯示背面內容,具體範例程式碼如下:&lt;!--index.wxml--&gt;&l

See all articles