import type { wxpay } from '@/api/globals' import router from '@/router' export function handleCommonPayMent(orderNumber: string): Promise { return new Promise((resolve, reject) => { if (!orderNumber) { useGlobalToast().show({ msg: '订单号为空!请联系管理员' }) reject(new Error('订单号为空!请联系管理员')) return } uni.showLoading({ mask: true }) Apis.common.hybridPayment({ data: { orderNumber } }).then((res) => { resolve(res.data) uni.hideLoading() }).catch((err) => { uni.hideLoading() reject(err) }) }) } const { selectedAddress, userInfo } = storeToRefs(useUserStore()) /** * * @param businessType * @param dvyType 配送类型 1:快递 2:自提 3:及时配送 * @param remarks * @param shopId * @param orderItemList * @returns 下单获取待支付订单号 */ export function getOrderPayMent(freightFee: number, businessType: string, dvyType: number, shopId: number, orderItemList: { prodCount?: number skuId?: number }[], remarks?: string): Promise { uni.showLoading({ mask: true }) return new Promise((resolve, reject) => { if (!selectedAddress.value) { reject(new Error('请选择收货地址')) return } Apis.common.addOrder({ data: { channelId: Number(unref(userInfo).channelId), businessType, addressId: selectedAddress.value.id, dvyType, freightAmount: freightFee, shopId, orderItemList, remarks, }, }).then((res) => { resolve(res.data) uni.hideLoading() }).catch((err) => { uni.hideLoading() reject(err) }) }) } /** * * @param orderInfo * @returns 统一拉起微信支付 */ export function getWxCommonPayment(orderPay: wxpay) { uni.showLoading({ mask: true }) return new Promise((resolve, reject) => { const orderInfo = { appid: orderPay.appId, timeStamp: orderPay.timeStamp, nonceStr: orderPay.nonceStr, package: orderPay.package, signType: orderPay.signType, paySign: orderPay.paySign, } uni.requestPayment({ provider: 'wxpay', orderInfo, ...orderInfo, success(res) { resolve(res) }, fail(e) { console.log(e, '失败') reject(e) }, complete() { uni.hideLoading() }, }) }) } /** * 星闪豹 * 支付成功统一跳转 */ export function paySuccess() { const { paySuccessPath, payBackIndexPath } = storeToRefs(useSysStore()) paySuccessPath.value = 'xsb-order' payBackIndexPath.value = 'subPack-xsb/commonTab/index' router.replace({ name: 'common-paySuccess' }) } /** * 星闪豹 * 支付成功统一跳转 */ export function payError() { const { paySuccessPath, payBackIndexPath } = storeToRefs(useSysStore()) paySuccessPath.value = 'xsb-order' payBackIndexPath.value = 'subPack-xsb/commonTab/index' router.replace({ name: 'common-payError' }) } /** * 支付成功清空购买的商品的购物车 */ export async function clearCart(skuList: Api.CartSkuVo[]) { return new Promise((resolve) => { const skuids = skuList.map(item => item.id).join(',') if (skuids.length) { Apis.common.deleteShoppingCart({ pathParams: { ids: skuids, }, }).then(async (res) => { resolve(res) await useSmqjhCartStore().getCartList('XSB') }).finally(() => resolve(1)) } else { resolve(1) } }) }