TGLogin.js

有这么一个场景存在,一个传播类的H5页面,无涉及任何后台功能,但要求在朋友圈传播时,分享文案显示成用户的微信昵称,分享图片显示成用户的微信头像。前端重构的同学将H5页面制作完成,就差获取用户的微信昵称和头像了,而微信昵称和头像恰恰涉及到微信登录功能,这个时候就可以使用此组件来实现

移动端登录DEMO演示

DEMO1 《龙之谷》

源码地址:

view-source:dn.qq.com/act/a20170310TGLoginDemo/

功能描述:

  1. 用微信扫描二维码进行微信登录(手动确认登录,有授权登录页显示游戏名称);
  2. 用手Q扫描二维码进行手Q登录;
  3. 用浏览器(非微信、手Q)扫描二维码会拉起微信APP打开页面

DEMO2 《王者荣耀》

源码地址:

view-source:pvp.qq.com/act/a20170310TGLoginDemo/

功能描述:

  1. 用微信扫描二维码进行微信登录(手动确认登录,有授权登录页显示游戏名称);
  2. 用手Q扫描二维码进行手Q登录;
  3. 用浏览器(非微信、手Q)扫描二维码会拉起手Q APP打开页面

DEMO3 《火影忍者》

源码地址:

view-source:hyrz.qq.com/act/a20170310TGLoginDemo/

功能描述:

  1. 用微信扫描二维码会拉起手Q APP打开页面;
  2. 用手Q扫描二维码进行手Q登录;
  3. 用浏览器(非微信、手Q)扫描二维码进行手Q登录

DEMO4 《剑侠情缘》

源码地址:

view-source:jxqy.qq.com/act/a20170310TGLoginDemo/

功能描述:

  1. 用微信扫描二维码进行微信登录(手动确认登录,有授权登录页显示游戏名称);
  2. 用手Q扫描二维码会拉起微信APP打开页面;
  3. 用浏览器(非微信、手Q)扫描二维码会拉起微信APP打开页面

PC端登录DEMO演示

PC端登录DEMO演示

源码地址:

view-source:luobo3.qq.com/act/a20170310TGLoginDemo/

功能描述:

  1. 点击页面右上角“用户登录”按钮进行“微信登录”或“QQ登录”;
  2. 登录成功后,页面右上角会显示您的头像和昵称;
  3. 点击页面右上角“注销”按钮退出登录,可重复步骤1切换登录

快速上手

[warning] 注意

请勿复制以下代码,直接用上面demo源码改appid,然后放到对应游戏域名下面就能测试

TGLogin.init({
    device: 'pc', //'m'代表移动端登录;'pc'代表PC端登录;默认是移动端登录
    wxAppId: '' //游戏在微信平台的appId,让重构审核联系dereksu获取}, function (TGLoginManager) {
    //打印API列表
    console.log(TGLoginManager.apiList);

    //登录弹窗显示或隐藏
    var dialog = function (type) {
        if (type === 'hide') {
            $('#pop,#mask').hide();
        } else {
            $('#pop,#mask').show();
        }
    };

    //显示登录弹窗
    $('#login_btn').click(function () {
        dialog('show');
    });

    //隐藏登录弹窗
    $('#close_pop').click(function () {
        dialog('hide');
    });

    //检查是否已登录
    TGLoginManager.pcCheckLogin(function (uinfo) {
        console.log(uinfo);
        //已登录uinfo为用户信息对象;未登录uinfo为false
        if (uinfo) {
            //设置信息
            $('#nickname').text(uinfo.nickname || '我');
            $('#headimg').attr('src', uinfo.headimgurl);
        }
    });

    //微信扫描登录
    $("#wx_login").click(function () {
        dialog('hide');
        TGLoginManager.pcWXLogin();
    });

    //QQ登录
    $("#qq_login").click(function () {
        dialog('hide');
        TGLoginManager.pcQQLogin();
    });

    //注销
    $('#logout_btn').click(function () {
        TGLoginManager.logout();
    });});

说明文档

表格1

名称 类型 描述
params Object 必选:是
说明:初始化参数
名称类型描述deviceString必选:否说明:登录类型,'m'为移动端登录,'pc'为PC端登录默认值:'m'wxAppIdString必选:是说明:游戏在微信平台的appid,各款游戏对应的appid请联系dereksu申请wxHeadImgSizeNumber必选:否说明:微信头像(正方形)的尺寸,单位px,可选尺寸有46, 64, 96, 132, 640默认值:96qqHeadImgSizeNumber必选:否说明:QQ头像(正方形)的尺寸,单位px,可选尺寸有40, 100, 140, 199默认值:100
callback(result) Function 必选:是
说明:初始化成功的回调
名称类型描述resultObject必选:是说明:请看表格2

