UJCMS访问量及统计代码

2023-08-15 12:38 阅读

访问量指的是每篇文章、每个栏目甚至每个站点的访问量。访问量与数据库中某一数据相对应,比如文章访问量和文章数据对应,栏目访问量和栏目数据对应,站点访问量和站点数据对应。

由于系统同时支持动态页访问和生成静态页访问,所以在页面中必须要加相应的代码,系统才能记录相关的访问量。如发现访问了文章、栏目、站点,而系统中没有记录相应的访问量,则可能是页面上没有加上相应的统计代码。

另外需要注意的是,访问了某个页面后,系统不会立刻更新数据库,而是通过定时任务(每分钟执行一次),一次性批量写入数据库。这有助于提高系统性能,不会因为巨大的访问量频繁更新数据库,导致宕机或系统响应缓慢。如果发现访问量不会立即更新,这是正常现象。

文章访问量

文章访问量表为ujcms_article_ext(8.0及更早版本为ujcms_article_buffer)。

文章浏览量统计及显示代码(在文章模板中使用,即以article开头的模板):

<span id="views"></span>
<script>
    axios.get('${api}/article/view/${article.id?c}').then(function (response) {
        $('#views').text(response.data);
    });
</script>

这段代码可以获取当前文章的浏览量,同时会增加一次文章的浏览量。

栏目访问量

栏目访问量表为ujcms_channel(8.0及更早版本为ujcms_channel_buffer)。

栏目访问量统计代码(在栏目模板中使用,即以channel开头的模板):

<script>axios.get('${api}/channel/view/${channel.id?c}');</script>

由于栏目页通常无需显示访问量,只需向服务器发送一个请求,告知该栏目页被访问了即可。

站点访问量

站点访问量表为ujcms_site(8.0及更早版本为ujcms_site_buffer)。

站点访问量统计代码(所有模板皆可使用,所有模板皆有站点对象):

<div>今日访问量: <span id="siteTodayViews"></span></div>
<div>昨日访问量: <span id="siteYesterdayViews"></span></div>
<div>总访问量: <span id="siteViews"></span></div>

axios.get('${api}/site/view/${site.id?c}').then(function (response) {
    $('#siteTodayViews').text(response.data.todayViews);
    $('#siteYesterdayViews').text(response.data.yesterdayViews);
    $('#siteViews').text(response.data.views);
});

一般所有页面的访问量都希望纳入到站点访问量里,所以需要在所有模板都加上该统计代码。

QQ咨询
电话
微信
微信扫码咨询