欢迎来到北剑锋信息 官方网站!
您的位置: 首页 - 网站建设 - 优化PbootCms的点赞效果
优化PbootCms的点赞效果

优化PbootCms的点赞效果

写这篇文章时pbootCms版本是V2.0.7 pbootcms模板系统默认给出了点赞、反对的链接。分别是: {content:likeslink} 点赞链接 {content:opposelink} 反对链接 使用效果是,点击一次,页面刷新一下,点赞数{content:likes}、{content:oppose}会显示+1。 这个效果显示比较硬。一个小功能,居然要页面刷新,不能忍,必须改造。

联系电话:18837777618
产品详情

写这篇文章时pbootCms版本是V2.0.7

        pbootcms模板系统默认给出了点赞、反对的链接。分别是:



        {content:likeslink} 点赞链接



        {content:opposelink} 反对链接



        使用效果是,点击一次,页面刷新一下,点赞数{content:likes}、{content:oppose}会显示+1。



            这个效果显示比较硬。一个小功能,居然要页面刷新,不能忍,必须改造。


            当我写到一半的时候,发现原来PbootCms已经有这个API接口了。手动黑人问号。


            那么还是用官方的吧,官方的开发文档中并没有给出相关文档。


            我们先来说一下这俩接口。


            点赞链接:http://IP/api.php/do/likes/id/*    //此处传递文章的ID,即{content:id}


            反对链接:http://IP/api.php/do/oppose/id/*    //此处传递文章的ID,即{content:id}


            下面就简单啦。用点赞做示例:





            查看源码打印代码帮助




            01$(document).ready(function (e) {

            02var url=/api.php/do/likes/id/+{content:id};

            03$.ajax({

            04type: POST,

            05url: url,

            06dataType: json,

            07data: {

            08appid: {pboot:appid},

            09timestamp: {pboot:timestamp},

            10signature: {pboot:signature}

            11},

            12success: function (response, status) {

            13if(response.code){

            14//获取数据成功

            15//此处对页面已经显示的{content:likes}+1,注意JS中需要转换为数字,才能进行+1,否则会是字符串拼接。

            16alert(response.data);

            17}else{

            18//返回错误数据

            19alert(response.data);

            20}

            21},

            22error:function(xhr,status,error){

            23//返回数据异常

            24alert(返回数据异常!);

            25}

            26});

            27});






        那么问题来了,这个是可以无限点赞的。根本停不下来呀...


        我们应该事先的效果是跟常规的刷新页面效果一样,一天只能点赞一次。


        我们需要对API接口进行优化一下。


        需要修改的文件路径:apps/api/controller/DoController.php


        大约在24行;看下注释就知道啦。



            我们同样以点赞为例,上代码:



                查看源码打印代码帮助




                01// 点赞

                02public function likes()

                03{

                04if (! ! $id = request(id, int)) {

                05if(! cookie(likes_ . $id)){

                06$this->model->addLikes($id);

                07cookie(likes_ . $id, true, 86400, null, null, null, null);

                08json(1, 点赞成功);

                09}else{

                10json(0, 24小时内只能点赞一次哦!);

                11}

                12} else {

                13json(0, 点赞失败);

                14}

                15}







    至此,24小时点赞一次的功能就优化完成啦。

相关产品

客服
微信
客服
扫码加微信(手机同号)

18837777618

电话
TOP