听得入迷

听得入迷

愿世界安康,愿你我皆好!
  • 分类数量4
  • 标签数量12
  • 文章数量112
  • 评论数量4
2021-03-12

Typecho评论优先解析QQ头像

#技术

Typecho评论优先解析QQ头像

国内Gravatar镜像源:

https://gravatar.pho.ink/avatar/
https://cdn.v2ex.com/gravatar/
https://gravatar.zeruns.tech/avatar/
https://gravatar.loli.top/avatar

集成gravatar和QQ头像的镜像源
https://gravatar.fanfuns.com/avatar/
https://cravatar.cn/avatar/

在typecho根目录 /var/Typecho/Common.php 文件,注释掉大约在第 1010 行至第 1028 行的代码

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://cn.gravatar.com' : 'https://secure.gravatar.com/';
$url .= '/avatar/';
}

    if (!empty($mail)) {
        $url .= md5(strtolower(trim($mail)));
    }

    $url .= '?s=' . $size;
    $url .= '&r=' . $rating;
    $url .= '&d=' . $default;

    return $url;
}

取而代之的是下面的代码(用的是 v2ex 和 zeruns’s Blog 的镜像源,比较稳定快速)

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
$reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
if (preg_match($reg, $mail)) {
$img = explode("@", $mail);
$url = "https://q1.qlogo.cn/g?b=qq&nk={$img[0]}&s=100";
} else {
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ?  'https://gravatar.fanfuns.com/avatar/' : 'https://gravatar.zeruns.tech/avatar/';
// $url .= '/avatar/'; 这一行暂时用不到,先注释掉
}
if (!empty($mail)) {
$url .= md5(strtolower(trim($mail)));
}
$url .= '?s=' . $size;
$url .= '&r=' . $rating;
$url .= '&d=' . $default;
}
return $url;
}

此代码设定为优先解析 QQ 头像,然后是 Gravatar 使用国内镜像源

此文转载自浅小沫的博客,转载请注明出处。

Comments