Breek 主题自带了 Valine 系统,并且可以开启阅读统计,开启后会在首页以及文章页面显示单个文章的评论数和阅读数。

但是,我使用过程中发现这两个数字都是0,不会被更新。一直以为是 LeanCloud 函数的问题,今天查看请求的时候,发现了问题所在。

文章详情页下,获取评论数的请求,总共请求了2次。

一次请求参数是这样的,返回数据评论数是正常的。

where: {"$or":[{"rid":{"$exists":false}},{"rid":""}],"url":"/post/a-book-that-make-you-want-to-share/"}

一次是这样的,返回值为0:

 where: {"$or":[{"rid":{"$exists":false}},{"rid":""}],"url":"/a-book-that-make-you-want-to-share/"} 

对比两个请求参,发现不同之处是 url 参数。也就是说当前代码里面给定的 url 获取值不对。

把 post.ejs 里面 xid 的值,加上 /post,修改后如下:

<i class="fa fa-comment remixicon"></i><span class="comment-count valine-comment-count" data-xid="/post/<%= post.fileName %>/"> </span>

测试,文章页可以正常显示评论数了。

把阅读数量的 data-xid 也改为带 /post 的格式,把首页也一样操作。问题解决。


想给 Breek 的github 提交 Pr ……