最近搞了下点赞 这个逻辑是:
进入小程序后 -->
db查询集合记录数量存到本地即点赞数量,
查询本用户是否点赞
点赞显示空心
未点赞显示满心
点击空心 -->
db 集合添加一条记录,
success 本地集合记录数量 + 1,变满心,记录_id写入缓存,
fail 提示点赞失败
点击满心 -->
db 集合删除此记录,
successsuccess 本地集合记录数量 - 1,变空心,
successfail 提示点赞失败
这样点赞会因为网络原因存在 0.5 - n 秒的延迟,体验不太好。
优化逻辑:
进入小程序后 -->
db查询集合记录数量存到本地即点赞数量,
查询本用户是否点赞
点赞显示空心
未点赞显示满心
点击空心 -->
本地集合记录数量 + 1,变满心 -->
db 集合添加一条记录,
success 空,记录_id写入缓存,
fail 提示点赞失败,本地集合记录数量 - 1,变空心
点击满心 -->
本地集合记录数量 - 1,变空心 -->
db 集合删除_id记录,
success 空,
fail 提示取消点赞失败,本地集合记录数量 + 1,变满心
这样体验会好很多,点击空心就能立刻变满心