143 lines
2.8 KiB
JavaScript
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() {
|
|
|
|
}
|
|
}) |