商城-下单-订单结算页

本文详细介绍了商城下单过程中的订单结算页,包括页面跳转逻辑、收货人信息展示、支付方式选择、商品列表渲染、总金额计算以及提交订单时的精度损失问题和解决方案。内容涉及Vue实例、用户登录状态校验、商品数据传递、订单接口数据组织等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.订单结算页

2.1.页面跳转

在购物车页面的最下方,有一个去结算按钮:
在这里插入图片描述

当点击结算,我们应该跳转到订单结算页,即:getOrderInfo.html
在这里插入图片描述

查看购物车的结算按钮:
在这里插入图片描述

可以看到,地址是正确的。但是只有登录用户才可以去结算付款,因此我们不能直接跳转,而是在跳转前校验用户的登录状态,如果发现是未登录,应该重定向到登录页!

我们给这个按钮绑定点击事件:
在这里插入图片描述

事件中判断登录状态,进行页面跳转:

toOrderInfo() {
   
    // 判断是否登录
    ly.verifyUser().then(() => {
   
        // 已登录
        window.location.href = "/getOrderInfo.html"
    }).catch(() => {
   
        // 未登录
        window.location.href = "/login.html?returnUrl=" + window.location.href;
    })
}

登录后测试:
在这里插入图片描述

此处页面需要渲染的内容主要包含3部分:

  • 收货人信息
  • 支付方式
  • 商品信息

2.2.收货人信息(作业)

在这里插入图片描述

这里的收货人信息肯定是当前登录用户的收货地址。所以需要根据当前登录用户去查询,目前我们在页面是写的假数据:
在这里插入图片描述

大家可以在在后台提供地址的增删改查接口,然后页面加载时根据当前登录用户查询,而后赋值给addresses即可。

2.3.支付方式

支付方式有2种:

  • 微信支付
  • 货到付款

与我们订单数据中的paymentType关联:
在这里插入图片描述

所以我们可以在Vue实例中定义一个属性来记录支付方式:
在这里插入图片描述

然后在页面渲染时与这个变量关联:
在这里插入图片描述

2.4.商品列表

效果图:
在这里插入图片描述

这里的送货清单,其实就是购物车中用户选择的要付款的商品

因此,我们需要在购物车跳转过来的同时,携带选中的购物车的信息

2.4.1.购物车信息获取

我们修改cart.html中的页面跳转逻辑,把用户选中的购物车信息传递过来:
在这里插入图片描述

然后在created钩子函数中获取购物车数据,保存到本地属性,要注意的是,我们应该在获取数据前校验用户登录状态,如果发现未登录,则直接重定向到登录页:
在这里插入图片描述

然后重新加载页面,查看控制台:
在这里插入图片描述

2.4.2.页面渲染

要修改的页面位置:每一个li就是一件商品
在这里插入图片描述

我们修改为:

<ul class
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值