微信小程序开发 Note-8
搜索功能整合 & 首页联调
通过修改index.js中对于getAllVideoList
,加入对应的参数,搜索内容和分页记录;
以达到搜索返回视频列表的目标;(上拉刷新和下拉刷新不进行刷新)
1 | // 共用方法 |
热搜查询联调 & 视频对象播放与暂停
Q:对视频对象进行mute设置时,跳转到搜索页面和主页时,视频依然播放音乐;
A:在JS中进行相应的修改;
步骤: 在生命周期的onLoad(),获取videoContext,onShow()对视频进行播放,
在跳转时,onHide()进行视频暂停;
1 | const app = getApp() |
上传视频功能复用 & 测试
在pages同级目录下,创建一个utils,videoUtil.js
1 | // videoUtil.js |
1 | var videoUtil = require('../../utils/videoUtil.js') // 引用 |
首页进入视频展示页
从首页中的对象,获取到JSON数据,然后通过转换的形式,转换成字符串,传到videoinfo,在videoinfo中,再转换回JSON对象,进行数据的获取和赋值;
1 | // index.js |
1 | // videoinfo.js |
页面重定向
对于没有登录的用户,可以搜索,但是不能进行个人信息页面的跳转和视频的上传;
所以需要对于没有登录的用户,进行页面的拦截和重定向;
1 | showMine: function() { |
在从视频详细页面跳转到登录页面之后,我们希望登录后,再次跳转回到之前的视频详细页面;
那么我们需要将原视频详细页面的信息传到登录页面,再进行页面的重定向跳转;
1 | // videoInfo.js |
1 | // login.js |
拦截器配置与注册
1 | // 模拟拦截器配置(对所有请求进行拦截) |
1 | // 拦截器注册 |
完善登录拦截 & 限制单台手机登录
1 | public class MiniInterceptor implements HandlerInterceptor { |
拦截器联调
对于拦截器方法中,需要获取用户的USERID以及USERTOKEN,所以在用户请求时,在header中加入相应数据,以实现拦截器的功能;
1 | Page({ |
点赞接口
非常简单的接口,不加以展示;
首先对Mapper进行方法的编写,然后修改对于的XML的语句;
在VideoServiceImpl进行对于方法的实现即可userLikeVideo
& userUnLikeVideo
;
以及Controller的修改;
点赞联调
1 | var videoUtil = require('../../utils/videoUtil.js') |
视频展示页
1 | var videoUtil = require('../../utils/videoUtil.js') |
1 | // UserController |