微信小程序端的点赞功能其实没什么好介绍的,无非就是调用接口改变点赞状态和点赞数量。需要注意的是取消点赞时的处理,我这里为了减少服务器接口的调用,直接本地存一个变量,修改这里的变量值即可。

由于源码都相对简单,这里就直接贴源码了。

wxml布局源码如下:

 <view class="button-area" catchtap="onLikeClick">
<block wx:if="{{isLike}}">
<text class="text-like-count">{{likeCount}}</text>
<l-icon name="like" color="#FFE57F" size="50" />
</block>
<block wx:else>
<text class="text-like-count">{{likeCount}}</text>
<l-icon name="like" color="#34BFA3" size="50" />
</block> </view>

布局实现主要就是通过判断语句根据不同的点赞状态显示不同的布局。

js 逻辑控制代码如下:

  onLikeClick(e) {
let that = this
if (this.data.bookIsLike) {
// 取消赞
likeModel.cancelLike(this.data.bk_id)
.then(res => {
this.data.bookIsLike = false
if (this.data.like_count > 0){
this.data.like_count = this.data.like_count - 1
}
this.setData({
likeCount: this.data.like_count,
isLike: that.data.bookIsLike
});
}) } else {
//点赞
likeModel.like(this.data.bk_id)
.then(res => {
this.data.bookIsLike = true
this.setData({
likeCount: this.data.like_count + 1,
isLike: that.data.bookIsLike
});
})
}
},

逻辑处理也是根据不同的点赞状态调用相应的接口,根据返回的结果渲染wxml即可。

这里的likeModel就是封装的点赞接口,源码如下:

import {
HTTP
}
from '../utils/http.js' // 获取服务器接口地址
const api = require('../config/config.js'); class LikeModel extends HTTP {
data = null /**
* 喜欢书籍的状态
*/
userLikeIt(bid) {
return this.request({
url: api.getBookLike,
data: {
bkid: bid
},
})
} /**
* 喜欢书籍
*/
like(bid) {
return this.request({
url: api.like,
method: 'POST',
data: {
bkid: bid
},
})
} /**
* 取消喜欢书籍
*/
cancelLike(bid) {
return this.request({
url: api.cancelLike,
method:'POST',
data: {
bkid: bid
},
})
}
} export {
LikeModel
}

以上就是本次的介绍。


扫码关注公众号,轻撩即可。

全栈项目|小书架|微信小程序-点赞功能实现的更多相关文章

  1. 全栈项目|小书架|微信小程序-登录及token鉴权

    小程序登录 之前也写过微信小程序登录的相关文章: 微信小程序~新版授权用户登录例子 微信小程序-携带Token无感知登录的网络请求方案 微信小程序开通云开发并利用云函数获取Openid 也可以通过官方 ...

  2. 全栈项目|小书架|微信小程序-项目结构设计分包

    前面的文章 介绍了服务端的基础搭建以及用户模块的设计,接下来就是在服务端和客户端实现具体的业务了. 本篇文章先来介绍微信小程序开发的项目结构设计,也就是项目分包情况. 由于项目是在<极客时间-9 ...

  3. 全栈项目|小书架|微信小程序-首页水平轮播实现

    首页效果 首页功能主要有 搜索(下篇文章介绍) 图书列表 图书列表 分析一波: 列表是水平滑动 点击列表会有按压效果:布局整体缩小 每个布局的信息从上到下排列分别是:图片.书名.作者.出版社 每个布局 ...

  4. 全栈项目|小书架|微信小程序-实现搜索功能

    效果图 上图是小程序端实现的搜索功能效果图. 从图中可以看出点击首页搜索按钮即可进入搜索页面. 布局样式是:搜索框 + 热搜内容 + 搜索列表. 搜索框使用 lin-ui 中的 Searchbar组件 ...

  5. 全栈项目|小书架|微信小程序-登录回调及获取点赞列表功能

    效果图 这一节介绍,登录回调 以及 喜欢列表 的实现. 登录回调:这里是指在获取登录完成之后,再进行下一步的操作. 比如效果图中我的页面,默认是未登录状态,积分和喜欢列表的数量都没有获取到. 而登录成 ...

  6. 全栈项目|小书架|微信小程序-书籍详情功能实现

    效果图 实现分析 从效果图上分析,书籍详情是通过点击首页的item后进入. 进入详情页之后页面顶部显示书籍的相关信息,同时判断用户是否登录,未登录则弹出一个授权登录窗口. 点击登录之后即可加载出用户评 ...

  7. 全栈项目|小书架|服务器端-NodeJS+Koa2 实现书籍详情接口

    通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 书籍详情分析 书籍详情页面如下: 从上图可以分析出详情页面大概有以下 ...

  8. 全栈项目|小书架|服务器端-NodeJS+Koa2实现首页图书列表接口

    通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 首页书籍信息 先来回顾一下首页书籍都有哪些信息: 从下面的图片可以看 ...

  9. 全栈项目|小书架|服务器开发-NodeJS 使用 JWT 实现登录认证

    通过这篇 全栈项目|小书架|服务器开发-JWT 详解 文章我们对JWT有了深入的了解,那么接下来介绍JWT如何在项目中使用. 安装 $ npm install jsonwebtoken 生成 Toke ...

随机推荐

  1. IO多路复用之select poll epoll

    参考文档: http://blog.csdn.net/tennysonsky/article/details/45745887 select(),poll(),epoll()都是I/O多路复用的机制. ...

  2. [Beta]Scrum Meeting#5

    github 本次会议项目由PM召开,时间为5月10日晚上10点30分 时长15分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客整理文档 撰写博客整理文档 swoip 改进界面 改进界面 b ...

  3. JetBrains套装免费学生授权申请(IntelliJ, ReSharper, WebStorm...)

    IntelliJ作为一款强大的Java开发IDE,售价自然也不会低.但是对于学生或教师来说,JetBrains开发工具免费提供给学生和教师使用.而且取得一次授权后只需要使用相同的 JetBrains ...

  4. phpstudy 首次安装后打开网站 数据库内容 中文乱码

    首次安装完成 phpstudy 后,默认的 my.ini 配置只有数据库文件位置,其他的都没有设置,这时如果想要输出数据库中的中文后,显示到页面上就会变成中文乱码 解决方法: 打开 phpstudy ...

  5. golang教材

    https://golangbot.com/buffered-channels-worker-pools/ https://golang.org/doc/ https://medium.com/go- ...

  6. leetcode No.242 有效的字母异位词 valid-anagram (Python3实现)

    题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram&q ...

  7. k8s记录-k8s基本概念和术语

    每次个节点上当然都要运行Docker.Docker来负责所有具体的映像下载和容器运行. Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态: apiserver提供了资源操 ...

  8. Cassandra开发入门文档第三部分(非规范化关系结构、批处理)

    非规范化关系结构 第二部分我们讲了复合主键,这可以灵活的解决主从关系,也即是一对多关系,那么多对多关系呢?多对多关系的数据模型应该回答两个问题: 我跟着谁? 谁跟着我? -- 建表,我们发现这里有个不 ...

  9. LODOP常见问题连接(含常见小问答博文)

    问答大全 纸张打印机 注册 table表格 clodop测试地址 字体 超文本 行间距.字间距 clodop回调函数 条码 页眉页脚 SET……STYLEA 水平居中 简短排查 提示报错 慢进度条 套 ...

  10. go 垃圾回收机制

    转载一篇仔细分析了golang的垃圾回收策略以及发展的一篇文章 地址是https://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA%3D%3D&mid=265 ...