Хранение данных в локальном хранилище с использованием Javascript - PullRequest
0 голосов
/ 28 февраля 2019

Как я могу сохранить исходный пароль в моем локальном хранилище?

У меня есть два ввода имени пользователя и пароля:

<input id="myInput" type="text" name="myInput" placeholder="Input">
<input id="myPW" type="password" name="myPassword" placeholder="Password">

Что я хочу сделать в своем JavaScript, этосохранить мое имя пользователя, пароль, преобразованный в Base64, и оригинальные данные пароля.Но это только хранить имя пользователя и пароль Base64.Оригинальный пароль не сохраняется.Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вы вводите после строки inpw.value = ""; Кроме того, не повторяйте себя.Я делаю некоторый рефакторинг.Вы должны написать функции для получения учетных данных для localalstore, например

const storedValue = ['user', 'pass', 'origin']

const credential = getCredentialFromStore(storedValue)

const getCredentialFromStore = (storedValue) => {
  const result = []
  storedValue.forEach(item => {
    result[item] = localStorage.getItem(item) ? JSON.parse(localStorage.getItem(item)) : [];
  })
  return result
}

, а также написать некоторую функцию для установки учетных данных для localstore, например

const addToCredential = (credential, key, value) => {
  credential[key].push(value);
  localStorage.setItem(key, JSON.stringify(credential[key]));
  return credential
}

Использование:

addToCredential(credential, 'user', inp.value)
addToCredential(credential, 'pass', window.btoa(inpw.value))
addToCredential(credential, 'orig', inpw.value)
0 голосов
/ 28 февраля 2019

Поскольку вы устанавливаете inpw.value в пустую строку, прежде чем использовать ее, чтобы ввести оригинальный пароль.

  userArray.push(inp.value);
  localStorage.setItem('user', JSON.stringify(userArray));
  inp.value = "";

  passArray.push(window.btoa(inpw.value));
  localStorage.setItem('pass', JSON.stringify(passArray));
  inpw.value = ""; // This makes next inpw.value equals ""

  origPassArray.push(inpw.value); // So this will push an empty string to the array
  localStorage.setItem('orig', JSON.stringify(origPassArray));
  inpw.value = "";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...