# Html 模版源码 ~~~ <div class="text-center"> <button class="btn bg-success" type="button" id="sc" user_id="{$article->user->id}" article_id="{$article.id}" session_id="{$Think.session.uid}" > {if $Think.session.code == 1} <span style="color: white!important;">取消收藏 </span></button> {else/} <span style="color: white!important;">收藏 </span></button> {/if} <button class="btn bg-danger" type="button" id="dz" user_id="{$article->user->id}" article_id="{$article.id}" session_id="{$Think.session.uid}"> {if $Think.session.zan == 1} <span style="color: white!important;">取消点赞</span> {else/} <span style="color: white!important;">点赞 </span></button> {/if} </button> </div> ~~~ # js代码 ~~~ <script> $(function () { //收藏功能 $('#sc').click(function () { //获取文章id let user_id = $(this).attr('user_id') //获取文章id let article_id = $(this).attr('article_id') //获取session id let session_id = $(this).attr('session_id') if (user_id && article_id){ $.ajax({ type: 'get', url: "{:url('/collection')}", data:{ 'user_id':user_id, 'article_id':article_id, 'session_id':session_id, }, dataType: 'json', success: function(data){ switch (data.status) { case 1: swal({ text: data.message, icon: "success", button: false }); $('#sc').attr('class','btn bg-danger') $('#sc').html(' <span style="color: white!important;">收藏成功 </span>') break case 0 : swal({ text: data.message, icon: "warning", button: false, }); break case -1: swal({ text: data.message, icon: "warning", button: false, }); $('#sc').attr('class','btn bg-success') $('#sc').html('<span style="color: white!important;">收藏</span>') break } } }) } }) //点赞功能 $('#dz').click(function () { //获取文章id let user_id = $(this).attr('user_id') //获取文章id let article_id = $(this).attr('article_id') //获取session id let session_id = $(this).attr('session_id') if (user_id && article_id){ $.ajax({ type: 'get', url: "{:url('/zan')}", data:{ 'user_id':user_id, 'article_id':article_id, 'session_id':session_id, }, dataType: 'json', success: function(data){ switch (data.status) { case 1: swal({ text: data.message, icon: "success", button: false }); $('#dz').attr('class','btn bg-danger') $('#dz').html(' <span style="color: white!important;">点赞成功 </span>') break case 0 : swal({ text: data.message, icon: "warning", button: false, }); break case -1: swal({ text: data.message, icon: "warning", button: false, }); $('#dz').attr('class','btn bg-success') $('#dz').html('<span style="color: white!important;">点赞</span>') break } } }) } }) }) </script> ~~~ # php 代码 ~~~ //加入收藏 public function collection(Request $request){ $data = $request->param(); //判断是否登录进行收藏 if ($data['session_id'] == null){ return ['status'=> 0,'message'=>'您还没有登录,不能进行文章收藏']; } //定义规则,进行数据库查询 $map[] = ['user_id','=', $data['user_id']]; $map[] = ['article_id','=', $data['article_id']]; $rule = Db::table('collection')->where($map)->find(); if (is_null($rule)){ $rule = Db::table('collection')->insert( [ 'user_id' => $data['user_id'], 'article_id' => $data['article_id'], ] ); session('code',1); return ['status'=>1,'message'=>'收藏成功']; }else{ session('code',0); Db::table('collection')->where($map)->delete(); return ['status'=>-1, 'message'=>'取消收藏']; } } //点赞 public function zan(Request $request){ $data = $request->param(); //判断是否登录进行收藏 if ($data['session_id'] == null){ return ['status'=> 0,'message'=>'您还没有登录,不能对文章点赞']; } //定义规则,进行数据库查询 $map[] = ['user_id','=', $data['user_id']]; $map[] = ['article_id','=', $data['article_id']]; $rule = Db::table('zan')->where($map)->find(); if (is_null($rule)){ Db::table('zan')->insert( [ 'user_id' => $data['user_id'], 'article_id' => $data['article_id'], ] ); session('zan',1); return ['status'=>1,'message'=>'点赞成功']; }else{ session('zan',0); Db::table('zan')->where($map)->delete(); return ['status'=>-1, 'message'=>'取消点赞']; } } ~~~ # 路由设置 ~~~ //加入收藏 Route::get('collection','index/collection'); //点赞 Route::get('zan','index/zan'); ~~~