乱逛的时候发现评论时候输入东西太麻烦,看见别的站拥有QQ一键获取名称和邮箱,逐翻了一下,果然有前人栽树了,转载过来
1、自建API获取QQ信息
新建一个 PHP 文件,将下面代码丢进去,文件名可自取,这里以 get_qq_info.php 命名。创建完成后将 get_qq_info.php 文件丢到网站根目录下以用于以后调取,其实你也可以将它放在网站的任何一个目录下,比如你的主题目录,只需要保证后面 JS 代码调取是路径正确即可。
<?php
header('Content-Type: text/html;charset=utf-8');
$QQ=$_GET["qq"];
if($QQ!=''){
$urlPre='http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?g_tk=1518561325&uins=';
$data=file_get_contents($urlPre.$QQ);
$data=iconv("GB2312","UTF-8",$data);
$pattern = '/portraitCallBack\((.*)\)/is';
preg_match($pattern,$data,$result);
$result=$result[1];
echo $result;
}else{
echo "请输入qq号!";
}
?>
2、JavaScript脚本调用API
将以下代码添加到主题的主要 JS 文件中去,反正就是这个js文件要出现在你需要l,当然如果主题支持后台自定义代码也可以直接放在后台自定义代码位置,注意加上 script 标签。
function fn_qqinfo(){
var qq_num=$('#qqinfo').val();
if(qq_num){
if( !isNaN(qq_num)){
$.ajax({
url:"http://blog.quietguoguo.com/api/qqinfo/get_qq_info.php", //如果网站开启了HTTPS,记得这里要修改成https的链接
type:"get",
data:{qq:qq_num},
dataType:"json",
success:function(data){
$("#email").val(qq_num+'@qq.com');
$('#comment').focus();
if(data==null){
$("#author").val('QQ游客');
}else{
$("#author").val(data[qq_num][6]==""?'QQ游客':data[qq_num][6]);
}
},
error:function(err){
$("#author").val('QQ游客');
$("#email").val(qq_num+'@qq.com');
$('#comment').focus();
}
});
}else{
$("#author").val('你输入的好像不是QQ号码');
$("#email").val('你输入的好像不是QQ号码');
}
}else{
$("#author").val('请输入您的QQ号');
$("#email").val('请输入您的QQ号');
}
}
前端显示代码
将以下代码填入你主题的 comments.php 文件中:
<input class="你主题的对应样式" type="text" name="qqinfo" id="qqinfo" maxlength="12" value="" tabindex="5" placeholder="输入QQ号快速填写信息" onblur="fn_qqinfo()" /><span class="你主题的对应样式" >Q Q(选填)</span>
评论
0