| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- import Request from '@/common/request.js';
 
- let request = new Request().http
 
- const api = {
 
- 	// 支付
 
- 	zfbPayment: '/app/live/liveOrder/aliPayment', // 支付宝付款
 
- 	weChatPayment: '/app/live/liveOrder/weChatPayment', // 微信付款
 
- 	// updateConfirm: (orderId, type) => `/app/live/liveOrder/updateConfirm/${orderId}/${type} `, // 取消/支付订单确认
 
- }
 
- // 支付
 
- // 支付宝付款
 
- export function zfbPayment(data) {
 
- 	return request(api.zfbPayment, data, 'POST', 'application/json;charset=UTF-8')
 
- }
 
- // 微信付款
 
- // export function weChatPayment(data) {
 
- // 	return request(api.weChatPayment, data, 'POST', 'application/json;charset=UTF-8')
 
- // }
 
- /**
 
-  * 微信支付(全平台适配简化版)
 
-  * @param {String} orderId 订单ID
 
-  * @param {Number} amount 金额(单位:分)
 
-  * @returns {Promise}
 
-  */
 
- // export function weChatPayment(orderId, amount) {
 
- export function weChatPayment(data) {
 
- 	return new Promise((resolve, reject) => {
 
- 		let res = {
 
- "code": 200,
 
- "msg": "success",
 
- "payType": 1,
 
- "result": {"timeStamp":"1757906581","package":"prepay_id=wx151123017811185ff21654a23ca0660000","paySign":"XZOdWmeUE4vtrsTiBcgc830dI5cTxDMOld4nEodSImjtnxNP7g4ehBCYBT9lSXQviX2CAqYfYS3Nazt81jCz3U8rjcxvf0IP1rKzesYHozTwkTh9PfOMu5kwBIf48pF1pG8P4w02cBMvfmEvN8c9ISc1Lx528IqV/pC12cxGTNBktH8UFFU5hdEmbpu9sI+4VfDpgroHs5y8xx2DK072LulF8g9xQvP2Hif/PFuEphBRmdxAN7Cp+gX6kHYmIijPe10eI0dTG/L0nR/r3UPUt9vubUnLW0cnYnimQ0FW5A1ANXN4LdCO+R3jFONsu99qpw/7uqrpJ1vUVpEvLu8fTg==","appId":"wx503cf8ab31f83dd4","signType":"RSA","nonceStr":"RKjdY0O5yroLPnEjXmTMtAEFIq2AhD63"}
 
- }
 
- 				invokePayment(res.data)
 
- 					.then(resolve)
 
- 					.catch(err => {
 
- 						handlePaymentError(err);
 
- 						reject(err);
 
- 					});
 
- 		// 1. 获取支付参数
 
- 		// totalFee: amount, // platform: getPlatform() // 自动识别平台
 
- 		// request(api.weChatPayment, data, 'POST', 'application/json;charset=UTF-8')
 
- 		// 	.then(res => {
 
- 		// 		// 2. 调用平台支付
 
- 				// invokePayment(res.data)
 
- 				// 	.then(resolve)
 
- 				// 	.catch(err => {
 
- 				// 		handlePaymentError(err);
 
- 				// 		reject(err);
 
- 				// 	});
 
- 		// 	})
 
- 		// 	.catch(err => {
 
- 		// 		handlePaymentError(err);
 
- 		// 		reject(err);
 
- 		// 	});
 
- 	});
 
- }
 
- // ==================== 内部方法 ====================
 
- function getPlatform() {
 
- 	// #ifdef MP-WEIXIN
 
- 	return 'miniprogram';
 
- 	// #endif
 
- 	// #ifdef APP-PLUS
 
- 	return 'app';
 
- 	// #endif
 
- 	// #ifdef H5
 
- 	return 'h5';
 
- 	// #endif
 
- }
 
- function invokePayment(payData) {
 
- 	return new Promise((resolve, reject) => {
 
- 		// #ifdef MP-WEIXIN
 
- 		uni.requestPayment({
 
- 			provider: 'wxpay',
 
- 			...payData, // 直接展开小程序所需参数
 
- 			success: (res) => {
 
- 				uni.showToast({
 
- 					title: '支付成功'
 
- 				});
 
- 				resolve(res);
 
- 			},
 
- 			fail: (err) => {
 
- 				reject(new Error(formatError(err)));
 
- 			}
 
- 		});
 
- 		// #endif
 
- 		// #ifdef APP-PLUS
 
- 		uni.requestPayment({
 
- 			provider: 'wxpay',
 
- 			orderInfo: payData.orderInfo,
 
- 			success: resolve,
 
- 			fail: (err) => {
 
- 				reject(new Error(formatError(err)));
 
- 			}
 
- 		});
 
- 		// #endif
 
- 		// #ifdef H5
 
- 		if (typeof WeixinJSBridge === 'undefined') {
 
- 			return reject(new Error('请在微信浏览器中打开'));
 
- 		}
 
- 		WeixinJSBridge.invoke(
 
- 			'getBrandWCPayRequest',
 
- 			payData,
 
- 			(res) => {
 
- 				if (res.err_msg === 'get_brand_wcpay_request:ok') {
 
- 					resolve(res);
 
- 				} else {
 
- 					reject(new Error(res.err_msg || '支付失败'));
 
- 				}
 
- 			}
 
- 		);
 
- 		// #endif
 
- 	});
 
- }
 
- function formatError(err) {
 
- 	if (err.errMsg) {
 
- 		if (err.errMsg.includes('cancel')) return '支付已取消';
 
- 		if (err.errMsg.includes('fail')) return '支付失败';
 
- 	}
 
- 	return err.message || '支付异常';
 
- }
 
- function handlePaymentError(err) {
 
- 	console.error('[支付错误]', err);
 
- 	uni.showToast({
 
- 		title: err.message,
 
- 		icon: 'none',
 
- 		duration: 3000
 
- 	});
 
- }
 
- // 微信
 
- // export function userAddr(userId, data={}) {
 
- // 	return request(api.userAddr(userId), data, 'GET', 'application/json;charset=UTF-8')
 
- // }
 
 
  |