此文最后修改于2020-06-24

前言

这篇文章所用的Valine-admin是小康根据懒人大佬及其他两位valine-admin的作者进行二次开发版本。可能会与大佬保持更新(其实就是抄代码),也可能不会。但需要注意的是:此版本中的设定可能与你之前用的有些出入,如果无法接受,那么可以关掉这个页面。没人强迫你用。

项目重大历史:

  • 2020-02-16

    第一次版本发布,这是仅有微信提醒功能

  • 2020-04-19

    基于懒人大佬,弃用request

  • 2020-04-20

    添加qq提醒

  • 2020-05-15

    适配国际版时区问题(beta)

最初修改这个项目的原因是因为不在电脑旁的时候,如果有人评论会发送邮件,但手机有时候不会提醒(可能手机垃圾吧)。-小康博客

于是我便想到了曾经好友向我展示的server酱,只不过当时是以聊天室的形式展示的(其实也有人向我展示过评论通知的)。于是我便突发奇想,决定试试这个微信server酱。

这样就可以给我发微信通知了,从此再也不会看不到评论了!

部署前需要获取的密钥

这部分主要介绍QQ提醒,微信提醒及垃圾评论检测的密钥获取途径。如果不需要可以直接跳过,看后边的部署Valine-admin部分。

Service酱SCKEY获取

首先需要到server的官网,开启微信提醒并获取SCKEY官网写的很详细,这里不在过多赘述。相信能动手搭Hexo博客的小伙伴都能看懂server酱官方的教程。小伙伴开启微信通知后顺便在官方那里测试下能否接到通知哦。

Qmsg密钥获取

Qmsg的官网为:https://qmsg.zendee.cn/,进入官网,登录账号(qq或者神邸用户都可以)。

  1. 选择并添加一个消息发送者,并填写你接受消息的qq号。(可以使用小号登录,大号接收)

    不要问为什么收不到消息 , 你不加他当然收不到了。选择哪个添加哪个即可。

  2. 获取密钥

    点击右上角的文档,然后你会看到一个网址。这个网址里边会有一串奇怪的字母数字组合,我们复制他(也就是图中被我马赛克的地方)

AKISMET_KEY获取

Akismet (Automattic Kismet)是应用广泛的一个垃圾留言过滤系统,其作者是大名鼎鼎的WordPress 创始人 Matt Mullenweg,Akismet也是WordPress默认安装的插件,其使用非常广泛,设计目标便是帮助博客网站来过滤留言Spam。有了Akismet之后,基本上不用担心垃圾留言的烦恼了。
启用Akismet后,当博客再收到留言会自动将其提交到Akismet并与Akismet上的黑名单进行比对,如果名列该黑名单中,则该条留言会被标记为垃圾评论且不会发布。

如果你用过 WordPress 你应该有 Akismet Key;如果还没有,你可以去 AKISMET FOR DEVELOPERS 免费申请一个;如果你不需要反垃圾评论,Akismet Key 环境变量可以忽略。

为了实现较为精准的垃圾评论识别,采集的判据除了评论内容、邮件地址和网站地址外,还包括评论者的IP地址、浏览器信息等,但仅在云引擎后台使用这些数据,确保隐私和安全。

如果使用了本站最新的Valine和Valine Admin,并设置了Akismet Key,可以有效地拦截垃圾评论。被标为垃圾的评论可以在管理页面取消标注。

部署valine-admin

这一步主要是告诉你如何快速部署这个项目。

