今天做了一个微信小程序的点赞和评论功能!人生都有第一次,没有做过是因为没有思路,如果思路明白了,自然就会了!
一、首先,我们点赞需要明白两点。
1、微信人的id,也就是本人点击成功。
2、我想要点赞哪篇文章的id。
那么好,这就是我们要做的第一步!
(1)let user_id = wx.getStorageSync('user_id'); //自己的id
(2)toAgree: function (e){ let task_id = e.currentTarget.dataset.id ;}//获取文章的id(html 点击那一行data-id='{{item.id}}')
二、这两个有了之后 我们还要去判断 前端页面 ‘点击成功’和‘取消点赞’的判断样式,那么我们就用到了 wx:if 和 wx:else。(一一般判断的条件应该是后台给的一个状态。目前是被点击还没有点击。所以
wx:if="{{item.(参数) == 0}}" 或者 wx:else="{{item.(参数) == 1}}");
三、调用成功和取消赞的接口
点击事件就一个,因为我们点击的每一个都是数组循环展示的。所以,
在调用接口之前我们需要循环列表的数据。
随便给列表取一个变量,let list = this.data.list( this.data.list这是我们已经展示成功的事数组放在了data里。拿来循环。)
for (let i of list) {
if (这里面判断需要两个,一个是寻找列表我所点击的id和list的id进行循环对比 && 接口给的点赞状态是0或者1作为判断条件) {
wx.request({
url: 地址',
data: {
user_id:“”, //个人id
task_id:“”,//作品id
},
method: "post",
header: {
'content-type': 'application/x-www-form-urlencoded'
},
dataType: "json",
success: (res)=> {
i.dianzan = parseInt(i.dianzan) + 1 //点赞+1
i.is_dianzan = 1 //成功的状态
this.setData({
list
})
}
})
break;
}else if(与上面类同){
与上面类同
}
break;
}
希望能够对你有帮助,在往深的要求。首先不要盲目做。先要缕清思路。再去行动。就算没有做过 也难不倒你!
加油!