小程序商城開發(fā)教程入門篇
微商城的簡易,無需下載app商城的簡便,讓許多傳統(tǒng)電商逐漸開始開發(fā)微商城,如今加上時微信小程序騰空而出。只要用戶掃一掃或者搜索一下就能打開應用,小程序商城開發(fā)更是滿足了傳統(tǒng)電商的需求。下面以一個普通的家具商城小程序為例,為大家介紹小程序商城開發(fā)教程入門篇~
小程序商城開發(fā)教程入門篇
開發(fā)環(huán)境:WXML(HTML),WXSS(CSS),Javascript
開發(fā)工具:vscode,微信開發(fā)者工具
開發(fā)流程:下載微信開發(fā)者工具之后注冊一下就會有自己的AppID,微信小程序有官方的微信小程序開發(fā)文檔 開發(fā)文檔
代碼實現(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;
}
家具的輪播效果實現(xiàn)
小程序的輪播實現(xiàn)是用了swiper組件,滑塊視圖容器里面有indicator-dots,autoplay,setinterval等屬性,可以設置自動播放,時間間隔。 插入的圖片可以用wx:for來循環(huán)。
navigate的跳轉(zhuǎn)問題
在點擊加入購物車以后,加入綁定事件本該跳轉(zhuǎn)到另一個頁面的,但是遲遲沒有出現(xiàn)效果也沒有報錯,我以為我拼寫或路徑有問題,但我檢查之后沒有問題啊,后來終于發(fā)現(xiàn)了一個坑。 這里要跳轉(zhuǎn)的是tabBar的頁面,按照默認的跳轉(zhuǎn)是不允許的,查看了一下開發(fā)文檔才發(fā)現(xiàn)了問題的所在。
解決辦法:把navigateTo換成switchTab就可以了 跳轉(zhuǎn)有很多種方法,具體可以查看開發(fā)文檔。
商品如何加入購物車之后如何控制購買商品的數(shù)量并計算價格
本來想做的是點擊圖片進入詳情再點擊加入購物車就能保存到后臺的購物車里 但是由于自學的知識有限,后端目前還沒學,只能加入一個綁定事件跳轉(zhuǎn)到購物車。
接下來計入正題:如何控制購物車購買的數(shù)量和計算總價?先在js里面定義一個cart空的數(shù)組,我們先把這個值賦給這個空數(shù)組,之后再取這個值。之后給商品的狀態(tài)默認為選擇狀態(tài),點擊一下,就可以把狀態(tài)變?yōu)槿∠?。話不多說,之后計算出選擇商品的總價。
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
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
// 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進行登錄的時候,直接使用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)絡請求,可能會在 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
})
}
最后
這個小程序還有一些功能還沒有實現(xiàn),比如購物車,用戶信息的保存在后臺的問題。更多微信小程序商城開發(fā)可以關注本網(wǎng)站,謝謝。
HiShop小程序工具提供多類型商城/門店小程序制作,可視化編輯 1秒生成5步上線。通過拖拽、拼接模塊布局小程序商城頁面,所看即所得,只需要美工就能做出精美商城。更多小程序請查看:小程序商店