import type { ShopOrderStatus, PaymentParams } from '@mp-pilates/shared' import { post } from './request' export const shopMoney = (fen: number) => (fen / 100).toFixed(2) export const shopStatus: Record = { PENDING: '待付款', PAID: '待发货', COMPLETED: '已完成', CANCELLED: '已取消', } export const shopError = (error: unknown) => uni.showToast({ title: error instanceof Error ? error.message : '操作失败,请重试', icon: 'none', }) export async function payShopOrder(id: string) { const params = await post(`/shop/orders/${id}/pay`) await new Promise((resolve, reject) => uni.requestPayment({ ...params, provider: 'wxpay', success: () => resolve(), fail: (error) => reject( new Error( error.errMsg.includes('cancel') ? '已取消支付,可在订单中继续付款' : '支付未完成,请刷新订单确认状态', ), ), }), ) }