目录
LeanCloud上修复Valine评论系统

前言

Hexo采用的是Valine评论系统。Valine是一款基于LeanCloud的评论系统,无需自建后端。LeanCloud则是一家提供数据存储服务的网站,国内版的LeanCloud在2021年4月需要完成实名认证导致Valine评论失效,故转战国际版LeanCloud,域名leancloud.app。

LeanCloud配置

获取APP ID和APP Key

重新注册国际版LeanCloud帐号,进入控制台,创建开发版应用。进入设置 > 应用Key,获取APP IDAPP Key

开启评论数据管理功能

LeanCloud后台 > 数据存储 > 选择Class: Comment

Valine配置

评论失效时浏览器调试,调试界面显示:POST https://us.avoscloud.com/1.1/classes/Comment net::ERR_TIMED_OUT 导致无法评论,不清楚是否是因为域名us.avoscloud.com问题,忘记ping了,修复完成后发现可以ping通。LeanCloud后台查看,进入设置 - 应用 Keys,找到Domain whitelist,里面的Request domain里面的那个xxxxxxxx.api.lncldglobal.com就是你需要指定的服务器URL。其中xxxxxxxx就是各位的AppID的前8位字符。ping xxxxxxxx.api.lncldglobal.com, ping值在180左右。

主题的_config.yml的valine,修改appIdappKey,添加自定义serverURLs

1
2
3
4
5
6
7
8
9
10
11
12
valine:
enable: true # if you want use valine,please set this value is true
appId: xxxxxxxx # leancloud application app id
appKey: xxxxxxxx # leancloud application app key
notify: false # valine mail notify (true/false) https://github.com/xCss/Valine/wiki
verify: false # valine verify code (true/false)
pageSize: 10 # comment list page size
avatar: mm # gravatar style https://valine.js.org/#/avatar
lang: zh-CN # i18n: zh-cn/en/tw
placeholder: Write a comment # valine comment input placeholder(like: Please leave your footprints )
guest_info: nick,mail,link #valine comment header inf
serverURLs: https://xxxxxxxx.api.lncldglobal.com

valine.png里面在最下边添加自定义URL的参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
new VMiniValine({
el: '.vcomment',
appId: '<%- theme.valine.appId %>',
appKey: '<%- theme.valine.appKey %>',
notify: '<%- theme.valine.notify %>' === 'true',
verify: '<%- theme.valine.verify %>' === 'true',
visitor: '<%- theme.valine.visitor %>' === 'true',
avatar: '<%- theme.valine.avatar %>',
pageSize: '<%- theme.valine.pageSize %>',
lang: '<% if (config.language == "zh-CN") { %>zh-cn<% } else { %>en<% } %>',
placeholder: '<%= theme.valine.placeholder %>',
serverURLs: '<%= theme.valine.serverURLs %>' // 加上这一行
});

重新部署hexo调试发现,https://f342jvkl.api.lncldglobal.com/1.1/classes/Comment Error: Class or object doesn't exists。 检查LeanCloud后台发现选择Class: Comment写成了comment,改成Comment,OK。

文章作者: Kylen Chan
文章链接: https://booku.ltd/posts/valine-comment/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kylen's Blog

评论