表格2

名称 类型 描述
mGetPlatformType() Function 说明:移动端获取当前平台类型,有三种类型:wx, qq, other,其中other代表非微信、手Q的平台,比如浏览器
生效条件:当device为'm'时生效
mWXLogin(callback(result)) Function 说明:移动端微信登录
生效条件:当device为'm'时生效
名称类型描述callback(result)Function必选:是说明:移动端微信登录成功的回调名称类型描述resultObject必选:是说明:请看表格3
mQQLogin(callback(result)) Function 说明:移动端手Q登录
生效条件:当device为'm'时生效
名称类型描述callback(result)Function必选:是说明:移动端手Q登录成功的回调名称类型描述resultObject必选:是说明:请看表格4
mOpenWX(url) Function 说明:移动端拉起微信APP打开页面
生效条件:当device为'm'时生效
名称类型描述urlString必选:否说明:被打开的页面的url地址(绝对地址),这里注意一下,只能打开当前域名的页面默认值:打开当前页面
mOpenQQ(url,callback(result)) Function 说明:移动端拉起手QAPP打开页面
生效条件:当device为'm'时生效
名称类型描述urlString必选:否说明:被打开的页面的url地址(绝对地址),这里注意一下,只能打开*.qq.com域名的页面默认值:打开当前页面callback(result)Function必选:否说明:仅在6.5.6及以上版本的微信安卓和iOS客户端的内置浏览器中有效。因为其拉起外部应用APP采用的是launchApplication接口。launchApplication接口返回err_msg为“launchApplication:ok”时代表调用成功,包括成功打开了app或用户在弹窗上点击取消拉起app;返回err_msg为“launchApplication:fail”时代表调用失败,包括jsapi本身调用失败,或安卓上该应用未安装,或iOS上用户在弹窗上点击拉起但该应用未安装。默认值:当launchApplication接口返回err_msg为“launchApplication:fail”时,会弹出confirm确认框,提示语为“手机未安装QQ,立即前往安装?”,用户点击确定即会跳转到下载安装手机QQ的页面,用户点击取消则停留在当前页面。名称类型描述resultBoolean必选:是说明:当result为true时,代表launchApplication接口返回err_msg为“launchApplication:ok”;当result为false时,代表launchApplication接口返回err_msg为“launchApplication:fail”
pcCheckLogin(callback(result)) Function 说明:PC端检查是否已登录
生效条件:当device为'pc'时生效
名称类型 描述callback(result)Function必选:是说明:PC端检查是否已登录,检查成功的回调名称类型描述resultBoolean|Object必选:是说明:当检查到未登录时result为false;当检查到微信已登录,result为Object,具体请看表格3,当检查到QQ已登录,result为Object,具体请看表格4
pcWXLogin() Function 说明:PC端微信扫码登录
生效条件:当device为'pc'时生效
pcQQLogin() Function 说明:PC端QQ登录
生效条件:当device为'pc'时生效
logout() Function 说明:注销
生效条件:当device为'm'或'pc'时生效
getTimestamp() Function 说明:获取当前时间戳(单位:s)
生效条件:当device为'm'或'pc'时生效
apiList Array 说明:当前生效的API列表
生效条件:当device为'm'或'pc'时生效

表格3(微信用户信息)

名称 类型 描述
openid String 用户的唯一标识,同一用户在不同游戏的openid不同,不同用户在同一游戏的openid不同
nickname String 用户微信昵称
headimgurl String 用户微信头像URL
sex Number 用户性别,1是男性,2是女性,0是未知
country String 用户个人资料填写的国家,如中国为CN
province String 用户个人资料填写的省份,如广东为Guangdong
city String 用户个人资料填写的城市,如深圳为Shenzhen
language String 用户微信设置的语言,如中文为zh_CN
privilege Array 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
unionid String 只有将公众号绑定到微信开放平台帐号后,才会出现该字段
logintype String 登录平台,如微信为wx,QQ为qq
logintime Number 登录时间,登录成功那一刻的时间戳(单位:s)

表格4(QQ用户信息)

名称 类型 描述
uin String 用户QQ号码
nickname String 用户QQ昵称,这里偶尔会获取不到QQ昵称,会返回QQ号码来代替昵称
headimgurl String 用户QQ头像URL
logintype String 登录平台,如微信为wx,QQ为qq
logintime Number 登录时间,登录成功那一刻的时间戳(单位:s)

results matching ""

    No results matching ""