0

我开发了一个应用程序,它有一个登录应用程序的屏幕。我需要在主页显示当前用户的详细信息。当我第一次登录应用程序时效果很好。但是我收到一个错误:当我在注销后再次尝试登录时,您需要先登录或注册才能继续。具有相同代码的android os中没有问题

这是一个示例代码,

var win = Ti.UI.createWindow({
    backgroundColor : '#520000'
});

var btnLogin = Ti.UI.createButton({

    title   : 'Login',
    top     : '20%',
    width   : '50%'
});
var Cloud = require('ti.cloud');

win.add(btnLogin);
win.open();

btnLogin.addEventListener('click', Login);

function Login(){

    Cloud.Users.login({
        login: 'anand@gmail.com',
        password: 'anandt'
    }, function (e) {
        if (e.success) {
            var user = e.users[0];  
            var mainWin = Ti.UI.createWindow({
                backgroundColor : '#005200',
                url             : 'logout.js'
            });

            mainWin.open();

        } else {
            alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
        }
});
}

申请主页面

var Cloud = require('ti.cloud');

var logoutWin = Ti.UI.currentWindow;

var btnLogout = Ti.UI.createButton({    
    title   : 'Logout',
    top     : '20%',
    width   : '50%'
});

logoutWin.add(btnLogout);
logoutWin.addEventListener('open', function(){
    Cloud.Users.showMe(function (e) {
        if (e.success) {
            var user = e.users[0];
            alert('user is ' + 'first name: ' + user.first_name + ' ' + 'last name: ' + user.last_name);
        } else {
            alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });
});
btnLogout.addEventListener('click', Logout);


function Logout()
{
    Cloud.Users.logout(function (e) {
        if (e.success) {
            logoutWin.close();
        } else {
            alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });
}

这是用户第一次登录后显示的屏幕,没有任何注销

这是用户第一次登录后显示的屏幕,没有任何注销

这是用户登录一次或多次注销后显示的屏幕(无需重新启动应用程序) 这是用户登录一次或多次注销后显示的屏幕(无需重新启动应用程序)

任何帮助将不胜感激

4

1 回答 1

1

使用 URL 加载窗口会导致会话 ID 在上下文之间错位。不要使用网址。

于 2012-10-31T13:30:50.977 回答