请求云对象正常但是莫名其妙本地报错
请求云对象正常但是莫名其妙本地报错
示例代码:
async function validateOrder(order_no) { // 改为 async 函数
try {
console.log('发起验证,订单号:', order_no)
// 初始化云对象(关键配置)
const todoObj = uniCloud.importObject('finalPaymentValidator', {
customUI: true, // 禁用默认UI
errorOptions: {
type: 'none' // 禁用所有框架级错误处理
}
})
// 显示加载状态
uni.showLoading({ title: '验证中...', mask: true })
// 调用云对象
const result = await todoObj.validateOrder({
serialnumber: order_no // 强制类型转换
})
} catch (err) {
console.error('[支付验证] 完整错误日志:', err)
// 统一错误处理
uni.hideLoading()
uni.showToast({
title: err.errMessage || '支付验证异常',
icon: 'none',
duration: 3000
})
}
}
操作步骤:
请求云对象finalPaymentValidator
module.exports = {
_before: function() {
const clientInfo = this.getClientInfo()
this.uniID = uniID.createInstance({
clientInfo
})
},
/**
* method1方法描述
* @param {string} param1 参数1描述
* @returns {object} 返回值描述
*/
validateOrder:async function(event) {
// 获取参数
const {serialnumber} = event;
console.log(serialnumber)
// 获取数据库引用
const db = uniCloud.database();
try {
// 查询订单
const orderResult = await db.collection('orders')
.where({
serialnumber: serialnumber
})
.limit(1)
.get();
console.log(orderResult)
console.log(serialnumber)
// 检查是否找到订单
if (!orderResult.data || orderResult.data.length === 0) {
return {
errCode: 1,
errMessage: '未找到订单,请联系客服'
};
}
const order = orderResult.data[0];
// 检查订单状态
if (order.status !== 1) {
return {
errCode: 2,
errMessage: '订单还未制作完成,请稍作等待'
};
}
// 检查是否已支付尾款
if (order.finalPayment === true) {
return {
errCode: 3,
errMessage: '请不要重复支付尾款'
};
}
// 检查是否免费订单
if (order.free === true) {
return {
errCode: 0,
errMessage: '请支付0.01元手续费',
data: {price:0.01}
};
}
// 返回正常支付信息
return {
errCode: 0,
errMessage: '正在支付',
data: order
};
} catch (error) {
console.log('报错了没')
return {
errCode: 1,
errMessage: '验证失败,请稍后重试'
};
}
}
}
预期结果:
云对象正常运行并返回{errCode: ,errMessage}
实际结果:
报了个莫名其妙的错误,如附件
bug描述:
运行云对象本地莫名其妙报错,云对象请求格式没问题,云对象也没报错,顺利运行,就在本地报的错,应该和返回数据的后续处理没关系,注释了也报错。
2 回复
console.error(’[支付验证] 完整错误日志:’, err)
看下详细错误呢,err.message
是我的问题,云对象返回的errCode和errMessage就会报错,只能errCode和errMsg