2014-04-01 118 views

回答

0

account.html頁面調用updateEmail

$scope.updateEmail = function() { 
    $scope.reset(); 
    // disable bind to prevent junk data being left in firebase 
    $scope.unBindAccount(); 
    changeEmailService(buildEmailParms()); 
    }; 

它調用changeEmailService

,截至到 AccountCtrl controller
<button ng-click="updateEmail()">update email</button> 

角鉤。

本質上,changeEmailService創建一個新帳戶,驗證它,然後刪除舊帳戶。然後它將數據更新到/ user路徑。它使用鏈式承諾回調算法:

 // execute activities in order; first we authenticate the user 
     authenticate() 
      // then we fetch old account details 
      .then(loadOldProfile) 
      // then we create a new account 
      .then(createNewAccount) 
      // then we copy old account info 
      .then(copyProfile) 
      // and once they safely exist, then we can delete the old ones 
      .then(removeOldProfile) 
      .then(removeOldLogin) 
      // success 
      .then(function() { cb && cb(null) }, cb) 
      .catch(errorFn); 
+0

因此,如果用戶ID是user22,然後他們改變他們的電子郵件他們的用戶ID將改爲說user245?如果是這樣,你會如何建議讓他們與他們的所有數據相關聯? – Jeffrey

+0

我不確定你的用戶名是什麼意思。對於電子郵件/密碼登錄(這是您可以更改用戶的電子郵件地址的唯一示例),用戶標識將類似於「kato @ domain,com」,而uid將爲「password:kato @ domain,com」。如果您允許用戶更改其電子郵件地址,那麼您必須相應地更新其數據。 – Kato

+0

當我按照火力示例代碼我結束瞭如下的結構:使用者[simplelogin:1 [電子郵件地址:名@ address.com,名稱:喬],simplelogin:2 [電子郵件地址:..,名稱:..]] 。如果我更改了電子郵件地址,它會在我剛剛列出的json中更改我的電子郵件,但在Firebase管理控制檯簡單登錄選項卡下的「註冊用戶」列表中,電子郵件地址不會更改。如果我更改了我的電子郵件地址,它只會出現在json文件中,我需要使用我註冊的電子郵件地址登錄。我正在尋找一種方法來更改這兩個電子郵件,同時保持我的json數據鏈接仍然是相同的uid(simplelogin:1)。 – Jeffrey

相關問題