47、支付成功_移除购物车已经支付的数据
已经完成了微信支付
手动删除缓存中已经被选中了的商品
删除后的购物车数据填充回缓存
再跳转页面
pages\pay\index.js
// 点击支付
async handleOrderPay(){
try {
// 1 判断缓存中有没有token
const token=wx.getStorageSync("token");
// 2 判断
if(!token){
wx.navigateTo({
url: '/pages/auth/index'
});
return;
}
// 3 创建订单
// 3.1 准备请求头参数
const header = {
Authorization: token };
// 3.2 准备请求体参数
const order_price = this.data.totalprice;
const consignee_addr = this.data.address.all;
const cart=this.data.cart;
let goods=[];
cart.forEach(v=>goods.push({
goods_id:v.goods_id,
goods_number:v.num,
goods_price:v.goods_price
}))
const orderParams={
order_price,consignee_addr,goods};
// 4 准备发送请求创建订单获取订单编号
const {
order_number}=await request({
url:"/my/orders/create", method:"POST", data:orderParams, header});
// 5 发起预支付接口
const {
pay}=await request({
url:"/my/orders/req_unifiedorder", method:"POST", header, data:{
order_number} });
// 6 发起微信支付
await requestPayment(pay);
// 7 查询后台 订单状态
const res=await request({
url:"/my/orders/chkOrder", method:"POST", header, data:{
order_number} });
// 支付弹窗提示
await showToast({
title:"支付成功"});
// 7.1 手动删除缓存中已经支付了的商品
let newCart=wx.getStorageSync("cart");
newCart=newCart.filter(v=>!v.checked);
wx.setstorageSync("cart", newCart);
// 8 支付成功了跳转到订单页面
wx.navigateTo({
url:'/pages/order/index'
});
} catch (error) {
await showToast({
title:"支付成功"})
console.log(error);
}
}
点击支付——>扫码——>完成支付——>跳转pages/order/index订单页面——>返回购物车_已支付商品清除