微信小程式-仿盒馬鮮生
小程式是一個容易上手的東西, 對於新手來說,多看官方文檔,可以初步做出比較完整的小程序,正是因為簡單上手,功能實現簡單,小程序是越來越火,商業價值也越來越大。本文我們將教大家一種微信小程式-仿盒馬鮮生。
專案初覽
盒馬鮮生是阿里巴巴對線下超市完全重構的新零售業態,熱度十分。
* 用户信息注册 * 首页几个轮播和界面交互 * 分类商品管理购买 * 购物车界面交互及其操作 * 个人信息界面
- 1.專案工具與文件
- 微信web開發者工具:微信小程式官網 這是個比較好用的編輯器,對於小程式編輯很方便。
- 開發文件:微信小程式寶典秘籍 透過這個尋找微信小程式的API,元件,框架等等。
- 圖示庫: Iconfont-阿里巴巴向量圖示庫 這個可以找到自己想要的幾乎所有的小圖標,十分方便。
- Easy Mork: easy-mock 用於後台的模擬,得到JSON資料;
2.專案開發
小程式是基於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, }) },
- 總結
- #微信小程式的元件,API很強大,需要不斷的探索,不斷的學習,多看文件
- 善於利用有效資源,像是iconfont esay -moc weui等
- 切頁面要細心,善於利用彈性佈局等佈局方法,小程式的rpx確實很好用
@import './styles/weui.wxss';
個人簡介
github : https://github.com/fishman17
信箱: 734583898@qq.com
最後如果您喜歡這個專案的話,給個star哦謝謝!
仿造盒馬鮮生,實現了部分功能。專案初覽
盒馬鮮生是阿里巴巴對線下超市完全重構的新零售業態,熱度十分
專案功能
* 用户信息注册 * 首页几个轮播和界面交互 * 分类商品管理购买 * 购物车界面交互及其操作 * 个人信息界面
小程式設計過程
小程式是一個容易上手的東西, 對於新手來說,多看官方文檔,可以初步做出比較完整的小程序,正是因為簡單上手,功能實現簡單,小程序是越來越火,商業價值也越來越大。
1.專案工具與文件
微信web開發者工具:微信小程式官網 這是個比較好用的編輯器,對於小程式編輯很方便。
開發文件:微信小程式寶典秘籍 透過這個尋找微信小程式的API,元件,框架等等。
圖示庫: Iconfont-阿里巴巴向量圖示庫 這個可以找到自己想要的幾乎所有的小圖標,十分方便。
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';
總結
#微信小程式的元件,API很強大,需要不斷的探索,不斷的學習,多看文件
善於利用有效資源,像是iconfont esay -moc weui等
切頁面要細心,善於利用彈性佈局等佈局方法,小程式的rpx確實很好用
不要一股腦的寫程式碼, 當函數具有復用性,應該要抽像出來,封裝好,這樣程式碼才易於維護,易讀。
以上內容就是仿盒馬鮮生微信小程序,希望能幫助大家。
相關推薦:
#以上是微信小程式-仿盒馬鮮生的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

給定一個方陣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&

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