上传自定义业务状态码

探针提供函数配置项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'字符串进行替换。

© 2007-2023 北京基调网络股份有限公司 all right reserved,powered by Gitbook本文档更新于: 2023-12-27 15:43

results matching ""

    No results matching ""