您的位置:首页 - 教程 - IT技术 - 正文
网站接入QQ登录的两种方法
网站接入QQ登录,首先引入授权js文件,这个需要提交申请的,通过之后按照下面的步骤进行操作就可以了
首先引入授权js文件
 <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="101303958" data-redirecturi="http://hovertree.com/login/" charset="utf-8"></script>

然后接入QQ登录
第一种使用系统自带按钮登录,但是这样会弹出新窗口,不喜欢
 
//调用QC.Login方法,指定btnId参数将按钮绑定在容器节点中
QC.Login({
//btnId:插入按钮的节点id,必选
btnId:"qqLoginBtn",
//用户需要确认的scope授权项,可选,默认all
scope:"all",
//按钮尺寸,可用值[A_XL| A_L| A_M| A_S| B_M| B_S| C_S],可选,默认B_S
size: "B_M"
}, function(reqData, opts){//登录成功
console.log(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();" rel="external nofollow" >退出</a></span>'
].join("");
dom && (dom.innerHTML = QC.String.format(_logoutTemplate, {
nickname : QC.String.escHTML(reqData.nickname), //做xss过滤
figureurl : reqData.figureurl
}));
}, function(opts){//注销成功
alert('QQ登录 注销成功');
});
第二种,使用自定义按钮<a>标签链接过去,然后成功后调用这个地址,a标签的href可以参考第一种window.location

QC.api("get_user_info", {})
//指定接口访问成功的接收函数,s为成功返回Response对象
.success(function(s){
console.log(s);
//成功回调,通过s.data获取OpenAPI的返回数据
alert("获取用户信息成功!当前用户昵称为:"+s.data.nickname);
})
//指定接口访问失败的接收函数,f为失败返回Response对象
.error(function(f){
//失败回调
alert("获取用户信息失败!");
})
//指定接口完成请求后的接收函数,c为完成请求返回Response对象
.complete(function(c){
//完成请求回调
alert("获取用户信息完成!");
});

//检查是否登录
if(QC.Login.check()){//如果已登录
QC.Login.getMe(function(openId, accessToken){
alert(["当前登录用户的", "openId为:"+openId, "accessToken为:"+accessToken].join("\n"));
});
//这里可以调用自己的保存接口
//...
}

评论: