로비 관리 고객을 맞이하는 사람 대시보드 이벤트 구독
고객을 맞이하는 사람이 로비 관리 대시보드에서 서비스 영역을 변경하면 Salesforce Scheduler가 lightning__appointmentBooking_greeterDashboard 채널에 Lightning 메시지 서비스(LMS) 이벤트를 게시합니다. 사용자 정의 Lightning 웹 구성 요소 또는 Aura 구성 요소에서 구독하여 사용자 정의 대기 명단, 약속 또는 데이터 보기를 선택한 영역과 동기화합니다.
필수 Edition
| 지원 제품: Lightning Experience. |
| 지원 제품: Enterprise 및 Unlimited Edition |
채널
| 채널 이름 | lightning__appointmentBooking_greeterDashboard |
| 범위 | APPLICATION |
| 노출 | 외부 이 채널은 네임스페이스 전체 및 플랫폼에서 실행되는 고객 코드에서 사용할 수 있습니다. |
메시지 페이로드
| 속성 | 데이터 유형 | 세부 사항 |
|---|---|---|
eventType |
문자열 | 대시보드 이벤트의 유형입니다. 예를 들면, TERRITORY_CHANGE입니다. |
eventData |
개체 | 이벤트와 관련된 데이터입니다. 내부 구조는 eventType에 따라 다릅니다. |
Lightning 웹 구성 요소 예제
lightning__appointmentBooking_greeterDashboard 이벤트를 들으려면 lightning/messageService에서 Lightning 메시지 서비스 기능을 가져와 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));
}
}
})이 기사를 통해 문제를 해결했습니까?
개선을 위한 의견을 보내주세요.

