Ну, у тебя, похоже, есть Микрофронтендс.Точно так же, как каждый микросервис предназначен для очень конкретной сущности, каждый микро-интерфейс предназначен для очень конкретной сущности.И это то, что у вас, похоже, есть.
Очень распространенный подход к обмену данными между микро-интерфейсами заключается в определении пользовательских событий.
Микро-интерфейс (A) может генерировать событие, подобное этому:
// this is attached to the button in micro-frontend A
btn.onclick = () => {
const event = new Event("a__click");
window.dispatchEvent(event);
};
Другой микро-интерфейс (B) может слушать это событие и реагировать соответственно:
// fire this when the micro-frontend initializes
window.addEventListener("a__click", () => this.onUpdateCount());
// actual method to update the count
onUpdateCount(amt = 1) {
this.state.count += amt;
const countEl = this.shadowRoot.getElementById("b__count");
countEl.innerHTML = this.state.count;
}
Вот удивительно поучительная статья на тему Medium от парня по имени Бенджамин Джонсон, которую вы, возможно, захотите прочитать, чтобы узнать больше об этом.
Как говорится, с тех порэто DOM Events, кто-то еще может их как-то перехватить.В этих случаях вы могли бы внедрить пользовательский микросервис, который мог бы возвращать определенную конфиденциальную информацию, а затем делать с ней необходимую информацию.