思路:
1·用云函数或者app.js获取用户openid,在每个帖子里面like_people数组里添加点赞过该帖子的用户openid。获取帖子云数据存放到suju:[]里。
2·点击点赞按钮图标变换 点击点赞按钮,改变suju:[]里like属性,html读取suju:[]里面like属性实现图标变换。数字变换同理。
3·界面图标判断是否点过赞 遍历所有帖子的openid,放置到iszan列表里,遍历iszan列表,如果包含当前用户的openid,则把该帖子的like状态改为true,反正改为false。
上传数据看代码,这里不好说。
ps:题主是个新手,写有很多冗余代码,该方法的实现也没能达到高效。欢迎各位大佬按思路写出更高效简洁的代码。
云数据:
wxml:
<view class="love" style="display:flex" bindtap="dianzan" data-dianzannb="{
{item.content.dianzan_number}}" data-id="{
{item._id}}">
<image lazy-load="true" src="/pages/talk/images/up-click.png" style="width:40rpx;height:40rpx" wx:if="{
{!item.like}}"></image><!--没点赞-->
<image lazy-load="true" src="/pages/talk/images/up.png" style="width:40rpx;height:40rpx" wx:else></image><!--已点赞-->
<view class="dianzannb" style="font-size:78%;color:#656565;f