解决九两酒商城[uni-pay-co]: Error:执行失败,积 分需要大于等于1的bug

问题描述

在开发九两酒微信小程序商城时候,在订单页面,如果金额比较低,就会出现score积分为0的情况,支付完成后会报如下错误"uni-pay-co: Error:执行失败,积 分需要大于等于1",如下图所示:

问题解决

经过排查是在支付成功后出现的问题,那问题基本出现在支付回调云对象内,所以看一下该云对象,uni-pay-co -> notify -> goods.js

javascript 复制代码
const scoreCloudObj = uniCloud.importObject('client-scores');
scoreCloudObj.shopping({
	_id: payOrder._id,
	type: 2,
	user_id: payOrder.user_id
});

问题就是调用购物赠送积分的shopping函数中,根据路径找到函数

javascript 复制代码
//购物获得积分
async shopping({ _id, type = 1, user_id } = {}) {
	.......
	let score = type == 1 ? orderData?.score_in ?? 0 : orderData?.score_out ?? 0;
	if (!score) return console.log({ errCode: 400, errMsg: 'error', custom: '积分需要大于等于1' });
	..........
}

如上所示,将if判断积分原来的return result({errCode:400})修改成console.log,这样就不会将错误信息返回而阻塞后面程序的运行了,错误信息页可以直接进入云函数日志中查看。

如果要想学习完整的微信小程序商城,可以查看:unipay支付微信小程序商城开发Vue3完整版

相关推荐
深念Y1 天前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
姚青&2 天前
Bug基本概念
bug
AI多Agent协作实战派2 天前
AI多Agent协作系统实战(三十九):AI修对了Bug,却越了权——自动化团队的第一条铁律
人工智能·自动化·bug
深念Y4 天前
AMD 芯片组驱动触发高频 SSD 写入的问题及解决方案
windows·bug·ssd·日志·芯片·驱动·amd
加油码4 天前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
鹿屿二向箔4 天前
keil5.39版本使用AC6编译器不能位域操作的BUG使用STM32U385系列MCU
stm32·单片机·bug
angryshan5 天前
goLang配置断点流程
go·bug
吨吨ai6 天前
# ChatGPT Plus / Pro + Codex Debug 实战:如何让 AI 从日志、Trace、异常堆栈自动定位线上 Bug
人工智能·chatgpt·bug
灰暗世界%7 天前
飞牛bug修复
bug
凌云拓界9 天前
NodeVerdict | 性能门禁:把追踪数据变成 CI 规则
ci/cd·信息可视化·开源·node.js·bug·数据可视化·安全架构