网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>pbootcms教程

优化PbootCms点赞效果

时间:2025-04-01 02:25:59    来源:    人气:0

在撰写本文时,PbootCMS的版本为V2.0.7。

 

PbootCMS模板系统默认提供了点赞和反对的功能链接:

{content:likeslink} 用于点赞功能。

{content:opposelink} 用于反对功能。

点击这些链接后,页面会刷新一次,同时{content:likes}{content:oppose}的数值会增加1。然而,这种效果显得有些生硬,因为一个小功能却需要整个页面刷新,用户体验不佳,因此我们决定对其进行优化。

 

在深入研究的过程中,我发现PbootCMS已经内置了相关的API接口。虽然官方文档中并未提及这些接口,但我们仍然可以利用它们来实现更流畅的效果。

以下是两个主要的API接口:

点赞链接:http://IP/api.php/do/likes/id/* // 这里需要传递文章ID,即{content:id}。

反对链接:http://IP/api.php/do/oppose/id/* // 同样需要传递文章ID,即{content:id}。

接下来,我们将通过一个示例来展示如何使用这些接口进行点赞操作。


$(document).ready(function (e) {
  var url = '/api.php/do/likes/id/' + {content:id};
  $.ajax({
    type: 'POST',
    url: url,
    dataType: 'json',
    data: {
      appid: '{pboot:appid}',
      timestamp: '{pboot:timestamp}',
      signature: '{pboot:signature}'
     },
    success: function (response, status) {
      if(response.code){
        // 获取数据成功
        // 此处对页面已显示的{content:likes}加1,注意JS中需要转换为数字才能进行加法运算,否则会是字符串拼接。
        alert(response.data);
      }else{
        // 返回错误数据
        alert(response.data);
      }
    },
    error:function(xhr,status,error){
      // 返回数据异常
      alert('返回数据异常!');
    }
  });
});
    

但是,这样设置会导致用户可以无限点赞,完全没有限制。我们需要调整逻辑,使其与传统的页面刷新效果一致,即一天只能点赞一次。

为了实现这一目标,我们需要对API接口进行一些优化。具体来说,需要修改以下文件:

文件路径:apps/api/controller/DoController.php

大约在第24行,可以根据注释找到相关代码。以下是优化后的点赞功能代码示例:


// 点赞
public function likes()
{
    if (! ! $id = request('id', 'int')) {
        if(! cookie('likes_' . $id)){
            $this->model->addLikes($id);
            cookie('likes_' . $id, true, 86400, null, null, null, null);
            json(1, '点赞成功');
        }else{
            json(0, '24小时内只能点赞一次哦!');
        }
    } else {
        json(0, '点赞失败');
    }
}
    

至此,我们已经成功实现了每天只能点赞一次的功能优化。这不仅提升了用户体验,也确保了系统的公平性。

相关文章

  • Pbootcms修改留言“提交成功”提示语

    Pbootcms修改留言“提交成功”提示语

    如果您正在使用 PbootCMS 构建网站,并希望自定义留言功能的提示语,那么本文将为您提供详细的指导。通过修改相关文件,您可以轻松更改“提交成功”的提示语,以满足您的个性化需求。以下是具体的操作步骤: 首先,您需要找到并打开以下文件路径: /apps/home/controller/Messag...
    2025-04-01
  • PBootCMS上传缩略图尺寸限制修改方法

    PBootCMS上传缩略图尺寸限制修改方法

    在使用PbootCMS为客户搭建网站的过程中,可能会遇到上传缩略图时尺寸被限制的问题。例如,上传一张1920px宽的图片后,发现实际显示的尺寸仅为1000px,而在后台找不到相关设置选项。实际上,这种缩略图尺寸的限制是需要通过修改系统文件来解决的。 PbootCMS程序默认将缩略图的最大尺寸限...
    2025-04-01
  • PBootCMS模板中如何调用网站全部文章

    PBootCMS模板中如何调用网站全部文章

    在使用PBootCMS构建网站时,许多人可能会遇到如何在模板文件中调用全站所有文章的需求。本文将详细介绍如何通过PBootCMS的标签语法实现这一功能,并提供一些实用的技巧。 要调用网站所有的文章,可以使用PBootCMS提供的列表标签 `{pboot:list}`。以下是具体的操作方法: ...
    2025-04-01
  • PBootCMS编辑器过滤DIV代码的解决方法

    PBootCMS编辑器过滤DIV代码的解决方法

    在使用 PbootCMS 构建网站的过程中,您可能会遇到需要在专题内容中插入包含 HTML 代码的情况。然而,当您尝试这样做时,会发现编辑器自动去除了部分标签元素,并且将所有的 div 标签转换为了 p 标签。那么,我们该如何解决这个问题呢? AB模板网的专家表示,这是由于编辑器自身的机制导致...
    2025-04-01

公众号