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

这一节介绍,登录回调 以及 喜欢列表 的实现。
登录回调:这里是指在获取登录完成之后,再进行下一步的操作。
比如效果图中我的页面,默认是未登录状态,积分和喜欢列表的数量都没有获取到。
而登录成功之后不仅将用户信息刷新,同时将积分和喜欢列表的数量刷新。
登录回调
我这里实现的回调层级有点多,这也是回调的一个弊端,当回调层级很多代码就会很难理解。
一个简单的回调例子:
// 1、获取网络数据
_getDataFromServer(userInfo, callBack){
...
callBack()
}
// 2、点击按钮获取用户信息
getUserInfo: function(e) {
...
// 发送网络请求获取服务器用户数据
_getDataFromServer(e.detail.userInfo, this._doNextByLogin)
},
// 3、处理回调结果
_doNextByLogin() {
console.log("登录之后回调,刷新数据")
},
上面的代码就是一个完整的回调流程。
- 定义回调方法,在合适的位置进行回调。
- 调用回调方法
- 执行回调函数
由于登录回调的代码过于长...,这里就不贴出来了。基本的实现流程就是使用了回调。
点赞列表

点赞列表的入口在 【我的-喜欢列表】。
如果用户未登录,显示的是空列表(还应该提示用户登录);
如果用户已登录,则显示用户的点赞列表。
主要的wxml如下:
<view class="book-container" wx:else>
// 点赞布局:图片+名称
<block wx:if="{{bookList.length > 0}}">
<block wx:for="{{bookList}}" wx:key="index">
<view class="book bg-white" hover-class="book-hover" data-id="{{item.bkid}}" data-file="{{item.bkfile}}" catchtap="toBookDetail">
<view class="book-image">
<image src="{{item.bkcover}}" mode="scaleToFill"></image>
</view>
<view class="book-name">
<text>{{ item.bkname }}</text>
</view>
</view>
</block>
</block>
// 空布局
<block wx:else>
<view class="empty-container">
<image class="userinfo-avatar" src="../../images/sad.png" background-size="cover"></image>
<view class="donut-container">空空如也</view>
</view>
</block>
</view>
主要的wxss如下:
// 点赞列表样式
.book-container {
display: flex;
box-sizing: border-box;
flex-direction: row;
flex-wrap: wrap;
align-content: space-between;
padding: 50rpx 0;
}
// 书籍样式
.book {
margin: 0 18rpx;
margin-bottom: 50rpx;
width: 208rpx;
height: 380rpx;
box-shadow: 0 0 15rpx #cdcdcd;
display: flex;
flex-direction: column;
justify-content: center;
border-radius: 10rpx;
}
// 点击图书抖动的动画
.book-hover {
transform: scale(0.96,0.96);
transition: all 1 ease 0;
}
// 书籍样式
.book-image > image {
width: 100%;
height: 300rpx;
}
// 书籍名称
.book-name > text {
margin-top: 10rpx;
display: flex;
justify-content: center;
align-items: center;
color: #1e1e1e;
font-size: 25rpx;
}
以上就是本次的介绍。
扫码关注公众号,轻撩即可。
全栈项目|小书架|微信小程序-登录回调及获取点赞列表功能的更多相关文章
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock
笔记 6.微信扫码登录回调本地域名映射工具Ngrock 简介:讲解微信扫码回调本地域名ngrock讲解 1.为什么要用这个,微信扫码需要配置回调,需要配置对应的域名 ...
- 全栈项目|小书架|微信小程序-登录及token鉴权
小程序登录 之前也写过微信小程序登录的相关文章: 微信小程序~新版授权用户登录例子 微信小程序-携带Token无感知登录的网络请求方案 微信小程序开通云开发并利用云函数获取Openid 也可以通过官方 ...
- 全栈项目|小书架|微信小程序-项目结构设计分包
前面的文章 介绍了服务端的基础搭建以及用户模块的设计,接下来就是在服务端和客户端实现具体的业务了. 本篇文章先来介绍微信小程序开发的项目结构设计,也就是项目分包情况. 由于项目是在<极客时间-9 ...
- 全栈项目|小书架|微信小程序-点赞功能实现
微信小程序端的点赞功能其实没什么好介绍的,无非就是调用接口改变点赞状态和点赞数量.需要注意的是取消点赞时的处理,我这里为了减少服务器接口的调用,直接本地存一个变量,修改这里的变量值即可. 由于源码都相 ...
- 全栈项目|小书架|微信小程序-首页水平轮播实现
首页效果 首页功能主要有 搜索(下篇文章介绍) 图书列表 图书列表 分析一波: 列表是水平滑动 点击列表会有按压效果:布局整体缩小 每个布局的信息从上到下排列分别是:图片.书名.作者.出版社 每个布局 ...
- 全栈项目|小书架|微信小程序-实现搜索功能
效果图 上图是小程序端实现的搜索功能效果图. 从图中可以看出点击首页搜索按钮即可进入搜索页面. 布局样式是:搜索框 + 热搜内容 + 搜索列表. 搜索框使用 lin-ui 中的 Searchbar组件 ...
- 全栈项目|小书架|微信小程序-书籍详情功能实现
效果图 实现分析 从效果图上分析,书籍详情是通过点击首页的item后进入. 进入详情页之后页面顶部显示书籍的相关信息,同时判断用户是否登录,未登录则弹出一个授权登录窗口. 点击登录之后即可加载出用户评 ...
- 全栈项目|小书架|服务器端-NodeJS+Koa2 实现书籍详情接口
通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 书籍详情分析 书籍详情页面如下: 从上图可以分析出详情页面大概有以下 ...
- 全栈项目|小书架|服务器端-NodeJS+Koa2实现首页图书列表接口
通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 首页书籍信息 先来回顾一下首页书籍都有哪些信息: 从下面的图片可以看 ...
随机推荐
- 系统权限远程线程注入到Explorer.exe
目录 提升为系统权限,注入到explorer中 一丶简介 二丶注入效果图 提升为系统权限,注入到explorer中 一丶简介 我们上一面说了系统服务拥有系统权限.并且拥有system权限.还尝试启动了 ...
- 设计模式概要 & 六原则一法则
参考文章 http://blog.csdn.net/sinat_26342009/article/details/46419873 继承vs组合:http://www.cnblogs.com/feic ...
- answer
https://www.cnblogs.com/549294286/p/10451394.html 基于BIO实现的Server端,当建立了100个连接时,会有多少个线程?如果基于NIO,又会是多少个 ...
- JVM线程状态Running、Sleeping、Wait、Park、Monitor
1,使用JVisualVM时,打开Threads监控,我们可以发现Java的线程状态有以下几种: 2,JVM线程状态: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_W ...
- 累积分布函数(cumulative distribution function)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...
- PyEchart--数据分析师的利器
Echart https://echarts.baidu.com/ ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...
- js 动态加载 jq
var script=document.createElement("script"); script.type="text/javascript"; scri ...
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案使用详情功能-通道配置Excel导入导出
使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过手动的通道配置来进行设备接入的,这样可以做到将设备的和通道对应的接入.但是,如果手 ...
- 【数据集】WiderFace-A Face Detection Benchmark
前言 参考 1.WiderFace; 完
- react 问题记录二(侧重于state或者说server层操作)
项目体系说明:react+mobx+antd 11. state设置对象属性 this.setState({ tableParams:{tableName:value} }) 10.loading组件 ...