我正在使用 Sencha 创建一个应用程序,我需要在其中集成 facebook 登录。当我点击“用 facebook 登录”按钮时,如果用户没有登录 facebook,它应该显示一个弹出窗口来输入 facebook 电子邮件 ID 和密码,否则如果用户已经登录它应该只是签名- 使用 facebook 身份验证。如何使用 sencha touch 实现这一点。请帮忙 。如果提供此功能的代码将很有帮助。谢谢
问问题
1429 次
2 回答
4
首先,您必须使用 facebook 创建 JavaScript SDK 应用程序(请点击此链接)。创建应用程序后,您将拥有 APP ID。然后将以下代码添加到 app.js
Ext.application({
name: 'FBLogin',
launch: function() {
Ext.create('Ext.container.Viewport', {
items:[
{
xtype: 'panel',
html: '<center><div id="fblogin" class="fb-login-button">Login with Facebook</div></center>'
}
],
listeners:{
render: function(obj, eOpts){
window.fbAsyncInit = Ext.bind(this.onFacebookInit, this);
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
}
},
onFacebookInit: function(){
console.log('onFacebookInit');
var me = this;
FB.init({
appId : 'YOUR_APP_ID',
status : true,
xfbml : true
});
FB.Event.subscribe('auth.authResponseChange', Ext.bind(me.onFacebookAuthResponseChange, me));
},
onFacebookAuthResponseChange: function(response){
this.down('panel').setVisible(false);
alert("Success fully Logged in");
}
});
}
});
创建 Facebook APP 时,在使用 facebook 登录的网站下会有一个名为“SiteURL:”的字段。这应该指向您的网络应用程序 URL。(例如:http ://example.com )
于 2013-07-26T10:37:48.110 回答
4
您可以尝试使用Phonegap Facebook Connect Plugin 0.4.0(稳定版)和使用Phonegap Plugin Build为Android、Iphone、windows phone、blackbery 等构建包。
//on Device Ready
FB.init({ appId: "appid", nativeInterface: CDV.FB, useCachedDialogs: false });
// call for native app if there else give a popup for login
FB.login(
function(response) {
if (response.session) {
alert('logged in');
} else {
alert('not logged in');
}
},
{ scope: "email" }
);
为了与 sencha 集成,需要在 index.html 文件中添加三个脚本文件 cdv-plugin-fb-connect.js、phonegap.js 和 facebook-js-sdk.js 并将 config.xml 文件添加到项目构建中以用于 phone gap build 用于构建原生应用程序(不使用 sencha 原生打包)。对于 config.xml 文件配置,请参阅此配置帮助 如果有任何疑问,请参阅 此处的github 示例 希望它有效
于 2014-06-04T06:11:45.453 回答