简单仿腾讯TIM界面

作者:佚名

来源:爱好者

时间:2017-03-22

需求

因为最近回归原生评论,所以评论头像如果单纯的引用gravatar头像,会有一部分low bee们头像会变成gravatar默认头像,为了解决这个问题,我想对于qq号@qq.com这样的邮箱地址就行个处理来提取QQ头像,然后问题是怎么获取QQ头像地址。

尝试

最初想到获取QQ头像地址就是下面这样

https://q.qlogo.cn/g?b=qq&nk=腻的扣扣号&s=100

当随之而来的问题就是暴露了别人的QQ号码,这点对于保护他人隐私上来说不太好。

于是想到了这样的QQ头像地址

https://q1.qlogo.cn/g?b=qq&k=0n5AZ9Ne4h3em8iboKu3sHg&s=100

上面的地址,中没有QQ号,却获取了某人的qq头像,里面的重要参数就是K的值,那么如何获取K值呢?

探索

上各种搜索利器,百度30分钟无果,必应一下就找到了线索。

访问下面的地址就能得到一个json

http://ptlogin2.qq.com/getface?appid=101382166&imgtype=1&encrytype=0&devtype=0&keytpye=0&uin=扣扣号&r=0.17780657206333406

简化下无用参数,变成

http://ptlogin2.qq.com/getface?&imgtype=1&uin=扣扣号

访问上述地址得到的json

pt.setHeader({"扣扣号":"http:\/\/q3.qlogo.cn\/g?b=qq&k=对应的K值&s=40&t=1483323281"});

解决

知道怎么获取就好处理了,上全世界最好的语言php

$qq = '你的扣扣号码';

$geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq;

$qquser = file_get_contents($geturl);

$str1 = explode('&k=', $qquser);

$str2 = explode('&s=', $str1[1]);

$k = $str2[0];

$qqimg = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';

echo $qqimg

由于我php渣,不会解析json,所以用了个简单粗暴的方法来获取想要的字符串。

扩展typecho

typecho函数,其实和上边的php没啥区别。

function  qqgravatar ($qq){

$geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq;

$qquser = file_get_contents($geturl);

$str1 = explode('qq&k=', $qquser);

$str2 = explode('&s=', $str1[1]);

$k = $str2[0];

$qqimg = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';

return $qqimg;

}

需要提取qq头像地址时调用

最后

Hran说影响效率,测试了下,有评论里有QQ头像的文章,加载确实慢了,所以,可能弃坑

20170808规则稍有变动,文章已修正php部分代码

分享到:

android仿tim主界面,简单仿腾讯TIM界面相关推荐

  1. html仿微信评论输入框,简单仿微信朋友圈评论功能

    [实例简介] 简单实现了微信朋友圈评论的功能,被点击的评论能够随着输入框高度的改变而改变位置! [实例截图] [核心代码] 简单仿微信朋友圈评论 └── TalkInTalk ├── AndroidM ...

  2. Android初学之七:ListView简单用法和ListView的界面定制

    一.ListView简单用法 1.首先在布局文件中加入ListView 2.展示一组String数据,修改MainActivity代码 二.ListView的界面定制 例子:条目样式为有一张图片和一个 ...

  3. 计算机如何添加云文档,腾讯TIM怎么添加云文件?TIM添加云文件教程

    许多网友向小编反映不知道怎么使用腾讯TIM?哪里有腾讯TIM的使用教程?今天PConline小编为大家提供一个使用教程,希望对大家有帮助!首先我们下载腾讯TIM.下载文件,安装完成后双击腾讯TIM桌面 ...

  4. 多功能计算机使用教程,腾讯tim使用教程计算机应用知识

    腾讯tim使用教程计算机应用知识 腾讯TIM是一个很好的办公工具,你也下载了吗?用户可以使用账号直接登录TIM,登录后联系人.消息.群和多人群聊与关系链相关的数据都能双向同步.腾讯TIM如何使用 腾讯 ...

  5. android仿tim主界面,WPF系列教程——(一)仿TIM QQ界面

    TIM QQ 我们先来看一下TIM QQ长什么样,整体可以将界面分为三个部分 TIM QQ 1. 准备 阅读本文假设你已经有XAML布局的基础,所以只对部分布局进行说明. 界面上的图标均来自 Mate ...

  6. Android ActionBar应用实战,高仿微信主界面的设计

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对 ...

  7. Android仿QQ主界面-------完善篇

    在我前面的博文中,做出了仿QQ主界面的主要工作,博文地址:Android仿QQ主界面. 但是在那一篇中还有一个不起眼的地方没做,今天就完善它. 今天要实现在文字下面来个ImageView,实现动画.先 ...

  8. Java仿小米计算器源码_xiaomi-Calculator 仿照小米的计算器功能,作为一个Android的初学者可以参考,界面简单大方。 259万源代码下载- www.pudn.com...

    文件名称: xiaomi-Calculator下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 795 KB 上传时间: 2016-06-13 下载次数: 0 提 ...

  9. android 微信创建群ui,Android控件:高仿微信主UI

    高仿微信主UI 之前在Android组件:Fragment切换后保存状态 一文中讲到了Fragment切换后,是如何保存原来的状态的,最重要的就是用add方法取代现在各种教程常见的replace方法. ...

最新文章

  1. 你能说出多线程中 sleep、yield、join 的用法及 sleep与wait区别吗?
  2. 【转】Java中File常用的方法汇总
  3. 开源项目使用经验原则
  4. 【COCI 2018/2019 Round #2】Kocka
  5. 你们班上的同学现在都怎么样了?
  6. pythonfor循环加2_初中生教你编程---python(for循环)part 2
  7. js定义到执行(转)
  8. Foundation - NSDate
  9. sas和python哪个好学_Sas R和Python的比较 | 数据分析的工具选择
  10. 神通数据库知识点整理
  11. 在c语言中有函数leapyear定义如下,职业教育概论——职业教育的发展历史超星尔雅答案题库...
  12. 腾讯微博开放平台的工作效率真差
  13. ESP32学习笔记(12)——JSON接口使用
  14. 4x4矩阵键盘扫描c语言程序,4x4矩阵键盘工作原理及扫描程序
  15. 孟岩:参与设计20多个区块链经济系统后,我总结出4个原则和7个陷阱 |区块链捕手
  16. 聂微东:《暗时间》读书笔记与读后感 - 博客 - 伯乐在线
  17. Web大学生网页作业成品——个人班级网站设计与实现(HTML+CSS)
  18. java word 加水印_java如何给office加水印
  19. JavaScript open()
  20. android Toast

热门文章

  1. 升级鸿蒙手机内数据会删除吗,鸿蒙系统:手机升级不会删除任何文件,包括APP的登录状态都不会掉...
  2. IIS启动失败,发生意外错误 0x8ffe2740的解决方法
  3. 7200 笔记本硬盘 444
  4. nginx搭建及配置
  5. word分栏 公式居中对齐 自动编号
  6. Android接收开机广播接收速度慢的原因
  7. java文字水印换行_Java实现图片水印文字换行、平铺、旋转效果-Go语言中文社区...
  8. AUTOCAD使用笔记
  9. 编程猫平台 python-编程猫发布高中新课标产品 助力中小学python教育
  10. [附源码]JSP+ssm计算机毕业设计校园征兵及退役复原管理系统16z67【源码、数据库、LW、部署】