0

在我的钛 app.js 中,我有下面的云注册/登录代码片段......

登记:

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);
   }
    });
});
4

1 回答 1

1

如果您使用您在此处提出的登录问题中的代码

钛登录/注册

而我们的 user_id 来自

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);
  }
});

创建一个函数来向用户展示

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);
      }
  });
}
于 2013-10-13T15:47:16.337 回答