003--筆記
微信小程序?qū)崿F(xiàn)購物車功能--邏輯
效果圖:
邏輯:
01、登錄授權(quán)( ‘購物車’及‘我的’頁面磨总,進入的時候首先要授權(quán)嗦明,這個根據(jù)自己的需求可更改)
?????1)、wx.login 獲取coed碼
?????2)蚪燕、wx.request 向開發(fā)者服務(wù)器發(fā)送code碼娶牌,并換取token --- 此時后端同時將token存入數(shù)據(jù)庫
?????3)、登錄成功后馆纳,顯示購物車頁面
02诗良、請求購物車數(shù)據(jù),使用wx.request請求鲁驶。
?????1)鉴裹、獲取本地token,如果獲取不到钥弯,就引導(dǎo)用戶去login頁面授權(quán)
?????2)径荔、如果本地有token,就發(fā)送請求脆霎,請求購物車的數(shù)據(jù)总处。每次請求將用戶id(token)傳向服務(wù)器,根據(jù)用戶id(token)請求響應(yīng)數(shù)據(jù)
?????3)睛蛛、從服務(wù)器拿到的物品數(shù)據(jù)data里面鹦马,只有物品的信息,我們需要給每個物品的數(shù)據(jù)中加入自定義屬性忆肾,來判斷當前復(fù)選框是否被選中
03荸频、購物車商品數(shù)量的加減
?????1)、商品數(shù)量加:
??????????1-1)客冈、通過e事件對象獲取當前被點擊的商品在goodslist中的索引值旭从,
??????????1-2)、根據(jù)索引值去goodslist中更改當前商品的數(shù)量num郊酒。num++
??????????1-3)遇绞、根據(jù)索引值去goodslist中獲取商品id,num++的同時燎窘,實時發(fā)送請求摹闽,去更改數(shù)據(jù)庫中的num。(商品數(shù)量num是存在數(shù)據(jù)庫中的褐健,因為數(shù)量后期會在各個頁面之間傳遞付鹿,所以我選擇存在數(shù)據(jù)庫中了澜汤。)
??????????1-4)、會觸發(fā)計算總價的方法
?????2)舵匾、商品數(shù)量減:
??????????2-1)俊抵、同上,
??????????2-2)坐梯、但是要對num<1的情況做處理
??????????2-3)徽诲、會觸發(fā)計算總價的方法
04、刪除商品
?????1)吵血、通過e事件對象獲取當前被點擊的商品在goodslist中的索引值
?????2)谎替、根據(jù)索引值去goodslist中刪除當前商品
?????3)、根據(jù)索引值去goodslist中獲取當前商品id蹋辅,然后去數(shù)據(jù)庫中刪除當前商品
?????4)钱贯、會觸發(fā)計算總價的方法
05、單選事件
?????1)侦另、會觸發(fā)計算總價的方法
06秩命、全選事件
?????1)、實現(xiàn)物品的全選
當用戶通過單選選擇了所有物品時褒傅,“全選按鈕”會自動改變?yōu)檫x中樣式弃锐;當用戶通過“全選按鈕”選擇所有商品的時候,每個商品都應(yīng)該是選中狀態(tài)
?????2)樊卓、會觸發(fā)計算總價的方法
07拿愧、計算總價
?????1)杠河、任何一次觸發(fā)該函數(shù)碌尔,都會重新計算價格,將總價變?yōu)?券敌,再進行選中項的價格累加唾戚,而不是在原總價上累加或減某一個商品的價格