配置LeanCloud的网站统计
前言
利用Fluid主题,可以设置显示网站的浏览量,借助LeanCloud国际版的数据存储即可无需备案完成这一步。但是在实际部署过程中发现并不能正常获取LeanCloud的数据。
问题发现
按照Fluid的官方文档,将LeanCloud的AppID、AppKey并开启“展示PV与UV统计”后,网站并没有正常显示统计信息
查看网页源代码时出现报错:
1 | [Error] Fetch API cannot load https://xxxx.api.lncldglobal.com/1.1/classes/Counter?where=%7B%22target%22%3A%22site-pv%22%7D due to access control checks. |
尝试访问该链接,提示:Access denied Error code 1020
解决过程
问题分析
出现这个问题的原因是国际版LeanCloud的RestAPI禁止国内用户直接访问,使用中国版LeanCloud即可解决这个问题。
但是,使用国际版的初衷就是为了免去备案这一过程,既然不能直接访问,如果手头又有自己的域名,那么在这之上利用DNS加速不就可以了嘛!
具体操作
首先,访问LeanCloud的控制面板,进入指定应用,点击设置-域名绑定
,在API访问域名
中点击绑定新域名
,想好一个DNS记录名称并填入域名
栏,点击绑定即可
之后,在控制面板内会提示设置DNS
记下配置并转到DNS供应商进行设置(此处以CloudFlare为例)
使用CloudFlare部署DNS时,请不要勾选代理,否则会出现如下情况:
配置完成后,等待一段时间进行部署证书,出现如下提示就可以了
最后一步,就是在主题的设置中将刚才的地址填入RestAPI就大功告成了!
1 | leancloud: |
此方法同样适用于其他类型对于LeanCloud使用的情况,不仅限于Fluid主题
如果出现统计信息不增加的情况,请检查LeanCloud内的Counter Class的ACL权限是否为无限制,或者是否有相对应的权限和密钥
后记
其实,在Fluid的配置中,我们完全可以使用busuanzi(不蒜子)的统计信息,完全不需要配置,但是在实际应用过程中他的统计信息不准确,并且存在同一个ip标记多个访客的现象。目前来看,使用LeanCloud的统计差错很小,相对于busuanzi来说精确了不少,所以最后我选择了放弃busuanzi而使用LeanCloud的统计