Emlog评论通过QQ获取昵称资料

emlog教程 2020-08-25

  使用

  emlog 博客程序朋友有采用第三方评论,也有采用内置评论的,使用第三方评论的还好,可以直接QQ登陆,但是如果是采用内置评论的很多访客都不愿意填写信息,因此可能会丢失很多评论。今天 分享一篇采用js根据用户填写的QQ号码拉取用户的昵称信息,然后自动填写表单,这样用户只需要输入QQ就能实现自动填写了。代码以默认模板为例。

  第一步、我们要确认模板是否有加载jquery,

  emlog默认jquery代码如下(放入

之间),如果有加载的请自动忽略此步。

  

  第二步、找到模板文件module.php中的

  

  然后在每一个input加上id信息,例如: name=”commail” 后面添加 id=”commail”

  第三步、建立一个文件夹,如qq放入根目录中,在里面建一个文件index.php,代码如下

  

  header(“Content-type: application/json; charset=utf-8”);

  $qq = $_GET[‘qq‘];

  $html = file_get_contents(‘http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=’.$qq);

  $nic = explode(‘,’,$html);

  $name = trim(mb_convert_encoding($nic[6], “UTF-8”, “GBK”),'”‘);

  $img = file_get_contents(‘http://ptlogin2.qq.com/getface?appid=1006102&uin=’.$qq.’&imgtype=3′);

  preg_match(‘/pt.setHeader\((.*?)\);/’,$img,$picc);

  $pic = json_decode($picc[1]);

  $json[‘name’] = $name;

  $json[‘pic’] = $pic->$qq;

  echo $_GET[‘callback’].'(‘.json_encode($json).’)’;

  ?>

  第四步、加入js代码,代码如下(放在

之间,代码中的网址路径/go/qq/需要改成你自己创建的,即第三步中创建的路径):

  

  $(function () {

  Lotto = {};

  Lotto.comment = function(){

  $("#qq").blur(function(){

  $('#qq').attr("sl",true);

  $("#ajaxloading").html('正在获取QQ信息..');

  $.getJSON('[你的网站,必须加http://]/go/qq/?qq='+$('#qq').val()+'&callback=?', function(q){

  if(q.name){

  $('#comname').val(q.name);

  $('#commail').val($('#qq').val()+'@qq.com');

  $('#comurl').val('http://user.qzone.qq.com/'+$('#qq').val());

  $('#qq').attr("disabled",false);

  $("#ajaxloading").hide();

  }else{

  $("#ajaxloading").hide();

  $("#error").html('qq账号错误').show().fadeOut(4000);

  $('#qq').attr("sl",false);

  }

  });

  });

  }

  Lotto.run = function(){this.comment();};

  Lotto.run();

  });

  

  友情提示:朋友网接口失效,已经更改为QQ空间接口,请无法获取资料的朋友请更改第四步的代码。2018-07-04

  统一回复评论中提到的几个问题:

  1、js你想放在哪里都可以,只要调用出来即可,正常都是放入

之间
评论 (0)
    Top