2017-08-02 47 views
0

sqlite的存儲我已經有一個正在運行的應用程序在離子2測試版,我使用本地存儲在user_id存儲所記錄的檢查,如果用戶登錄或沒有。 現在,我將切換到應用離子3,現在我使用離子的SQLite的存儲,所以問題是,我不想再次要求登錄到我的用戶更新從App Store中的後。我想獲取設備本地存儲並在SQLite中輸入並刪除。我們可以retrive本地存儲,即使我們使用離子型3應用

這裏有什麼事離子2測試版的應用程序做

import { Storage, LocalStorage } from 'ionic-angular'; 

... 

    constructor() { 
     this.local = new Storage(LocalStorage); 
    } 

    this.local.set('user_id', user_id); 

而在愛奧尼亞3應用:

import { Storage } from '@ionic/storage'; 

... 

    constructor(public local: Storage) { 
     this.local.get('user_id').then((user_id) => { 
      console.log('USER ID: ' + user_id); 
     }); 
    } 
    ... 

問:現在我想要什麼,如果用戶更新自己的應用程序,然後系統首先檢查對於本地存儲已被設置爲應用程序,如果是,那麼系統將它們作爲新的應用程序並刪除它們,這樣用戶就不需要更新應用程式,再登記。

有什麼想法? 在此先感謝。

回答

0

好吧,你可以做的是首先如果您有任何數據來檢查您的本地存儲的值。

這樣我把這個代碼我app.component

  //initialize the storage 
      this.storage.get('credentials').then(data => { 
       //check if data is null or no data yet. 
       if (data != null) { 

        // you can do is to 
        this.nav.setRoot(login); 

       } else { 

       //or is here is a logged user you can do 
       this.nav.setRoot(home); 

       } 
       }).catch(error => { 

       }); 
0

裏面我發現了一個解決方案,它很簡單。 只使用核心JavaScript獲得本地存儲如下:

let preLocalStorage = window.localStorage; 
let user_id = preLocalStorage.getItem('user_id'); 

,然後把值源碼如下:

this.local.set('user_id',user_id); 

它的工作完美!

謝謝

相關問題