2017-07-16 160 views
1

我有一个离子1应用程序,我在登录时只在android上出现奇怪的错误。只有当用户第一次打开应用程序并登录时,它才能完美记录。当他注销并尝试再次登录时,我收到错误“Auth/Network-Request Failed”,并且无法登录,除非他关闭应用程序并重新打开。我没有得到什么问题,为什么第一次工作。这是我的代码。Ionic firebase登录问题

<ion-content style="background-image:url(img/LoginBack.jpg); background-size:100% 100%;" ng-controller="LoginController"> 

    <hr style="height:100px; visibility:hidden"> 
     <div align="center"> 

      <img src="img/loggo.png" style="width:43%;height:13vh"> 

     </div> 
<hr style="height:20px; visibility:hidden"> 
     <div align="center"> 
      <div style="width:100%;padding:5px 10px 5px 10px" align="center"> 
       <h5 class="button" style="color:white;min-height:12px;line-height:12px;background-color:#3b5998;width:100%;color:white;border-radius: 20px" 
       ng-click="FacebookLogin()"> 
      <div class="row" style="padding:0px"> 
       <div class="col col-10" style="padding:3px 0 0 0"> 
        <i class = "ion-social-facebook larger" style="margin-right:50px"> </i> 
        </div> 
       <div class="col col-80" align="center" style="padding:0;line-height:35px"> 
        Sign in with Facebook 
       </div> 
        <div class="col col-20"> 

        </div> 
        </div> 
       </div> 

      </div> 

     <div class="padding" style="width:100%;" align="center" ng-show="!toggle"> 
      <button style="min-height:35px;line-height:35px;width:100%;border-radius: 20px" class="button button-balanced small_button" 
      ng-click="Switch()"> 
       Already have an account? Log in 
      </button> 

     </div> 


     <div style="width:100%; padding:10px 10px 0 10px" ng-show="toggle"> 

      <div align="center" style="padding-top:10px;padding-bottom:10px"> 
       <input ng-model="registerusername" align="center" style="padding:20px;background-color:rgba(0, 0, 0, 0.4);padding-left:20px;color:#2ab041;border-radius:5px" 
       placeholder="Email" type="text" required> 
       <br> 
       <input align="center" ng-model="registerpassword" style="padding:20px;background-color:rgba(0, 0, 0, 0.4);padding-left:20px;color:#2ab041;border-radius:5px" 
       placeholder="Password" type="password" required> 

      </div> 

      <div class="col " style="background-color: transparent"> 

       <h6 style="margin:5px 0 10px 0;padding:0px;min-height:6vh;line-height:6vh;width:100%;border-radius: 20px" class="button button-balanced small_button" 
       ng-click="LogIn(user)"> 
       Sign in 
      </h6> 

      </div> 
      <div class="col col-10" style="background-color: transparent"> 


      </div> 
     </div> 

     <div align="center"> 
      <h4 style="margin-top:-2px;padding-top:0px;font-weight:bold;color:white; font-size:15px"> 
       or 
      </h4> 

     <div class="padding" style="width:100%;" align="center"> 
      <button style="min-height:35px;line-height:35px;width:100%;border-radius:20px;background-color:white;color:#2ab041" class="button button-balanced small_button" 
       ng-click="GoToRegister()"> 
       Register with Email 
      </button> 

     </div> 

      <div align="center"> 
       <h6 style="color:white" ng-click="GoToForgetPass()"> 
        Forgot your password? 
       </h6> 
      </div> 

     </div> 
</ion-view> 

// JS文件 firebase.auth()。signInWithEmailAndPassword($ scope.registerusername,$ scope.registerpassword) 。然后(功能(用户){// GO HOMEPAGE }) .catch (功能(错误){ alert(errorCode);
});

+0

Firebase身份验证使用'navigator.onLine'来检测网络状态。如果偶尔发生这个问题,它可能与'navigator.onLine'有关。尝试安装https://github.com/apache/cordova-plugin-network-information修复'navigator.onLine'问题。 – bojeil

回答

0

您是否在登出时使用此方法?

firebase.auth().signOut().then(function() { 
// Sign-out successful. 
}, function(error) { 
// An error happened. 
});