问题描述
在开发九两酒微信小程序商城时候,在订单页面,如果金额比较低,就会出现score积分为0的情况,支付完成后会报如下错误“[uni-pay-co]: Error:执行失败,积 分需要大于等于1”,如下图所示:
问题解决
经过排查是在支付成功后出现的问题,那问题基本出现在支付回调云对象内,所以看一下该云对象,uni-pay-co -> notify -> goods.js
constscoreCloudObj=uniCloud.importObject('client-scores');scoreCloudObj.shopping({_id:payOrder._id,type:2,user_id:payOrder.user_id});问题就是调用购物赠送积分的shopping函数中,根据路径找到函数
//购物获得积分asyncshopping({_id,type=1,user_id}={}){.......letscore=type==1?orderData?.score_in??0:orderData?.score_out??0;if(!score)returnconsole.log({errCode:400,errMsg:'error',custom:'积分需要大于等于1'});..........}如上所示,将if判断积分原来的return result({errCode:400})修改成console.log,这样就不会将错误信息返回而阻塞后面程序的运行了,错误信息页可以直接进入云函数日志中查看。
如果要想学习完整的微信小程序商城,可以查看:unipay支付微信小程序商城开发Vue3完整版