背景:
在Lightning模式下,当显示Lightning控制台应用程序时,根据从我的第三方应用程序收到的特定消息,我调用sforce.opencti.setSoftphonePanelVisibility(true)
,首先隐藏(稍后)软电话,然后再次显示。
当我调试我的代码时,我可以验证,调用
sforce.opencti.setSoftphonePanelVisibility(true)
导致了这种行为。
所以,我决定先调用
sforce.opencti.isSoftphonePanelVisible()
,然后根据其回调中的响应,我决定调用
sforce.opencti.setSoftphonePanelVisibility(true)
或不。{/ p>
问题是,当我这样做时,sforce.opencti.setSoftphonePanelVisibility(true)
没有任何效果,尽管OpenCTI调用被正确响应(response.success = true和response.errors = undefined):仍然将软电话最小化。 / p>
提前致谢。
答案 0 :(得分:0)
只是为了分享我如何解决(解决方法)这个问题。
我实现的一个很好的功能解决方法是首先在softphone的初始化阶段调用sforce.opencti.setSoftphonePanelVisibility({visible:true});
。然后,我检查要显示的GUI的内容。如果有要显示的呼叫,则必须保持软电话可见。否则,将使用sforce.opencti.setSoftphonePanelVisibility({visible:false});
隐藏它。
sforce.opencti.isSoftphonePanelVisible();
后跟sforce.opencti.setSoftphonePanelVisibility({visible:true});
的所有后续通话都将有效至100%。
OpenCTI似乎期望在sforce.opencti.setSoftphonePanelVisibility({visible:true});
之前首先调用sforce.opencti.isSoftphonePanelVisible();
。