訂閱大廳管理接待員顯示面板事件
當接待員變更「大廳管理」顯示面板中的服務區域範圍時,Salesforce Scheduler 會在 lightning__appointmentBooking_greeterDashboard 管道上發佈 Lightning 訊息服務 (LMS) 事件。從自訂 Lightning Web 元件或 Aura 元件訂閱,以使自訂候補名單、約會或資料檢視與所選區域範圍保持同步。
必要版本
| 提供版本: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));
}
}
})此文章是否解決您的問題?
請讓我們知道,以便我們改進!

