我开发了一个应用程序,它有一个登录到应用程序的屏幕。我需要在主页面显示当前用户的详细信息。我第一次登录应用程序时效果很好。但是我收到了一个错误:您需要在登录前注册或注册,当我尝试在注销后再次登录时。 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)));
}
});
}
这是用户首次登录后没有任何注销
的屏幕
此屏幕显示用户使用一次或多次注销登录后(无需重新启动应用)
任何帮助将不胜感激
答案 0 :(得分:1)
使用URL加载窗口会导致会话ID在上下文之间被破坏。不要使用网址。