如果你已经部署了Valine评论,那么不需要创建新应用,将此项目应用于你的valine应用即可。

  1. 登录LeanCloud的官网。(如何注册就不介绍了。)

    登录无论是国际版还是国内版都是可以的。

    成功登录后,会看到如下界面。右上角可以看到你当前是你的登录节点是国内还是国外,比如我的是国内华北节点。

  2. 创建应用并进入应用

  3. 开始部署项目

    依次点击左侧的云引擎->部署->项目部署->Git部署->配置Git。然后Git的地址填写:https://github.com/sviptzk/Valine-Admin-Server。然后再次点击Git部署->部署即可

  4. 绑定评论管理的域名

    • 国区版

      LeanCloud不给予免费的二级域名了,因此必须绑定备案域名。

    • 国际版

      LeanCloud给予一个免费的二级域名。当然也可以绑定自己的(方式与国区版相同)。

  5. 设置域名白名单

    域名可设置多个,一行一个。需要写协议头。如果使用的是默认端口号可以省略,但协议头一定要写。例如我的设置如图:

    image-20200516172247325

  6. 设置环境变量

    此变量表只针对此项目,如果使用原项目可能不生效

    变量名说明示例
    SITE_NAME[必填]网站名称小康博客
    SITE_URL[必填]网站地址,最后不要加/https://www.antmoe.com
    SMTP_USER[必填]SMTP 服务用户名,一般为邮箱地址。admin@antmoe.com
    SMTP_PASS[必填]SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式123
    SMTP_SERVICE[新版支持]邮件服务提供商,内置支持163
    SENDER_NAME[必填]寄件人名称。小康博客
    TO_EMAIL[可选]博主通知收件地址,默认使用SMTP_USERadmin@antmoe.com
    BLOGGER_EMAIL[可选]如果设置则作为后台管理员邮箱(/sign-up页面设置),不设置则默认以SMTP_USERadmin@antmoe.com
    TEMPLATE_NAME[必填]设置提醒邮件的主题custom2
    AKISMET_KEY[可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾xxxx
    ADMIN_URL[可选]后台管理地址(非博客地址)https://xxxx.leanapp.cn/
    COMMENT[可选]评论div的ID名#post-comment
    SCKEY[可选]server酱的SCKEYxxx
    AKISMET_KEY[可选]Akismet Key 用于垃圾评论检测xxxxxxxxxxxx
    QMSG_KEY[可选]Qmsg酱的密钥xxxxx
    QQ[可选]Qmsg酱发送的qq,不填为全部。支持多个,用英文逗号分隔即可535668586
    DISABLE_EMAIL[可选],填写则代表停止发送邮件true
    QQ_SHAKE[可选],填写代表发送QQ戳一戳true
    ICP[可选]备案信息,直接填写即可。京ICP备19022312号
    INFO[可选]自定义信息输出,支持HTML代码<p style='color:red'>test<p>
    favicon[可选]网页favicon图标https://cdn.jsdelivr.net/gh/sviptzk/StaticFile_HEXO/butterfly/img/favicon.ico
    SPAM_WORDS[可选]需要对屏蔽的关键词,关键词用半角逗号分隔单号,物流
    MAIN_COLOR[可选]仅针对custom2模板主题的主要颜色#ff9191
    MAIN_IMG[可选]仅针对custom2模板主题的头图https://bing.rthe.net/wallpaper

    当使用自定义邮件服务器时(需将SMTP_SERVICE变量删掉哦!)

    变量名说明示例
    SMTP_HOST邮件服务提供商 SMTP 地址,此项需要自行查询或询问其服务商。smtp.ym.163.com
    SMTP_PORT邮件服务提供商 SMTP 端口, 此项需要自行查询或询问其服务商994
    SMTP_SECURE是否启用加密, 默认为 true,一般不需要设置,如有特殊请自行配置。 此项需要自行查询或询问其服务商true

    此项目的主题字段

    主题说明
    default默认主题
    rainbow原版的rainbow
    custom1基于🎉梨花町の肾兄さん🎉的模板
    custom2对custom1的改进版
  7. 添加完成后,点击保存。并且重新部署实例。

    我这里以最简设置为例,请各位博主认真看每个变量的含义最后决定要不要设置。

  8. 初始化后台管理

    如果你没有设置后台域名,即没有做第四步。那么也可以跳过这一步。

    打开绑定的域名+/sign-up,例如我的域名为https://xiaokang.avosapps.us/,那么我访问的地址就是https://xiaokang.avosapps.us/sign-up。接下来设置你的登录信息。

  9. 登录后台

    接下来就可以用刚才的邮箱或者登录名登录了。

  10. 基本完成了设置

    到这里基本上完成了valine-admin的基本设置。如果你觉得我的项目还不错,可以为我点个star哦!

防止服务器休眠

关于自动休眠的官方说法:点击查看

关于服务器休眠唤醒的问题,以前的方法是通过自带的定时任务进行唤醒,但现在不可以了,因为官方进行限制了。因此对于服务器的自唤醒可以参考优雅解决LeanCloud流控问题这篇文章进行解决。

至于重发函数,还是和往常一样,但由于流控限制,因此最好能保证重发时机器是活着的。不然很可能会触发因流控原因,通过定时任务唤醒体验版实例失败,建议升级至标准版云引擎实例避免休眠

选择resend-mails云函数,Cron表达式为0 59 7 * * *,表示每天早8点20分检查过去24小时内漏发的通知邮件并补发(请尽量确保你设置的时间机器是醒着的):

使用问题

此项目是在原项目的基础上进行的二次开发(其实并不是开发,只是添加一个请求而已)。所以使用上可能会遇到一些问题,因此遇到问题可以在下方留言,或者给我发送Email。

添加丰富的评论表情

参考:Valine如何添加多个表情

无法登录后台

这个主要原因是因为后台验证机制变了,只需要访问你的后台管理的域名+sign-up即可。

例如我的后台管理地址为www.antmoe.com那么我访问的地址就是www.antmoe.com/sign-up

原创文章,转载请标明出处。

更新说明

  • 2020-06-24

    A 关键词屏蔽字段

  • 2020-06-20

    A 增加favicon字段

  • 2020-06-10

    A添加了头图自定义(仅限custom2主题)

    A添加了模板主要颜色自定义(仅限custom2主题)

  • 2020-05-17

    A添加页脚自定义信息(支持HTML代码)

    A添加备案信息行

    image-20200517192601574

  • 2020-05-15

    A适配国际版时间问题

    A添加字段BLOGGER_EMAIL

  • 2020-04-25

    A QQ戳一戳功能
    A 是否开启邮件通知
    F QMSG字段修改为QMSG_KEY

  • 2020-04-20

    添加了qq提醒

  • 2020-04-19

    基于懒人的版本重新构建(弃用了request)

  • 2020-03-31

    更新了新内容,整合了垃圾评论功能。

  • 2020-03-24

    对前一套模板进行了修改(重要内容用灰色背景显示)

  • 2020-03-20

  • 2020-02-16

    • 第一次发布,增加了微信server酱提醒