8.购物车模块
8.1业务逻辑
【功能】购物车实现以下功能:展示购物车信息(商品信息、购买数量、总额)、自行加减购买数量、删除商品和结算支付。如图:
【业务逻辑】
购物车视图通过当前用户ID获取购物车信息,通过购物车获取商品信息,展示在模板中。同时,商品详细页的加入购物车功能将商品id和购买数量传递给购物车页面,因此购物车视图还要获取这个URL传递的值,判断是否为空,不为空说明有新商品加入购物车,需要更新数据库。
加减购买数量,计算小计、总金额均在JS中实现。加减只需根据按钮动态调整文本框内的数字,小计根据单价和购买数量计算后重新写入小计框内,同时创建一个全局变量,不断记录小计,最后累计成总金额。
删除功能用Ajax实现,Ajax将数据提交给URL处理,再通过Json返回。
8.2购物车页面
【视图】
【数据渲染】
【JS功能实现】
(1)sum计算小计,pieces-total计算总额。i是数组下标,e是值,e.innerHTML表示该e值用新值代替
(2)结算功能
8.3删除功能
删除功能使用了car.js文件,该文件封装了删除功能的Ajax代码
【视图】判断是删除全部还是删除选中的商品,用户ID存在则删除全部,商品ID存在则删除该商品。