TP5.0收藏点赞
控制器
public function collection(Request $request){
$data = $request->param();
if ($data['session_id'] == null){
return ['status'=> 0,'message'=>'您还没有登录,不能进行文章收藏'];
}
$map['uid'] = $data['uid'];
$map['article_id'] = $data['article_id'];
$rule = Db::table('link')->where($map)->find();
if (is_null($rule)){
$rule = Db::table('link')->insert(
[
'uid' => $data['uid'],
'article_id' => $data['article_id'],
]
);
session('code',1);
return ['status'=>1,'message'=>'收藏成功'];
}else{
session('code',0);
Db::table('link')->where($map)->delete();
return ['status'=>-1, 'message'=>'取消收藏'];
}
}
JS
<script>
$(function () {
//收藏功能
$('#sc').click(function () {
let uid = $(this).attr('uid')
let article_id = $(this).attr('article_id')
let session_id = $(this).attr('session_id')
if (uid && article_id){
$.ajax({
type: 'get',
url: "{:url('index/progift/collection')}",
data:{
'uid':uid,
'article_id':article_id,
'session_id':session_id,
},
dataType: 'json',
success: function(data){
switch (data.status) {
case 1:
$('#sc').html('<i class="i4" style="padding-top: 20px; pointer-events: none;">收藏成功</i>');
break
case -1:
$('#sc').html('<i class="i5" style="padding-top: 20px; pointer-events: none;">收藏</i>');
break
}
}
})
}
})
})
</script>
HTML模板
<a title="收藏" rel="nofollow">
<input type="hidden" name="path">
<p type="button" id="sc" uid="{$Think.session.memberInfo.id}"
article_id="{$merchants.id}" session_id="{$Think.session.uid}">
{if $Think.session.code == 1}
<i class="i4" style="padding-top: 20px ;pointer-events: none;" >取消收藏</i></p>
{else/}
<i class="i2" style="padding-top: 20px;">收藏</i> </p>
{/if}
</a>
HTML中的I4是我在后台的图片变换,问题不大,思路大概是这样子的。适合5.0版本的