订阅大厅管理问候仪表板事件
当接待员在大厅管理仪表板中更改服务区域时,Salesforce Scheduler 会在lightning__appointmentBooking_greeterDashboard渠道上发布 Lightning Message Service (LMS) 事件。订阅自定义 Lightning Web 组件或 Aura 组件,以保持自定义候补名单、预约或数据视图与选定区域同步。
所需的 Edition
| 适用于:Lightning Experience。 |
| 适用于:Enterprise 和 Unlimited Edition |
渠道
| 渠道名称 | lightning__appointmentBooking_greeterDashboard |
| 范围 | APPLICATION |
| 曝光 | 外部。该渠道适用于命名空间和在平台上运行的客户代码。 |
消息有效载荷
| 属性 | 数据类型 | 详细信息 |
|---|---|---|
eventType |
字符串 | 仪表板事件的类型。例如,TERRITORY_CHANGE。 |
eventData |
对象 | 特定于事件的数据。内部结构取决于eventType。 |
Lightning Web 组件示例
要收听lightning__appointmentBooking_greeterDashboard事件,请从lightning/messageService导入 Lightning Message Service 功能,并将渠道引用传递给subscribe()方法。
import { LightningElement, wire } from 'lwc';
import {
subscribe,
unsubscribe,
APPLICATION_SCOPE,
MessageContext
} from 'lightning/messageService';
import GreeterDashboardChannel from '@salesforce/messageChannel/lightning__appointmentBooking_greeterDashboard';
export default class GreeterDashboardExample extends LightningElement {
subscription = null;
eventType;
eventData;
@wire(MessageContext)
messageContext;
connectedCallback() {
this.subscribeToMessageChannel();
}
subscribeToMessageChannel() {
if (!this.subscription) {
this.subscription = subscribe(
this.messageContext,
GreeterDashboardChannel,
(message) => this.handleMessage(message),
{ scope: APPLICATION_SCOPE }
);
}
}
handleMessage(message) {
const { eventType, eventData } = message;
if (eventType === 'TERRITORY_CHANGE') {
console.log('Territory changed:', eventData);
}
}
}Aura 组件示例
在组件标记中,声明消息渠道。
<lightning:messageChannel type="lightning__appointmentBooking_greeterDashboard"
scope="APPLICATION"
onMessage="{!c.onGreeterDashboardMessage}" />在控制器中,处理消息。
({
onGreeterDashboardMessage: function(cmp, evt, helper) {
var eventType = evt.getParam('eventType');
var eventData = evt.getParam('eventData');
if (eventType === 'TERRITORY_CHANGE') {
console.log("Territory changed:", JSON.stringify(eventData));
}
}
})本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!

