1. 程式人生 > >微信小程式開發之小米商城(一)

微信小程式開發之小米商城(一)

小程式開發之小米商城Lite

剛接觸小程式不久,感覺相對來說比較簡單,就自己花了五六天做了一個專案,因為本身也是米粉,就看中了小米的微信小程式(可憐國慶擼了幾天的程式碼,哈哈),話不多說,先上效果圖吧。 算了算了。本來還打算上gif圖,但是太難搞了,說明一下吧。要看效果的等下我貼出專案github地址來,自己去看吧

1. 專案模組

整個專案大致分為首頁,分類,發現,購物車,我的五個模組,其實就是底部導航條的五塊,

1)首頁

首頁的重點也就是一個輪播圖,然後一個全域性的底部導航條,其實微信小程式都給我們提供的元件。像輪播圖元件 swiper-item,然後底部導航條在app.json中設定tabBar都可以實現,前面我還在糾結自己如何實現一個底部導航條,然後後面各種糾結,其實就簡簡單單的配置就行,所以說文件很重要。貼一張首頁圖吧 在這裡插入圖片描述

2)分類

分類這一個模組,其實是挺讓我難下手的,先給張圖你就明白了 在這裡插入圖片描述 看上面圖就知道,第一個是資料的問題,對於一個學前端的人來講,資料是非常重要的,因為前端人員就是要對後臺提供的資料,以各種形式,各種介面來顯示,讓使用者更好的去使用,去體驗,所以擺在我前面的第一個問題就是我沒有資料,然後第二個問題,佈局問題,我側導航條可以自己移動,右邊也可以自己移動,互不干擾,然後我琢磨了一段時間,將左邊側導航欄設定為positoin:absolute;脫離文件流,再加上overflow:scroll;就可以了,然後::-webkit-scrollbar{display:none;}把滾動條樣式去除,就都實現了,做出來之後滿足感爆棚,然後第一個問題我新建了一個js檔案,在裡面造json資料,這個json資料挺複雜了,太多括號,就不貼出來了,然後再使用小程式提供的模板template元件循壞放入,這個時候,難點又出現了,因為小程式對於循壞渲染的例子太單一而且簡單,就只有對單一josn的渲染,什麼是單一的json,就比如:

[
	{
	   name:'張三',
	   age:24
	},
	{
	  name:’李四',
	   age:23
	}
]

這種就是單一的json,就一層

[
	{
	   name:'張三',
	   age:24,
	   interest:
	   [
			   { sports:'足球'},
			   { sports:'籃球'}
	  ]
	},
	{
	  name:’李四',
	   age:23,
	    interest:
	   [
			   { sports:'足球'},
			   { sports:'籃球'}
	  ]
	}
]

差不多就這個意思,多層的在文件中是沒有說明的。

<view style='padding-top:10rpx;' wx:for='{{list}}' wx:key='{{index}}' id='nav-{{index}}'  wx:for-item="itemName">
	<view  wx:for='{{itemName.content}}'  wx:key='{{index}}'>
		<template is='categoryItem'  data='{{...item}}'></template>
	</view>
</view>

糾結了好久,傳入了模版,我這裡循壞了兩次,去獲得裡面的值,詳細看json資料結果,反正意思就是不斷去除錯,循壞一次,只能獲得第一層的資料,迴圈了兩次,獲得第二層的,加入你說我只迴圈一次,然後通過 點(.)去吧資料點出來,這是不可能的,我試過了。 然後佈局都出來了,又碰到了怎麼錨點滑動,然後搞了好久,發現小程式有這個東西,通過scroll-view元件裡面的scroll-into-view的屬性,然後通過設定id,繫結

<scroll-view scroll-y="true" style='height:100%' scroll-with-animation="true" scroll-into-view='{{toview}}' >
	<view style='padding-top:10rpx;' wx:for='{{list}}' wx:key='{{index}}' id='nav-{{index}}'  wx:for-item="itemName">
		<view  wx:for='{{itemName.content}}'  wx:key='{{index}}'>
			<template is='categoryItem'  data='{{...item}}'></template>
		</view>
	</view>
</scroll-view >

其中scroll-y="true"允許豎向滾動 height要設定,你可以試試不加這個 scroll-with-animation=“true” 滑動動畫,這裡面同通過js動態繫結id,使id值給上面的toview相同時,就會錨定定位,搞了好久,心累,不過效果出來了還是很爽的,哈哈哈。

3)發現

在這裡插入圖片描述

發現模組沒什麼講的,也加入一個template

4)購物車

在這裡插入圖片描述

5)我的

在這裡插入圖片描述

我的這裡使用了小程式的API獲得使用者頭像,名字,挺簡單的

整體的結果上述所講,其實就大部分都是佈局問題,沒有很多的用到小程式的API,後續慢慢的加上去,因為那才是小程式的重點,然後ajax也沒有用到,只是模擬資料什麼的,以後加吧。

2.專案結構在這裡插入圖片描述

如上圖所示,datas放一些模擬的資料,json。 pages ------------頁面 static------------靜態資源(圖片) util-------------- 工具

最後奉上git 小米商城Lite(覺得不錯,幫我star一下,萬分感謝!)