zoukankan      html  css  js  c++  java
  • 网站接入QQ登录的两种方法

     1 第一种使用系统自带按钮登录,但是这样会弹出新窗口,不喜欢 
     2 //调用QC.Login方法,指定btnId参数将按钮绑定在容器节点中 
     3 QC.Login({ 
     4 //btnId:插入按钮的节点id,必选 
     5 btnId:"qqLoginBtn", 
     6 //用户需要确认的scope授权项,可选,默认all 
     7 scope:"all", 
     8 //按钮尺寸,可用值[A_XL| A_L| A_M| A_S| B_M| B_S| C_S],可选,默认B_S 
     9 size: "B_M"
    10 }, function(reqData, opts){//登录成功 
    11 console.log(reqData, opts); 
    12 //根据返回数据,更换按钮显示状态方法 
    13 var dom = document.getElementById(opts['btnId']), 
    14 _logoutTemplate=[ 
    15 //头像 
    16 '<span><img src="{figureurl}" class="{size_key}"/></span>', 
    17 //昵称 
    18 '<span>{nickname}</span>', 
    19 //退出 
    20 '<span><a href="javascript:QC.Login.signOut();" rel="external nofollow" >退出</a></span>'
    21 ].join(""); 
    22 dom && (dom.innerHTML = QC.String.format(_logoutTemplate, { 
    23 nickname : QC.String.escHTML(reqData.nickname), //做xss过滤 
    24 figureurl : reqData.figureurl 
    25 })); 
    26 }, function(opts){//注销成功 
    27 alert('QQ登录 注销成功'); 
    28 }); 
    29  
    30 第二种,使用自定义按钮<a>标签链接过去,然后成功后调用这个地址,a标签的href可以参考第一种window.location 
    31 QC.api("get_user_info", {}) 
    32 //指定接口访问成功的接收函数,s为成功返回Response对象 
    33 .success(function(s){ 
    34 console.log(s); 
    35 //成功回调,通过s.data获取OpenAPI的返回数据 
    36 alert("获取用户信息成功!当前用户昵称为:"+s.data.nickname); 
    37 }) 
    38 //指定接口访问失败的接收函数,f为失败返回Response对象 
    39 .error(function(f){ 
    40 //失败回调 
    41 alert("获取用户信息失败!"); 
    42 }) 
    43 //指定接口完成请求后的接收函数,c为完成请求返回Response对象 
    44 .complete(function(c){ 
    45 //完成请求回调 
    46 alert("获取用户信息完成!"); 
    47 }); 
    48  
    49 //检查是否登录 
    50 if(QC.Login.check()){//如果已登录 
    51 QC.Login.getMe(function(openId, accessToken){ 
    52 alert(["当前登录用户的", "openId为:"+openId, "accessToken为:"+accessToken].join("
    ")); 
    53 }); 
    54 //这里可以调用自己的保存接口 
    55 //... 
    56 }
  • 相关阅读:
    uTenux-OS-Task再探
    uTenux——LED驱动讲解
    uTenux——HelloWord
    uTenux——重新整理底层驱动库
    template的超级bug
    [LeetCode] Integer to Roman
    [LeetCode] Roman to Integer
    [LeetCode]Flatten Binary Tree to Linked List
    [LeetCode] LRU Cache [Forward]
    [LeetCode] Reorder List
  • 原文地址:https://www.cnblogs.com/wujindong/p/5461254.html
Copyright © 2011-2022 走看看