2017-09-27 106 views
0

我正在嘗試製作一個在線和離線運行的應用程序,但我希望我的用戶能夠進行身份驗證或登錄一次。所以在初次登錄後,我希望他們不能再次看到登錄表單,我想向他們展示應用程序的新部分。他們應該僅在他們決定註銷時才能看到登錄表單。我的問題是,如果他們總是在線,我可以更容易地做到這一點,但他們也可能會脫機,所以我只需要他們登錄一次,下次他們啓動應用程序時,他們不會再看到登錄表單,而他們會看到別的東西。如何離線驗證反應原生應用程序

+0

你到目前爲止嘗試過什麼? – kalabalik

回答

0

沒有脫機驗證。進行身份驗證,以便服務器端確保它由給定的身份使用,因爲您永遠不會信任客戶端。如果沒有服務器端,則不存在認證過程。

如果您只是想讓用戶使用您的應用程序,即使他在線,爲什麼您沒有在成功驗證後在本地存儲器中存儲用戶配置文件的本地副本? (當然只有非關鍵數據)。 這樣,您的應用程序可以依靠其內存來獲取用戶配置文件,而不是在脫機狀態下訪問服務器。

0

您可以將一種「userIsAuthenticated」-Flag保存到本地存儲(請參閱https://facebook.github.io/react-native/docs/asyncstorage.html)。

基於此標誌,您可以決定用戶在啓動時看到的屏幕。

但是請注意,如果網絡連接(可能是壞的3g/4g的原因)被中斷,它可能會使用戶瘋狂,如果他們有重新登錄的全部內容。

如果用戶不在線,您還會通知他們必須聯機才能使用此應用程序。

順便說一句:要請求用戶是否有網絡連接,您可以使用:http://facebook.github.io/react-native/releases/0.48/docs/netinfo.html#netinfo

不要忘記在AndroidManifest.xml中設置允許使用該請求的權限。

相關問題