2015-08-09 10 views
8

का उपयोग कर मैं वर्तमान में फायरबेस और एंगुलरफायर का उपयोग करके एक कोणीय 1.x एप्लिकेशन का निर्माण कर रहा हूं, जो मेरी बैकएंड/पसंद के सर्वर के रूप में है। चूंकि एप्लिकेशन/वेबसाइट को मोबाइल उपकरणों के लिए अनुकूलित किया गया है और जब आप इसे होमपेज में जोड़ते हैं तो एप्लिकेशन के रूप में पूरी तरह से फिट बैठता है, इसलिए मैं सोच रहा था कि फ़ोन ऑफ़लाइन होने पर भी उपयोगकर्ता को इसका उपयोग करने में सक्षम होना चाहिए।फ़ायरबेस एंजुलर एप्लिकेशन ऑफ़लाइन

वेब पर खोज, मैंने पाया कि फायरबेस एंड्रॉइड जावा के समकक्ष के लिए एक रख-रखाव (सत्य) प्रदान करता है, हालांकि मैं जेएस के लिए ऐसा विकल्प नहीं ढूंढ पाया। मैं फिर एचटीएमएल 5 के स्थानीय स्टोरेज और अंतिम परिवर्तन के समय के आधार पर एक सिंक्रनाइज़ेशन का उपयोग कर मैनुअल दृष्टिकोण के लिए गया था, लेकिन चूंकि मैं कुछ कोणीयफायर के आसान आदेशों (जैसे $ सेव) का उपयोग कर रहा हूं, इसलिए मेरा अधिकांश कोड इस तरह टूटा हुआ है।

कोई सुझाव?

+0

यह प्रश्न (http://stackoverflow.com/questions/25990048/offline-firebase) का उल्लेख है कि AngularFire को बाधित कनेक्शन को दोबारा जोड़ने के लिए समर्थन है, लेकिन वास्तविक ऑफ़लाइन समर्थन नहीं है। ऐसा लगता है कि आपको अपना खुद का समाधान रोल करने या किसी अन्य सेवा का उपयोग करने की आवश्यकता होगी। – Isaac

उत्तर

2

उपयोग $provide.decoratorangular docs
$ provide.decorator का एक अच्छा उपयोग के मामले जब आप, कुछ तृतीय-पक्ष/नदी के ऊपर सेवा है, जो पर अपने मॉड्यूल निर्भर करता है पर मामूली "मरोड़" क्या करने की जरूरत है, जबकि सेवा बरकरार (छोड़ने है क्योंकि आप सेवा के मालिक/रखरखाव नहीं हैं) stackoverflow question

मूल रूप से अगर navigator.onLine === true डेकोरेटर के अंदर और उसके बाद अपनी आवश्यकताओं के आधार angularFire के कुछ तरीकों को ओवरराइड (या अगर firebase लिए अनुरोध विफल रहा है पता लगाने के लिए किसी भी अन्य दृष्टिकोण का उपयोग) आप जांच कर सकता है (बजाय वास्तविक angularFire भेजने का localStorage को लिखने अनुरोध)

यहाँ मेरी example डेकोरेटर के साथ angularfire अधिभावी $add पद्धति का उपयोग करके

और डेकोरेटर

1

की here's the basic example एक पूरी तरह से funct को बनाए रखने है ऑफ़लाइन केस के लिए आयनिंग ऐप मैन्युअल रूप से एक बहुत मुश्किल सड़क हो सकता है, लेकिन कुछ तरीके हैं जहां आप इसे दूर कर सकते हैं, आप kinvey का उपयोग करने का प्रयास कर सकते हैं, मुझे लगता है कि यह वही है जो आपको लगता है कि यह वही है जो आप खोज रहे हैं।

एक और तरीका स्थानीय स्टोरेज के बजाय अनुक्रमित डीबी का उपयोग करना है, और अपनी कनेक्शन स्थिति के आधार पर अपने सहेजने के संचालन का लक्ष्य चुनना है, तो ऑफ़लाइन एचटीएमएल 5 इंडेक्सड डीबी को सिंक करने के बारे में आप बहुत सारे संसाधन देख सकते हैं। मुझे आशा है कि इससे आपको

संबंधित मुद्दे