跳到主要内容

上传自定义业务状态码

探针提供函数配置项custom,可以在其中插入自定义逻辑并返回业务状态码和成功状态,配置函数在每个网络请求的complete 回调函数之后执行。

配置示例:

const monitor = require('./agent/tingyun-mp-agent.js');
monitor.config({
beacon: 'https://beacon-mp.tingyun.com',
key: '4gA5HRiCw8g',
id: 'QpKfzsx-PGQ',
sampleRate: 1,
custom: function(response) {
// response为complete回调的传入参数
// 自定义逻辑示例
if (!response) {
return ;
}
const status = response.data && response.data.status;
return {
code: status ? status : 'NULL',
status: ['1001','1002','1003'].includes(status)
}
}
})

函数返回对象:

{
"code": 1001, // 返回值中的业务状态码
"status": true // 1001被认为是业务成功状态
}

微信小程序探针1.3.11版本开始, 可以通过配置callFunctionCustomcallContainerCustom回调函数配置云函数云托管的业务状态码:

monitor.config({
callFunctionCustom: function(response) {
// response为complete回调的传入参数, 对于promise模式调用是then或catch中传入的参数
// 自定义逻辑示例
if (!response) {
return ;
}
const status = response.result && response.result.status;
return {
code: status ? status : 'NULL',
status: ['1001','1002','1003'].includes(status)
}
},
callContainerCustom: function(response) {
// response为complete回调的传入参数, 对于promise模式调用是then或catch中传入的参数
// 自定义逻辑示例
if (!response) {
return ;
}
const status = response.data && response.data.status;
return {
code: status ? status : 'NULL',
status: ['1001','1002','1003'].includes(status)
}
}
})

注意:当认为业务成功时(status = true),code 不能为空(undefined或null),可以使用'NULL'字符串进行替换。