You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用LWC筛选Salesforce平台事件?

平台事件订阅过滤器不生效的解决方案

你的问题出在订阅时未传入过滤条件参数,当前代码调用subscribe方法只传了3个参数,而过滤规则需要通过第四个options参数指定才能生效。

修改步骤:

  1. 在handleSubscribe方法中,调用subscribe时添加第四个参数options,其中包含filter属性,值为你的平台事件过滤条件。
  2. 确保过滤条件使用事件字段的API名称,语法符合Salesforce平台事件过滤规则(比如字符串值用单引号包裹,支持=、!=、IN等运算符)。

修改后的代码示例:

// Handles subscribe button click
handleSubscribe() {
    // Callback invoked whenever a new event message is received
    const messageCallback = function(response) {
        console.log('New message received: ', JSON.stringify(response));
        // Response contains the payload of the new message received
    };

    // 定义过滤条件,替换为你实际的字段和规则
    const subscribeOptions = {
        filter: "WhatsAppNumber__c = '+123456789'" // 示例:过滤特定号码的事件
    };

    // Invoke subscribe method of empApi. Pass reference to messageCallback and options
    subscribe(this.channelName, -1, messageCallback, subscribeOptions).then(response => {
        console.log('Subscription request sent to: ', JSON.stringify(response.channel));
        this.subscription = response;
        this.toggleSubscribeButton(true);
    });
}

关键注意事项:

  • 替换channelName为你实际的WhatsAppMessage事件API名称(比如/event/WhatsAppMessage__e),当前代码里是Sample__e,这可能也是一个问题点。
  • 过滤条件中的字段必须是平台事件的可过滤字段(平台事件字段默认支持过滤,无需额外配置),确保API名称拼写完全正确。
  • 如果需要动态设置过滤条件,可以把subscribeOptions.filter的值替换为动态变量,比如从组件输入或其他逻辑获取。

内容的提问来源于stack exchange,提问作者Arturo Castro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:50:37