Twilio Flex 中的 CRMContainer 问题

Issue with CRMContainer in Twilio Flex

我构建了一个简单的插件,它在 CRMContainer 中显示我的 CRM 的 url 给定一些属性参数(如果它们被传递),在入站任务期间这工作正常,但问题是在出站期间调用行为不是预期的行为,这是一段代码:

flex.CRMContainer.defaultProps.uriCallback = (task) => {
  return task
 
    ? `https://mycrm.zzz/${task.attributes.clicar}/${task.attributes.contacth}/`
    : 'https://mycrm.zzz/contacts/';
  }

}

我需要一个附加条件来告诉代码,如果这是一个始终显示默认值的出站语音呼叫 url。 我尝试添加一个 if/else 来检查 task.attributes.direction 是否出站,但 Flex 说这是未定义的。 任何提示? 谢谢

最大

问题是您没有检查 task 是否存在。您的原始代码是这样的:

flex.CRMContainer.defaultProps.uriCallback = (task) => {
  return task
    ? `https://mycrm.zzz/${task.attributes.clicar}/${task.attributes.contacth}/`
    : 'https://mycrm.zzz/contacts/';
  }
}

只有 task 存在,其中 returns 带有任务属性的 URL,因为三元条件。

因此,当您尝试使用属性时,您需要确保 task 存在。所以从最后一条评论中获取你的代码,它应该是这样的:

flex.CRMContainer.defaultProps.uriCallback = (task) => {
  if (task) {
    if (task.attributes.direction === 'outbound'){
      return `https://mycrm.zzz/${task.attributes.clicar}/${task.attributes.contacth}/`;
    } else {
      return `https://mycrm.zzz/contacts/`
    }
  } else {
    return 'https://mycrm.zzz/contacts/';
  }
}