Twikoo评论区QQ昵称获取临时修复方法

前言

鉴于青桔大佬的API换成了鉴定key的形式防止攻击和盗刷,然后在twikoo输入QQ号的昵称获取开始失效,这边随手水一篇安知鱼前端形式引入的js傻瓜式修改办法

修复后显示效果

image.png

修改步骤

本次修改将添加1个文件和修改_config.anzhiyu.yml,请注意备份

第一步 获取API KEY后,取得原有twikoo.all.min.js

  1. 前往Nice猫API用户注册 Nice猫

  2. 注册好以后登录,进行密钥管理获得你的密钥 例如: abcdefg123
    image.png

  3. 打开你的浏览器F12开发者工具点击网络 ,然后在url处跳转到你的博客首页,在网络工具搜索twikoo关键词获得twikoo.all.min.js
    image.png

  4. 点击该JS文件,在预览处复制全部已格式化的JS内容进你随便一个代码编辑器内,然后进行搜索getQQNick: function(e)关键函数。
    image.png
    image.png

  5. getQQNick: function(e) {}关键函数 替换下列代码

    • 替换前
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    getQQNick: function(e) {
    var t = this
    , n = "https://api.qjqq.cn/api/qqinfo?qq=".concat(e)
    , r = new XMLHttpRequest;
    r.onreadystatechange = function() {
    if (4 === r.readyState && 200 === r.status) {
    var e = JSON.parse(r.responseText);
    t.metaData.nick = e.name,
    t.updateMeta()
    }
    }
    ,
    r.open("GET", n),
    r.send()
    }
  • 替换后
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    getQQNick: function(e) {
    var t = this;
    var n = "https://api.nsmao.net/api/qq/v1/query?key=abcdefg123&qq=".concat(e);
    var r = new XMLHttpRequest();
    r.onreadystatechange = function() {
    if (4 === r.readyState && 200 === r.status) {
    var response = JSON.parse(r.responseText);
    // 修复1:检查接口返回状态码
    if (response.code === 200) {
    // 修复2:正确解析深层嵌套字段
    t.metaData.nick = response.data.name; // 路径改为 response.data.name
    t.updateMeta();
    }
    }
    };
    r.open("GET", n);
    r.send();
    }
  1. 在替换后的代码寻得var n = "https://api.nsmao.net/api/qq/v1/query?key=&qq=".concat(e);,然后在key=后面输入你前边网站获得的密钥,
    例如abcdefg123这填为:var n = "https://api.nsmao.net/api/qq/v1/query?key=abcdefg123&qq=".concat(e);

第二步 替换修改后的twikoo.all.min.js

  1. 把你修改好的JS文件保存为twikoo.all.min.js
  2. 上传你的JS文件到/博客根目录/source/ 新建/js文件夹,然后上传,
    得到/博客根目录/source/js/twikoo.all.min.js路径
  3. 修改_config.anzhiyu.yml,拉到最底下CDN选项下的option,去掉twikoo选项前的井号,
    输入成twikoo: /js/twikoo.all.min.js然后保存即可。
    image.png
  4. 重启你的hexo博客。大功告成

事到如今,重启你的博客享受你的评论系统的QQ昵称修复自动获取之旅吧~