dm-wechat-mini/pages/shop/detail/index.js
2025-02-13 19:11:45 +08:00

143 lines
2.8 KiB
JavaScript

import shopApi from '../../../api/shop';
import userApi from '../../../api/user';
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
isShowConfirm:false,
detail:{},
productList:[],
currentProduct:{},
calculatedPrice:{},
calculating:false
},
showConfirm(event){
const currentProduct = event.currentTarget.dataset.item;
shopApi.calculateOrderPrice(currentProduct.id).then((data)=>{
this.setData({
calculatedPrice:data,
currentProduct,
isShowConfirm:true
});
})
},
getOrder(){
shopApi.order(this.data.currentProduct.id).then((data)=>{
userApi.createPayment(data.order_id,'PRODUCT').then((data)=>{
wx.requestPayment({
timeStamp:data.payment_params.timeStamp,
nonceStr:data.payment_params.nonceStr,
package:data.payment_params.package,
signType:data.payment_params.signType,
paySign:data.payment_params.paySign,
success:(res)=>{
console.log(res);
wx.navigateTo({
url: '/pages/shop/success/index',
})
},
fail:(res)=>{
console.log(res);
}
})
});
}).catch((error)=>{
this.setData({
isShowConfirm:false
})
wx.showModal({
title: error.message,
showCancel:false,
complete: (res) => {
}
})
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const shopId = options.id;
app.getLocation().then((data)=>{
this.getOrderDetail(shopId,data.longitude,data.latitude);
}).catch(()=>{
this.getOrderDetail(shopId);
})
shopApi.productList(shopId).then((data)=>{
data.items.map((item)=>{
item.tags = item.tags.split(',')
})
this.setData({
productList:data.items
});
})
},
getOrderDetail(id,lng,lat){
shopApi.detail(id,lng,lat).then((data)=>{
if(data.distance&&data.distance>=1000){
data.distance = parseFloat(data.distance/1000).toFixed(1)+'km';
}else{
data.distance+='m';
}
this.setData({
detail:data
});
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})