网站接入QQ登录的两种方法


Posted in Javascript onJuly 22, 2014

首先引入授权js文件

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="101140406" data-redirecturi="http://127.0.0.1" 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")); 
}); 
//这里可以调用自己的保存接口 
//... 
}
Javascript 相关文章推荐
浅谈JavaScript中面向对象技术的模拟
Sep 25 Javascript
asp.net下利用js实现返回上一页的实现方法小集
Nov 24 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
Jun 18 Javascript
javascript使用activex控件的代码
Jan 27 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
Aug 05 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
JavaScript中清空数组的方法总结
Dec 02 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 Javascript
浅析js实现网页截图的两种方式
Nov 01 Javascript
js实现头像上传并且可预览提交
Dec 25 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
Apr 19 Javascript
防止登录页面出现在frame中js代码
Jul 22 #Javascript
一个支付页面DEMO附截图
Jul 22 #Javascript
一个仿糯米弹框效果demo
Jul 22 #Javascript
Jquery节点遍历next与nextAll方法使用示例
Jul 22 #Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
Jul 21 #Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 #Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 #Javascript
You might like
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
php向js函数传参的几种方法
2014/08/10 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
PHP之header函数详解
2021/03/02 PHP
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
w3c编程挑战_初级脚本算法实战篇
2017/06/23 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
见习期自我鉴定
2014/01/31 职场文书
愚人节活动策划方案
2014/03/11 职场文书
绿色小区申报材料
2014/08/22 职场文书
院系推荐意见
2015/06/05 职场文书
vue判断按钮是否可以点击
2022/04/09 Vue.js