侧边栏壁纸
博主头像
沙漠渔

把過去的累積,善用到當下

  • 累计撰写 490 篇文章
  • 累计创建 295 个标签
  • 累计收到 960 条评论
标签搜索

目 录CONTENT

文章目录

修改当前主题,让你的评论区头像显示为QQ头像

沙漠渔
2022-06-06 / 30 评论 / 3 点赞 / 1,360 阅读 / 1,771 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-05,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

当前主题在发评论的时候,输入昵称会提示输入QQ号将自动拉取昵称和头像,然鹅,仅仅是在评论的时候是这样的,评论之后呢?what?random?实际上是通过邮箱获取到md5,然后从后台的头像源里按照md5取的头像,这。。。

还是那句话,涉及到修改主题文件,请提前做好备份,推荐使用JB家族的软件,可以在本地产生版本管理,随时可以回退到任何版本~~

不多说了,直接切入主题吧~~

国际惯例:先上图

QQ拼音截图20220606220945.png

说在前面的话

首先有一个前提,当前主题在输入昵称是QQ号时,邮箱会自动获取到对应的QQ邮箱,如果没有获取到对应的QQ邮箱或者手动输入其他邮箱,这里我没法显示成QQ头像哦,因为实际QQ号并未存储,只是获取到QQ昵称存储到数据库了,所以,说到这里,你是不是也大概猜到处理方式了?

没错

就是通过QQ邮箱来获取到QQ号,然后再通过QQ号获取到QQ头像,是不是个小天才?

下面就是需要修改文件的地方了,当然还是那句话,我比较懒,也不想再改主题(鞥,当前想法~),所以直接修改了mini文件,墙裂不推荐哈。

言归正传,开始动手

修改文件的路径:.halo\templates\themes\joe2.0\source\lib\halo-comment\halo-comment.min.js

搜索关键词:computed(mini里本就没换行,所以我这里也不换行了)

找到如下位置

computed:{avatar(){const e=this.configs.gravatarSource||this.options.gravatar_source||this.configs.gravatarSourceDefault;return`${e}/${this.comment.gravatarMd5}?s=256&d=${this.options.comment_gravatar_default}`}

修改成如下内容:

computed:{avatar(){if(this.comment.email.endsWith("qq.com")){const c=this.comment.email.split("@")[0];if(!isNaN(c))return 'https://q1.qlogo.cn/g?b=qq&nk='+c+'&s=40'};const e=this.configs.gravatarSource||this.options.gravatar_source||this.configs.gravatarSourceDefault;return`${e}/${this.comment.gravatarMd5}?s=256&d=${this.options.comment_gravatar_default}`}

什么意思就不必多说了吧,当然这里是沿用了主题内获取QQ头像的方式,不知道这个网址可以支撑多久,如果出问题了,可以再手动添加一下主题配置,把这里改成后台可配置吧,暂时先就这样吧,修改之后上传覆盖服务器,然后强刷一下,看看是不是已经显示QQ头像了呢?

备注:(以下情况不会显示为QQ头像)

  • 评论者为博主,当前博主是直接显示为logo,如果有感觉logo是长方形的被压缩成80*80很不爽,后面可以给大家说一下改成我现在这种显示为favicon
  • 邮箱为非QQ邮箱的,这很好理解了,这种会沿用之前的头像获取方式
  • 是QQ邮箱,但是使用的字母形式的,比如我的邮箱 forose@qq.com ,这样也是按照非QQ邮箱处理,参照上一条

前面说了,主题默认可以输入QQ自动填上对应的数字形式的QQ邮箱,所以建议发帖时输入QQ之后获取到邮箱就不要修改了,如果修改成非数字的QQ邮箱就别想显示QQ头像了

3
广告 广告

评论区