Ниже приведен синтаксис для добавления шифрования и дешифрования непосредственно в функцию экспорта ...
export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
return localStorageSync({
keys: [{'product': {
encrypt: state => ****ENTER YOUR ENCRYPTION FUNCTION HERE****,
decrypt: state => ****ENTER YOUR DECRYPTION FUNCTION HERE****
}}],
rehydrate: true
})(reducer);
}
И вот как это выглядело бы, если бы мы использовали правило шифрования / дешифрования base64. .
export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
return localStorageSync({
keys: [{'product': {
encrypt: state => btoa(state),
decrypt: state => atob(state)
}}]
})(reducer);
}
btoa (состояние) и atob (состояние) находятся во встроенных JavaScript функциях. (Поправьте меня, если я ошибаюсь).
Если вы хотите разработать свои собственные правила шифрования / дешифрования, то замените btoa (состояние) и / или atob (состояние ) к вашим собственным функциям.
Я бы порекомендовал это, потому что любой мог скопировать шифрование base64, а затем легко расшифровать его с помощью любого онлайн-инструмента.
Примечание: кто-то создал запрос pull для размещения документации для encrpyt / decrypt для ngrx-store-localstorage, но он не был принят автором более 3 месяцев.
Вот ссылка, если вы хотите прочитать запрос pull ... https://github.com/btroncone/ngrx-store-localstorage/pull/137
Если мне понадобилось слишком много времени, чтобы выяснить синтаксис, но я получил его в итоге.
Приятного дня. :)