Хранилище истории и пользовательских настроек
Обновлено 15 января 2024
По умолчанию хранение истории сообщений и пользовательских настроек чата включено и реализуется с помощью window.localStorage
.
Вы можете отключить хранение истории и/или настроек, а также заменить хранилище на собственное, реализующее объекты ChatHistoryStore
или ChatUserPreferencesStore
.
Чтобы управлять хранением истории и пользовательскими настройками, используйте параметры history
и userPreferences
. Их свойства:
store?: ChatHistoryStore | ChatUserPreferencesStore
— собственная реализация хранилища;disable?: boolean
— еслиtrue
, то хранение данных будет отключено. По умолчаниюfalse
.
Пример использования собственного хранилища истории сообщений на примере плавающего чата:
import React, { FC } from 'react';
import { ChatHistoryStore } from '@sberdevices/assistant-web-sdk';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';
const historyStore: ChatHistoryStore = {
clear: () => {},
getHistory: () => [],
setHistory: (history = []) => {},
};
const history = {
store: historyStore,
disable: false,
};
export const FloatingChatWithAssistant: FC = () => {
return <FloatingAssistantChatLottie {...props} history={history} />;
};
Использование собственного хранилища пользовательских настроек:
import React, { FC } from 'react';
import { ChatUserPreferencesStore } from '@sberdevices/assistant-web-sdk';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';
const userPreferencesStore: ChatUserPreferencesStore = {
clear: () => {},
getCharacter: () => 'sber',
getMuteMode: () => false,
getFirstSession: () => true,
setCharacter: (character) => {},
setFirstSession: (wasFirstSession) => {},
setMuteMode: (muteMode) => {},
};
const userPreferences = {
store: userPreferencesStore,
disable: false,
};
export const FloatingChatWithAssistant: FC = () => {
return <FloatingAssistantChatLottie {...props} userPreferences={userPreferences} />;
};