以下 是自己花了几天时间整的第三方登录,不知道怎么样 只是效果出来了,但具体各个方面有待大家指导。自己倒是学了一些东西。
拿出来分享哈。
效果演示可登录:www.suridea.tv
<p>
<%-- 整合 QQ,新浪 第三方登录--%>
<span id="qqLoginBtn"></span>
<script type="text/javascript" src="js/jquery-1.4.1.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="100294957" data-redirecturi="http://cloud.suridea.cn/Index.aspx"
charset="utf-8"></script>//这里的data-appid="100294957"其中的值你得自己到腾讯开发平台申请 ,如果你对那些流程很熟悉了你就不会费劲了
<script type="text/javascript">
QC.Login({//按默认样式插入QQ登录按钮
btnId:"qqLoginBtn" //插入按钮的节点id
,size: "B_M"
}, function(reqData, opts){//登录成功
//根据返回数据,更换按钮显示状态方法
var dom = document.getElementById(opts['btnId']),
_logoutTemplate=[
//头像
'<span><img src="{figureurl}" class="{size_key}"/></span>',
//昵称
'<span>{nickname}</span>',
//退出
'<span><a href="javascript:QC.Login.signOut();">退出</a></span>'
].join("");
dom && (dom.innerHTML = QC.String.format(_logoutTemplate, {
nickname : QC.String.escHTML(reqData.nickname),
figureurl : reqData.figureurl
}));
}, function(opts){//注销
var msg="嗯嗯,希望下次再看到你的光临哦!";
var openId='signOut';//给一个标识 到Handle.aspx里面处理如果是退出也退出你绑定到你网站的用户注销
$.post(
"Handle.aspx",//异步请求的页面
{GETDATE:new Date().getDate(),openId:openId},
function (data){
isResult=false;
if(window.location.href!=data){//这句话最好加上 ,要不然不断的请求,我没找到好的处理方法请大家 指教
window.location.href=data;
}
});
}
);
var opid;
var isResult=true;
if(QC.Login.check()){//如果已登录
QC.Login.getMe(function(openId, accessToken){
opid=openId;//登录成功后腾讯会返回一个唯一标识的openid可用于你自己网站绑定的用户存档。
$.post(
"Handle.aspx",//如果是首次登录你的网站注册,再次登录直接登录首页
{GETDATE:new Date().getDate(),openId:openId},
function (data){
isResult=false;
if(window.location.href!=data){
window.location.href=data;
}
});
});
}
</script>
<span id="wb_connect_btn"></span>
<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=300958505" type="text/javascript"
charset="utf-8"></script>//appkey=300958505同腾讯一样你的到新浪开发平台上申请一个appkey具体操作新浪开发平台有 介绍。
<script type="text/javascript">
WB2.anyWhere(function(W){
W.widget.connectButton({
id: "wb_connect_btn",
type:"3,2",
callback : {
login:function(o){ //登录后的回调函数
var screen_name=o.screen_name;
$.post(
"Handle.aspx",
{GETDATE:new Date().getDate(),screen_name:screen_name},
function (data){
if(window.location.href!=data){
window.location.href=data;
}
});
},
logout:function(){ //退出后的回调函数
var openId='signOut';
$.post(
"Handle.aspx",
{GETDATE:new Date().getDate(),openId:openId},
function (data){
isResult=false;
if(window.location.href!=data){
window.location.href=data;
}
});
}
}
});
});
</script>
</p>