使用gravatar生成头像
avatar代表您在线的图像,当你与网站互动时,你的名字旁边会出现一张图片。
Gravatar是一个全球通用的头像。你只需上传一次并创建自己的个人资料,然后当你加入任何支持Gravatar的网站时,你的Gravatar图片会自动显示
使用方法
在gravatar网站上上传图片,生成自己的头像
填写个人资料,这样在登录支持gravatar的网站时,就会显示个人信息,当然也可以不填写
开发使用说明
gravatar依赖邮箱生成的哈希值作为图片地址的一部分,所以需要把邮箱地址哈希化
邮箱地址哈希化总共由三个步骤:
邮箱地址首尾去空白
所有字母转变成小写字母
哈希化
代码实现
const crypto = require('crypto');
function gravatar(mail) {
let size = 100
llet hash = Crypto.createHash('md5').update(mail.trim().toLowerCase()).digest("hex")
return `http://www.gravatar.com/avatar/${hash}?s=${size}&d=identicon`;
}
let url = gravatar('zxhyJack@126.com')
console.log(url)
上面的代码可以生成头像的地址,直接访问就可以看到图像
s 是指图片的大小,默认是 80px × 80 px,图片大小的范围是1-1024px
d = identicon 可以随机生成一个图片,以后再次登录的时候就不会改变了
默认头像
如果图片的url地址只是http://www.gravatar.com/avatar/${hash},不加参数,显示的头像分两种情况
一种是已经在gravatar网站上添加过对应邮箱的头像,访问这个url的时候则直接显示设置的图片
另一种是没有添加过邮箱的头像,访问这个url时会显示默认的图片G
如果没有给邮箱添加过头像,但是不想要默认的图片G,可以添加参数
d=identicon,则可以随机生成头像,但是生成之后就不会再变了
使用gravatar生成头像的更多相关文章
- python实现随机生成头像
今天遇到如何给用户分配随机头像的问题,想着要在本地放很多图片,有点无聊,就找了一些生成头像的工具.发现gravatar生成图像还不错,挺好玩的. 1.下面上代码 # -*- coding: utf-8 ...
- 教你用go freetype根据用户昵称生成头像
最近需要为用户服务添加一些新功能,其中就包括在注册时根据用户昵称生成头像这一点. 由于用户服务是用golang写的,google来google去都只找到freetype一个比较简单好用的库,其他比如I ...
- 工具 - gravatar保存头像
流程 注册账号,上传头像 https://secure.gravatar.com/avatar/ 就可以获取到头像 参数 例子flasky git reset --hard 10c def grava ...
- PS文字生成头像
链接: 教你用PS把文字拼成肖像.... 28个文字组成的肖像画欣赏
- Orchard运用 - 为评论启用Gravatar头像
在前一篇随笔中我曾分享如何为Orchard特定主题添加独立代码文件, 今儿延续如何把对应代码应用到Views上. 对此我不妨把为评论启用Gravatar头像这一例子来实现.其实很简单, 思路大概就是创 ...
- WordPress基础:Gravatar头像修正
WordPress会根据你的邮箱,从Gravatar获取你的头像,如果没有在Gravatar设置头像,将使用默认的,然而设置了之后显示还可能会出现以下问题: Gravatar头像读取困难,将影响网站读 ...
- Quartz2D之生成圆形头像、打水印、截图三种方法的封装
我给UIImage类添加了一个类目,用于封装三个方法,每个方法都没有难度,做这个主要为了练习一下封装: 首先在类目.h文件中声明三个方法:以及创建了一个枚举.用于水印方法中设定水印位置:方法说明和参数 ...
- 替换Gravatar头像默认服务器
这几天Gravatar头像服务器应该集体被墙了,头像无法显示.兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈. 利用多说Gravatar头像中转服务器替代头像默认服务器. 将下面代码添加到 ...
- gravatar全球通用头像设定
一:说明: gravatar的头像设定,可以用于wordpress,github等社区: 一次设定,全球同步显示: 目前gravatar已不支持注册,需要注册wordpress.com,然后登录: w ...
随机推荐
- JQuery操作select下拉框
JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...
- 【codeforces 789B】Masha and geometric depression
[题目链接]:http://codeforces.com/contest/789/problem/B [题意] 让你一个一个地写出等比数列的每一项 (注意是一个一个地写出); 有m个数字不能写; 且数 ...
- Spring Security原理篇(一) 启动原理
1.概述 spring security有参考的中文翻译文档https://springcloud.cc/spring-security-zhcn.html 在学习spring security的时候 ...
- element el-table 添加分页连接的序号,清除sortable排序
先看代码: <el-table :data="tableData" style="width: 100%" stripe size="mediu ...
- Git用在公司项目上的操作
修改代码后再次提交 搭档优化好他自己的代码后,我想在vscode上看看他优化后的结果 此时直接git pull origin就可以看到了 j接下来的一些指令,慢慢了解... 分支本身已经在我上面 以下 ...
- 应用八:Vue之在nginx下的部署实践
最近有时间研究了下前端项目如何在nginx服务器下进行部署,折腾了两天总算有所收获,汗~~ 所以就想着写篇文章来总结一下,主要包括以下三个方面: 1.打包好的vue项目如何进行部署. 2.如何反向代理 ...
- iview table中的render函数使用
1.表格列数据内容过多可以用以下两个属性解决: ellipsis:"true', tooltip:true 使每个列的内容如果过多的话变为省略号 2.table中的render函数(实现根据 ...
- 关于vue-cli打包配置部署404
在vue脚手架(vue-cli)下我很很快的就可以搭建自己的开发环境,但是我们把项目编写完后,需要进行打包上线会遇到各种问题,在根据版本问题,(vue3的版本跟之前相比少了很多配置项),下面是我用老版 ...
- vue-learning:5-template-v-for
5 列表渲染的指令v-for v-for on Array / Object / String / Number v-for on template v-for on expression v-for ...
- C#面试题整理2(不带答案)
一.C# 理论 1.1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 1.2.简述abstract.sea ...