Как https://www.npmjs.com/package/secure-ls#api -документация , для которой требуется секретный секрет, поэтому если мы забудем установить эту опцию, то при каждом обновлении sh ваши данные vuex будут отбрасываться. кстати, если вы хотите использовать secure-ls, вам следует передать ему объект, подобный следующему:
{
encodingType: "aes",
encryptionSecret: "along and specific key here",
isCompression: true
}
Вы можете использовать https://www.npmjs.com/package/simple-browser-fingerprint, чтобы иметь хороший ключ для браузера , поэтому полный ответ может быть таким, как показано ниже, только для производственного режима:
//securityOptions.ts";
import simpleBrowserFingerprint from "simple-browser-fingerprint";
const securityOptions = {
encodingType: undefined as unknown,
encryptionSecret: undefined as unknown,
isCompression: undefined as unknown
};
if (process.env.NODE_ENV === "production")
Object.assign(securityOptions, {
encodingType: "aes",
encryptionSecret: simpleBrowserFingerprint(),
isCompression: true
});
export default securityOptions;
//store.js
import securityOptions from "@/store/securityOptions";
const ls = new SecureLS(securityOptions);
Примечание: пожалуйста, учтите, что это не золотой ключ к вашей проблеме, но иметь что-то для безопасности лучше, чем не иметь ничего.