特定于当前登录用户的数据对象

问题描述 投票:0回答:1
  • 目标是用户最多可以在obj userA中保存7个字段值,注销,重新登录,然后保存的值就在其中,可以检索。特定于每个用户。我正在尝试创建对象ie userA并对其进行更新,因为用户将每个字段值(ie BaseMap: basemapSaved)保存起来,将更新后的状态保存在本地存储中,然后使用本地存储。因此,当用户注销然后重新登录时,他们保存的数据仍然存在。

下面是我最近的尝试(完整的js):任何指针?我要把这都弄错了吗?

var currentUser;
var basemapSaved;
var userA;

function checkUser()  {
  var node = document.querySelectorAll("span.user")[0];
  currentUser = node.textContent;
  var key = currentUser;
  console.log("current user is:" + key);

  userA[key] = { 
    BaseMap: basemapSaved,
  }
}

var basemapMod = document.getElementsByClassName("basemap")[0];
basemapMod.addEventListener('click', ()=>{ 
      BaseMapSaver();
});

function BaseMapSaver() {
  savebtnBM.addEventListener('click', ()=>{ 
    checkUser();
    basemapSaved = myApp.widgets.bigData.Gallery.map.Item.id;

    saveMap = localStorage.setItem('userA', JSON.stringify(userA.BaseMap.basemapSaved));

    console.log(saveMap);
    console.log(userA);
  });
}
var Hbtn = document.getElementById("home");

Hbtn.addEventListener('click', ()=>{
    checkUser();

    userBaseMap = JSON.parse(localStorage.getItem(userA.BaseMap.basemapSaved)); 
    console.log(userBaseMap);

    myApp.widgets.bigData.Gallery.map = {
      Item: {
          id: userA.BaseMap.basemapSaved
        }
      };
});
javascript object ecmascript-6 local-storage
1个回答
1
投票
Hbtn.addEventListener('click', ()=>{ checkUser(); const userAParseValue = JSON.parse(localStorage.getItem('userA')); userBaseMap = userAParseValue.userA.BaseMap.basemapSaved; console.log(userBaseMap); myApp.widgets.bigData.Gallery.map = { Item: { id: userA.BaseMap.basemapSaved } }; });
© www.soinside.com 2019 - 2024. All rights reserved.