工作流程
事件流程
逻辑问题修正
1、首先通过字段控制点赞、未点赞按钮的显示隐藏,页面绑定效果如下:
注意:条件绑定不能直接在img标签下绑定,需在img标签外加一层span,在span中绑定,否则不能实现显示隐藏效果。
已点赞按钮绑定:
未点赞按钮绑定:
后端:(页面读取接口)
首先用标准查询查询点赞表,若存在,则字段为true,判断代码如下:
若点赞在循环体内:
_.each(循环数组名, function(v, k, l) { v.zan = false; if (条件)) { v.zan = true; } });
若点赞在循环体外:(记得添加_runCommand)
tmp_data.zan = false; if (条件)) { tmp_data.zan = true; }
2、在未点赞按钮添加逻辑,并添加创建点赞记录接口。
接口代码段:获取用户ID、标准新建、(若需更新相应的点赞次数记录)根据id更新node信息、数据库刷新、自定义代码段。如图:
其中,串行代码段添加条件代码为:
其中,根据id更新node信息代码段中script代码如下图:
由于添加代码后需要刷新页面点赞数据,为避免页面跳转,可以使用后端控制同步数据元素主动同步一次数据来替换页面跳转。具体操作如下:
首先在同步数据元素处添加数据绑定并初始化:
然后,在相应需要刷新数据的接口添加updatalv,将同步数据元素绑定的属性值改为1,代码如下:
/*INSBEGIN:CUSTOM*/ function() { finish_data._runCommand = finish_data._runCommand ||[]; finish_data._runCommand.push({ "command":"updatelv", "params":[{ "bianliang":1, }] }); }, /*INSEND:CUSTOM*/
3、在已点赞按钮处添加逻辑,并添加删除点赞记录的接口:
接口代码段:标准查询(查出点赞记录_id)、通过id删除记录、(若需更新相应的点赞次数记录)根据id更新node信息、数据库刷新。如图:
其中,根据id更新node信息代码段中script代码如下图: