2013-10-13 17 views
0

在我的鈦app.js,我在下面的雲註冊/登錄代碼片段...鈦cloud.users.show

寄存器:

var btnR = Titanium.UI.createButton({ 
title: 'register', 
top: 350, 
left: 10, 
width: 100, 
height:28 
}); 

    btnR.addEventListener('click', function(){ 
    Cloud.Users.create ({ 
       username: username.value, 
       password: password.value, 
       password_confirmation : passwordConfirmation.value, 
       firstName: firstName.value, 
       lastName: lastName.value, 
       email : email.value 
    }, function (e) { 
      if (e.success) { 
      var user = e.users[0]; 
     Ti.App.fireEvent('register'); 
     } else { 
      alert('fail :' + e.message); 
     } 
     }); 
    }); 

登錄:

var btnL = Titanium.UI.createButton({ 
title: 'log in', 
top: 190, 
left: 10, 
width: 100, 
height:50 
}); 

btnL.addEventListener('click', function(){ 
Cloud.Users.login({ 
    login: userNameField.value, 
    password: passwordField.value, 
}, function (e) { 
    if (e.success) { 
     var user = e.users[0]; 
      Ti.App.fireEvent('login'); 
    } else { 
     alert('fail:' + e.message); 
    } 
    }); 
}); 

而在我的home.js中,我有以下代碼。

var search = Titanium.UI.createSearchBar({ 
    hintText: 'search here', 
    showCancel:true, 
    height:35, 
    top:10, 
    center:0, 
    width:250 
}); 
view6.add(search); 


search.addEventListener('cancel', function(e) 
{ 
Titanium.API.info('search bar cancel fired'); 
search.blur(); 
}); 

好了,我的問題是,如果我想讓用戶能夠通過搜索欄來搜索其他用戶,我應該如何去做到這一點。我嘗試了下面的代碼,但它給了我一個錯誤..「在home.js找不到變量userId」。謝謝你幫助我。

search.addEventListener('return', function(e) 
{ 
Cloud.Users.show({ 
    user_id: userId 
}, function (e) { 
    if (e.success) { 
     var user = e.users[0]; 
     alert('Success:\n' + 
      'id: ' + user.id + '\n' + 
      'first name: ' + user.first_name + '\n' + 
      'last name: ' + user.last_name); 
} else { 
     alert('Oops:' + e.message); 
    } 
    }); 
}); 
+0

加上..上面的代碼是一個單獨的url文件不是主窗口。 –

+0

那麼userId的值來自哪裏呢?從我在這裏可以看到,當它發送時它是不確定的... – mwfire

+0

tbh,我很困惑。 –

回答

1

如果從登錄的問題用你的代碼,你問這裏

Titanium Login/Registration

而且我們從

Cloud.Users.login({ 
    login: userNameField.value, 
    password: passwordField.value, 
}, function (e) { 
    if (e.success) { 
    var user = e.users[0]; 
    user_id = user.id; // assign user id 

    showUser(user_id); 

    alert('success'); 
    } else { 
    alert('Unable to log you in:' + e.message); 
    } 
}); 

的USER_ID創建一個函數來顯示用戶

function showUser(_userId) { 
    Cloud.Users.show({ 
     user_id: _userId 
    }, function (e) { 
     if (e.success) { 
     var user = e.users[0]; 
     alert('Success:\n' + 
      'id: ' + user.id + '\n' + 
      'first name: ' + user.first_name + '\n' + 
      'last name: ' + user.last_name); 
     } else { 
     alert('Oops:' + e.message); 
     } 
    }); 
} 
+0

謝謝Aaron先生,首先,我是你博客的粉絲/追隨者。我只是試過你的代碼,但它不適合我,也許我很好。請允許我,我對移動開發人員還比較陌生。 ***我正在嘗試將用戶登錄到可正常工作的主頁上,但我希望用戶能夠通過「搜索欄」搜索應用程序的其他用戶。 –

+0

如果您需要其他幫助,您將需要提供更多代碼 –

+0

我已經使用更多代碼編輯了以前的代碼。謝謝你幫助我。 –