小程序登录 之前也写过微信小程序登录的相关文章: 微信小程序~新版授权用户登录例子 微信小程序-携带Token无感知登录的网络请求方案 微信小程序开通云开发并利用云函数获取Openid 也可以通过官方的这张时序图了解小程序的登录流程: 从流程图上可以看出微信小程序登录需要先调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器.然后在服务器端调用 auth.code2Session 接口,换取 用户唯一标识 openid和 会话密钥 session_key等信息.之后开发者…
前面的文章 介绍了服务端的基础搭建以及用户模块的设计,接下来就是在服务端和客户端实现具体的业务了. 本篇文章先来介绍微信小程序开发的项目结构设计,也就是项目分包情况. 由于项目是在<极客时间-9小时搞定微信小程序开发>的基础上开发,该项目的原有的分包如下: 在此基础上增加了一些目录componends.miniprogram_npm.models,最后的目录如下: componends:存放自定义组件,如自定义弹窗.列表item布局 config:存放配置信息,如接口api.一些常量 imag…
微信小程序端的点赞功能其实没什么好介绍的,无非就是调用接口改变点赞状态和点赞数量.需要注意的是取消点赞时的处理,我这里为了减少服务器接口的调用,直接本地存一个变量,修改这里的变量值即可. 由于源码都相对简单,这里就直接贴源码了. wxml布局源码如下: <view class="button-area" catchtap="onLikeClick"> <block wx:if="{{isLike}}"> <text…
首页效果 首页功能主要有 搜索(下篇文章介绍) 图书列表 图书列表 分析一波: 列表是水平滑动 点击列表会有按压效果:布局整体缩小 每个布局的信息从上到下排列分别是:图片.书名.作者.出版社 每个布局之间都有间隔 根据以上信息,在没有服务器接口的时候我们可以利用模拟数据将静态页面实现出来. 首先是水平滑动列表,这个可以使用swiper组件实现,在使用swiper组件的时候可以通过设置previous-margin和next-margin字段实现布局之间的间隔. 而按压效果可以通过CSS效果实现,…
效果图 上图是小程序端实现的搜索功能效果图. 从图中可以看出点击首页搜索按钮即可进入搜索页面. 布局样式是:搜索框 + 热搜内容 + 搜索列表. 搜索框使用 lin-ui 中的 Searchbar组件. 热搜内容的单个按钮使用 lin-ui 中的 Tag组件,而实现云标签样式的布局是用css样式控制. 搜索列表使用 lin-ui 中的 WaterFlow布局组件. 搜索框实现 搜索框就是照着 Searchbar组件 文档实现,因此wxml布局如下: <l-search-bar placehold…
效果图 这一节介绍,登录回调 以及 喜欢列表 的实现. 登录回调:这里是指在获取登录完成之后,再进行下一步的操作. 比如效果图中我的页面,默认是未登录状态,积分和喜欢列表的数量都没有获取到. 而登录成功之后不仅将用户信息刷新,同时将积分和喜欢列表的数量刷新. 登录回调 我这里实现的回调层级有点多,这也是回调的一个弊端,当回调层级很多代码就会很难理解. 一个简单的回调例子: // 1.获取网络数据 _getDataFromServer(userInfo, callBack){ ... callBa…
效果图 实现分析 从效果图上分析,书籍详情是通过点击首页的item后进入. 进入详情页之后页面顶部显示书籍的相关信息,同时判断用户是否登录,未登录则弹出一个授权登录窗口. 点击登录之后即可加载出用户评论信息. 通过上图我们可以分析出静态页面的主要结构如下: 书籍信息 左侧布局是图书图片 中间布局从上到下是:名称.作者.出版社 右侧布局是收藏icon 登录提示弹窗 上部分是提示文本 下部分是登录按钮 评论列表 左侧是评论人头像 右侧上部分是评论人名字 右侧中间部分是评论信息 右侧下部分是评论时间…
搜索功能会包含:热搜.搜索列表. 热搜功能在电商的搜索中经常看到,热搜数据的来源有两种 用户真实的搜索数据,根据算法进行排序 人为推送的数据 想想微博热搜是可以买的就知道热搜功能多么重要了. 我采用第二种方式简单实现. 第一种方式由于我目前还未实现,没办法介绍. 大伙儿可以参考下面几篇文章介绍热搜实现: Redis简单案例(一) 网站搜索的热搜词 Redis 与搜索热词推荐 热搜算法是怎样实现的,具体些,求解? 热搜 前端页面效果图如下: 前端页面热搜只显示图书名称.因此表示一本图书只要返回 图…
通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 书籍详情分析 书籍详情页面如下: 从上图可以分析出详情页面大概有以下几个接口: 获取书籍详情信息 获取用户对书籍的喜欢状态接口 喜欢/不喜欢书籍接口 获取评论列表 写评论接口 以上的接口,有的数据可以直接从已存在的数据表中去获取,比如:书籍详情信息,而其他新接口就需要创建对应的model,然后根据model创建相应的数据表. 比如 用户对书籍的喜欢操作,可以创建li…
通过上篇文章 全栈项目|小书架|微信小程序-首页水平轮播实现 我们实现了前端(小程序)效果图的展示,这篇文章来介绍服务器端的实现. 首页书籍信息 先来回顾一下首页书籍都有哪些信息: 从下面的图片可以看出目前一本图书信息主要有: 图片字段 名称字段 作者字段 出版社字段 除了以上前端页面中可见的信息外,在服务器开发中还需要给每一条记录(数据)都加上下面的几个字段: 创建时间字段 更新时间字段 删除时间字段 最后完成的数据库表如下: ps:由于数据库是直接导入的,之前的数据库是没有时间字段的,所以前…