最新公司交给我一个实现qq互联登录系统的功能,公司其他人也没有这方面经验,全靠网上搜索资料实现了该功能,下面总结一下个人实现该功能的一些总结,有一些不对的地方望网友交流指正

  首先讲一下我们这边的需求,主要就是实现一个用qq号绑定系统账号后实现qq互联登录的功能 ,我们的需求里不需要获取qq里的一些信息(我们不需要实现利用qq号注册的功能),所以我把我使用js_sdk实现qq互联登录过程分成几个模块来讲一下 ,1.我需要准备的参数 2.我需要获取和存入的的参数3.我需要调用的方法54.我遇到的坑**1.我需要准备的参数:**appid:这个在qq互联申请成功后就会有;这个是放置qq登录按钮页要加入的代码
<script type="text/javascript"  charset="utf-8"src="http://connect.qq.com/qc_jssdk.js"data-appid="APPID"data-redirecturi="REDIRECTURI"
></script>
回调地址:这个就是上面代码里data-redirecturi需要填入的值[关于回调地址](https://wiki.connect.qq.com/%E5%9B%9E%E8%B0%83%E5%9C%B0%E5%9D%80%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%8F%8A%E4%BF%AE%E6%94%B9%E6%96%B9%E6%B3%95)

关于这个回调地址我想强调一下,第一点可以在qq互联申请的时候配多个回调地址,但是需要你在上面script里指定具体哪一个(这个你如果在qq互联申请的时候没有配置的话是绝对不行的) ;
2.我需要从qq那边获取的参数和绑定存入后台数据库的参数:
openid,你需要获取的和存入的仅openid就行,,具体怎么获取我在后面的方法调用里讲
3.我调用的方法:
第一个要调用的方法就是写在包含登录按钮的登录页面的代码如下:

    <script type="text/javascript">QC.Login({btnId:"qqLoginBtn",showModal:true}, cbLoginFun);//插入按钮的节点idvar cbLoginFun = function(oInfo, oOpts){};</script>

这里的qqLoginBtn是登录按钮的id 参数showModal决定是否弹出新页面来点击已登录的qq账号,不建议弹出新页面,默认不写该参数就是false为弹出(注意false是弹出)

第二个方法写在回调页面,我设计这个页面完全是为了跳转使用,其实也可以把这个回调地址设成登录(注意:这个js_sdk在点击已登陆的qq账号后不论是不是我们系统内绑定的qq账号都会先跳转到你设定好的回调地址页面,你也只能在这个页面获取openid,然后向后台发送登录请求)代码如下

<script type="text/javascript">
if(QC.Login.check()){
QC.Login.getMe(function(openId, accessToken){var navus = navigator.userAgent;$.ajax({*****
});window.event.returnValue=false;
});
}
</script>

这里通过回调函数就可以获取openid及accessToken 交给ajax带到后台请求登录,
4.我遇到的坑
第一就是回调地址的坑,这个可以在申请qq互联的时候配好,也可以在后期编辑里修改,但一定要保证配置成功,如果格式有问题或者ip域名及路径格式有问题是配置不成功,每次修改一定要保证修改成功了
第二就是跳转的坑,这个可能不能算是qq互联的坑,要属于浏览对js页面调转代码兼容性问题,在ajax请求登录成功后在成功或失败方法里我试过的几种跳转形式`1.window.location.href=“”(这个基本只有ie支持); 2.window.location.assgin(“”)(这个火狐兼容还行但是还是偶尔有闪退); 3.window.location.repalce(“”); (这个是在替换当前浏览器路经,试了几种浏览器兼容性都不错);4.window.open(”“);(这个浏览兼容都很好,而且可以指定窗口名跳转具体,默认传一个路径就是打开新窗口,可以传第二个参数即指定窗口名称);
这个我遇到的问题就是跳转时浏览器的闪退问题,目前只选用了3,4两种跳转兼容性很好没有闪退情况

利用qq官方提供的js_sdk实现qq互联登录相关推荐

  1. win10电脑开机绕过密码自动登录,微软官方提供修改注册表跳过登录设置方法

    有时候电脑异常重启,默认开机后由于必须登录导致很多开机启动项无法自动运行失去远程控制. 而且之前使用 netplwiz 用户账户设置自动登录的方法已经不能用了. 最新电脑自动登录设置方法: 计算机\H ...

  2. 有效利用Oracle官方的免费学习资源

    概述 OTN 在线产品文档用户手册 例应用实践1In-memory学习 例应用实践2动态视图定义 常用文档列表和简单介绍 白皮书White Paper 例应用实践1In-memory学习 白皮书的列表 ...

  3. 常用的Internet的即时通信(IM)软件-腾讯QQ官方版提供下载

    QQ是腾讯QQ的简称,是我们常用的Internet的即时通信(IM)软件.使用它可以与你的亲朋好友随时随地沟通,QQ不仅支持文字语音还可以视频聊天,同时还为你提供各种表情包,让你的聊天更丰富有趣.除了 ...

  4. Android 用官方SDK实现第三方(qq、微信、微博)登录

    转载请标明原地址:http://blog.csdn.net/gaolei1201/article/details/44680291 可下载体验本人在项目中的实战运用:http://zhushou.36 ...

  5. java_advanced_review(3)补充:利用网络套接字实现类似qq 的控制台通讯

    [0]README 1)本文旨在实现 利用网络套接字实现类似qq 的控制台通讯, client 采用telnet and java app, server采用 java app: 2)also, yo ...

  6. 【腾讯QQ官方正式版下载】基于Internet的即时通信(IM)软件

    腾讯QQ官方下载,腾讯QQ官方正式版下载 软件大小:52.1MB 软件语言:简体中文 软件性质:免费软件 软件授权:共享软件 软件等级:2 更新时间:2013-03-03 14:01:55 应用平台: ...

  7. Python利用SMTP/IMTP制作简单邮件(QQ邮箱)发送程序(保姆级)

    先看效果图和代码 效果图 import smtplib from email.mime.text import MIMEText # 邮件正文 from email.header import Hea ...

  8. Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!

    Google官方网络框架Volley实战--QQ吉凶测试,南无阿弥陀佛! 这次我们用第三方的接口来做一个QQ吉凶的测试项目,代码依然是比较的简单 无图无真相 直接撸代码了,详细解释都已经写在注释里了 ...

  9. 利用 telnet 命令测试 SMTP 服务(QQ邮箱)

    文章目录 开通QQ邮箱的SMTP服务 开启telnet客户端 使用CMD利用 telnet 命令测试 SMTP 服务 开通QQ邮箱的SMTP服务 首先要开启QQ邮箱的smtp服务,默认是关闭的. 1. ...

  10. python爬虫qq好友信息,GitHub - equationl/QQzone_crawler: QQ 空间动态爬虫,利用cookie登录获取所有可访问好友空间的动态保存到本地...

    关于 Edit by equationl 优先在 码云 上更新 该项目修改自 xjr7670 的 QQzone_crawler 原作者说明: QQ空间动态爬虫 修改了什么? 爬取完整的评论列表 爬取点 ...

最新文章

  1. usaco Magic Squares
  2. .Net 基础new关键字的用法
  3. 原生html小游戏,原生JS实现别踩白块小游戏(一)
  4. SharePoint工作流解决方案QuickFlow系列(2)--Task
  5. 必须收藏:20个开发技巧教你开发高性能计算代码
  6. 万物联网IoE与物联网IOT有何差别?
  7. GDAL源码剖析(八)之编译GEOS和PROJ4库
  8. Anaconda使用conda连接网络时,出现网络错误CondaHTTPError(包括Anaconda安装与入门)
  9. 中山大学计算机学院离散数学,中大信科院计算机复试专业课离散数学.pdf
  10. java识别手写文字_Java 实现OCR 识别图像文字(手写中文)----tess4j
  11. 机器学习算法入门介绍
  12. 猪悟能淘宝商品下载专家v3版开发手记
  13. 什么叫冷备用状态_什么是热备用状态?
  14. [人生故事] -- 美国总统的幽默
  15. Xshell的使用方法(初学者)
  16. Python如何图像识别?
  17. 【Book 133】Illuminate-Harness the Positive Power of negative Thinking
  18. 为什么腾讯微云上传文件会显示服务器繁忙呢,API - 微云
  19. dns被污染后应该怎么办?
  20. vue中怎样实现弹出层动画效果?由上而下渐渐显示

热门文章

  1. cocos2dx检测及预防外挂加速
  2. python中的pandas库如何读数据_Python之Pandas库学习(二):数据读写
  3. js获取USB扫码枪数据
  4. 配合Eclipse MAT工具排查服务器内存溢出问题
  5. 视觉目标跟踪大牛主页
  6. SAP 固定资产模块上线配置
  7. html右键头,右箭头怎么打 word怎么输入向右的箭头
  8. 转载:《七周成为数据分析师》
  9. SketchUp 2019 组件库的正确应用
  10. Python - 摄氏度华氏度转换