Node-Persist getItem()/ setItem()进入同步功能失败

时间:2018-05-16 00:15:32

标签: node.js node-persist

我有一个正在运行的应用程序,但在完成包升级后停止工作。 node-persist问题。 升级是必需的,所以请不要建议降级。 :)

获取物品的原始工作版本:

function getAccounts (masterPassword) {
  // use getItemSync to fetch accounts
  var encryptedAccount = storage.getItemSync('accounts')
  var accounts = []

  // decrypt
  if (typeof encryptedAccount !== 'undefined') {
    var bytes = crypto.AES.decrypt(encryptedAccount, masterPassword)
    accounts = JSON.parse(bytes.toString(crypto.enc.Utf8))
  }

  // return accounts array
  return accounts
}



function saveAccounts (accounts, masterPassword) {
  // encrypt accounts
  var encryptedAccounts = crypto.AES.encrypt(JSON.stringify(accounts), masterPassword)

  // setItemSync
  storage.setItemSync('accounts', encryptedAccounts.toString())
  return accounts
}

我关注了这个问题:node-persist - NodeJS 和MDN:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage以及GitHub中的文档:https://github.com/simonlast/node-persist但仍无效。

错误。主要电话:

var createdAccount = createAccount({
      username: argv.username,
      password: argv.password
    }, argv.masterPassword)
    console.log('Account created!')
    console.log(createdAccount)
  } catch (e) {
    console.log('Unable to create account.')
    console.error(e)
  }

使用createAccount函数:

function createAccount (account, masterPassword) {
  var accounts = getAccounts(masterPassword)

  accounts.push(account)

  saveAccounts(accounts, masterPassword)

  return account
}

失败:

SyntaxError: Unexpected end of JSON input

在这一行:

accounts = JSON.parse(bytes.toString(crypto.enc.Utf8))

您是否可以使用storage.getItem()storage.setItem()

提供新版本

0 个答案:

没有答案