以下 是自己花了幾天時間整的第三方登錄,不知道怎么樣 只是效果出來了,但具體各個方面有待大家指導。自己倒是學了一些東西。
拿出來分享哈。
效果演示可登錄: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>