WxApp/page/component/orders/orders.js

104 lines
2.3 KiB
JavaScript
Raw Normal View History

2024-08-29 14:36:16 +08:00
// page/component/orders/orders.js
Page({
onLoad: function (options) {
const orders = {
id: options.id,
title: options.title,
price: options.price,
num: options.num,
image: options.image,
};
this.setData({ orders });
},
data: {
address: {},
hasAddress: false,
total: 0,
orders: {}
// {id:1,title:'新鲜芹菜 半斤',image:'/image/s5.png',num:4,price:0.01},
// {id:2,title:'素米 500g',image:'/image/s6.png',num:1,price:0.03}
},
onReady() {
this.getTotalPrice();
},
onShow: function () {
const self = this;
wx.getStorage({
key: 'address',
success(res) {
self.setData({
address: res.data,
hasAddress: true
})
}
})
},
/**
* 计算总价
*/
getTotalPrice() {
let orders = this.data.orders;
let total = 0;
for (let i = 0; i < orders.length; i++) {
total += orders[i].num * orders[i].price;
}
this.setData({
total: total
})
},
toPay() {
const self = this;
// 假设订单信息在 this.data.orders 中
const orderData = this.data.orders;
wx.showModal({
title: '提示',
content: '本系统只做演示,支付系统已屏蔽',
text: 'center',
complete() {
// 发送订单数据到后端
wx.request({
url: 'https://your-backend-api.com/orders', // 替换为你的后端API地址
method: 'POST',
data: {
orders: orderData
},
header: {
'Content-Type': 'application/json' // 设置请求头
},
success(res) {
if (res.statusCode === 200) {
wx.showToast({
title: '订单已提交',
icon: 'success',
duration: 2000
});
// 跳转到用户页面
wx.switchTab({
url: '/page/component/user/user'
});
} else {
wx.showToast({
title: '提交失败',
icon: 'none',
duration: 2000
});
}
},
fail() {
wx.showToast({
title: '请求失败',
icon: 'none',
duration: 2000
});
}
});
}
});
}
})