253 lines
6.2 KiB
JavaScript
253 lines
6.2 KiB
JavaScript
import {
|
|
defineStore
|
|
} from 'pinia';
|
|
|
|
import {
|
|
ref
|
|
} from 'vue';
|
|
|
|
import {
|
|
APIpayltPayOrder,
|
|
APIpayltPayVip,
|
|
APIrefundVip
|
|
} from '@/common/api/pay.js'
|
|
|
|
import {
|
|
APIcreateOrder
|
|
} from '@/common/api/order/index.js'
|
|
|
|
export const Memberpay = defineStore('memberpay', {
|
|
actions: {
|
|
//会员充值
|
|
actionspayltPayVip(data) {
|
|
return new Promise(async (resolve, reject) => {
|
|
try {
|
|
let res = await APIpayltPayVip({
|
|
shopId: data.shopId,
|
|
shopUserId: data.shopUserId,
|
|
amount: data.amount,
|
|
activateId: data.activateId,
|
|
// #ifdef MP-WEIXIN
|
|
payType: 'wechatPay',
|
|
openId: uni.cache.get('userInfo').wechatOpenId,
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
payType: 'aliPay',
|
|
openId: uni.cache.get('userInfo').wechatOpenId,
|
|
// #endif
|
|
returnUrl: data.returnUrl ? data.returnUrl : '',
|
|
buyerRemark: data.buyerRemark ? data.buyerRemark : '',
|
|
orderId: data.orderId,
|
|
userAllPack: data.userAllPack,
|
|
seatNum:data.seatNum
|
|
})
|
|
if (res) {
|
|
uni.showLoading({
|
|
title: '加载中',
|
|
mask: true
|
|
})
|
|
uni.requestPayment({
|
|
// #ifdef MP-WEIXIN
|
|
provider: 'wxpay', //支付类型-固定值
|
|
partnerid: res.appId, // 微信支付商户号
|
|
timeStamp: res.timeStamp, // 时间戳(单位:秒)
|
|
nonceStr: res.nonceStr, // 随机字符串
|
|
package: res.package, // 固定值
|
|
signType: res.signType, //固定值
|
|
paySign: res.paySign, //签名
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
provider: 'alipay', //支付类型-固定值
|
|
orderInfo: res.tradeNo, // 微信支付商户号
|
|
// #endif
|
|
success: (res) => {
|
|
uni.hideLoading()
|
|
// #ifdef MP-WEIXIN
|
|
uni.showToast({
|
|
title: "支付成功"
|
|
})
|
|
console.log('支付成功')
|
|
setTimeout(() => {
|
|
uni.navigateBack()
|
|
}, 1000)
|
|
resolve(res)
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
if (res.resultCode == '9000') {
|
|
uni.showToast({
|
|
title: "支付成功"
|
|
})
|
|
setTimeout(() => {
|
|
uni.navigateBack()
|
|
}, 1000)
|
|
resolve(res)
|
|
} else {
|
|
uni.showToast({
|
|
title: "支付失败"
|
|
})
|
|
}
|
|
// #endif
|
|
},
|
|
fail: (res) => {
|
|
setTimeout(() => {
|
|
uni.hideLoading()
|
|
}, 1000)
|
|
reject(false)
|
|
}
|
|
});
|
|
}
|
|
} catch (e) {
|
|
uni.showToast({
|
|
title: "支付失败"
|
|
})
|
|
setTimeout(() => {
|
|
uni.hideLoading()
|
|
}, 1000)
|
|
reject(false)
|
|
}
|
|
})
|
|
},
|
|
|
|
//下单支付
|
|
actionsltPayOrder(data) {
|
|
return new Promise(async (resolve, reject) => {
|
|
try {
|
|
let res = await APIpayltPayOrder({
|
|
shopId: uni.cache.get('shopId'),
|
|
checkOrderPay: {
|
|
...data.checkOrderPay,
|
|
...{
|
|
userId: uni.cache.get('userInfo').id
|
|
}
|
|
},
|
|
// #ifdef MP-WEIXIN
|
|
payType: 'wechatPay',
|
|
openId: uni.cache.get('userInfo').wechatOpenId,
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
payType: 'aliPay',
|
|
openId: uni.cache.get('alipayOpenId').alipayOpenId,
|
|
// #endif
|
|
returnUrl: data.returnUrl,
|
|
buyerRemark: data.buyerRemark,
|
|
userId: uni.cache.get('userInfo').id || ''
|
|
})
|
|
if (res) {
|
|
uni.showLoading({
|
|
title: '加载中...',
|
|
mask: true
|
|
})
|
|
uni.requestPayment({
|
|
// #ifdef MP-WEIXIN
|
|
provider: 'wxpay', //支付类型-固定值
|
|
partnerid: res.appId, // 微信支付商户号
|
|
timeStamp: res.timeStamp, // 时间戳(单位:秒)
|
|
nonceStr: res.nonceStr, // 随机字符串
|
|
package: res.package, // 固定值
|
|
signType: res.signType, //固定值
|
|
paySign: res.paySign, //签名
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
provider: 'alipay', //支付类型-固定值
|
|
orderInfo: res.tradeNo, // 微信支付商户号
|
|
// #endif
|
|
success: (res) => {
|
|
uni.hideLoading()
|
|
// #ifdef MP-WEIXIN
|
|
uni.showToast({
|
|
title: "支付成功"
|
|
})
|
|
console.log('支付成功')
|
|
resolve(res)
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
if (res.resultCode == '9000') {
|
|
uni.showToast({
|
|
title: "支付成功"
|
|
})
|
|
resolve(res)
|
|
} else {
|
|
uni.showToast({
|
|
title: "支付失败"
|
|
})
|
|
}
|
|
// #endif
|
|
},
|
|
fail: (res) => {
|
|
setTimeout(() => {
|
|
uni.hideLoading()
|
|
}, 1000)
|
|
reject(false)
|
|
}
|
|
});
|
|
}
|
|
} catch (e) {
|
|
uni.showToast({
|
|
title: "支付失败"
|
|
})
|
|
setTimeout(() => {
|
|
uni.hideLoading()
|
|
}, 1000)
|
|
reject(false)
|
|
}
|
|
})
|
|
},
|
|
|
|
//会员支付
|
|
balancePayOrder(data) {
|
|
return new Promise(async (resolve, reject) => {
|
|
try {
|
|
let res = await APIrefundVip({
|
|
shopId: uni.cache.get('shopId'),
|
|
checkOrderPay: {
|
|
...data.checkOrderPay,
|
|
...{
|
|
userId: uni.cache.get('userInfo').id
|
|
}
|
|
},
|
|
pwd: data.pwd,
|
|
payType: data.payType,
|
|
returnUrl: data.returnUrl,
|
|
buyerRemark: data.buyerRemark,
|
|
shopUserId: data.shopUserId,
|
|
userId: uni.cache.get('userInfo').id || '' //
|
|
})
|
|
resolve(true)
|
|
} catch (e) {
|
|
uni.showToast({
|
|
title: "支付失败"
|
|
})
|
|
setTimeout(() => {
|
|
uni.hideLoading()
|
|
}, 1000)
|
|
reject(false)
|
|
}
|
|
})
|
|
},
|
|
|
|
// 生成订单
|
|
actionscreateOrder(data) {
|
|
return new Promise(async (resolve, reject) => {
|
|
let res = await APIcreateOrder({
|
|
orderId: data.orderId, //多次下单时使用
|
|
shopId: uni.cache.get('shopId'), //店铺Id
|
|
userId: uni.cache.get('userInfo').id || '', //
|
|
seatNum: data.seatNum, //用餐人数
|
|
packFee: data.packFee, //打包费
|
|
originAmount: data.originAmount, //订单原金额(包含打包费) 不含折扣价格 不含餐位费
|
|
tableCode: uni.cache.get('tableCode'), //台桌编码
|
|
dineMode: 'dine-in', //堂食 dine-in 外带 take-out 外卖 take-away
|
|
remark: data.remark, //备注
|
|
placeNum: data.placeNum, //当前订单下单次数
|
|
waitCall: data.waitCall //是否等叫 0 否 1 等叫
|
|
})
|
|
if (res) {
|
|
resolve(res)
|
|
} else {
|
|
reject(false)
|
|
}
|
|
})
|
|
}
|
|
|
|
}
|
|
}); |