微信小程序开发 Note-7
小程序首页视频列表
首页是底色加封面图,并不是可播放的视频;
自定义mapper
1 | <select id="queryAllVideos" resultMap="BaseResultMap" parameterType="String"> |
视频列表分页查询接口
Pagehelper原理:
从数据库中select数据,在查询之前做一层拦截;
拦截后的select语句,将会由Ph做一个拼接,拼接成复合分页要求的select(limit)语句;
拼接出来的新select语句将替代原select,获取数据;
1 | // 查询第几页,每页显示几条数据 |
1 | // Service |
1 | // Controller |
首页分页联调
wx.getSystemInfoSync() - 获取系统信息同步接口
同步返回参数说明:
参数 | 说明 |
---|---|
screenWidth | 屏幕宽度 |
screenHeight | 屏幕高度 |
windowWidth | 可使用窗口宽度 |
windowHeight | 可使用窗口高度 |
1 | const app = getApp() |
首页——上拉分页
1 | const app = getApp() |
首页——下拉刷新
1 | const app = getApp() |
视频组件与API
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
src | String | 要播放视频的资源地址,支持云文件ID(2.2.3) | |
initial-time | Number | 指定视频初始播放位置 | |
duration | Number | 指定视频时长 | |
controls | Boolean | true | 是否显示默认播放控件(播放/暂停按钮、播放进度、时间) |
danmu-list | Object Array | 弹幕列表 | |
danmu-btn | Boolean | false | 是否显示弹幕按钮,只在初始化时有效,不能动态变更 |
enable-danmu | Boolean | false | 是否展示弹幕,只在初始化时有效,不能动态变更 |
autoplay | Boolean | false | 是否自动播放 |
loop | Boolean | false | 是否循环播放 |
muted | Boolean | false | 是否静音播放 |
page-gesture | Boolean | false | 在非全屏模式下,是否开启亮度与音量调节手势 |
direction | Number | 设置全屏时视频的方向,不指定则根据宽高比自动判断。有效值为 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度) | |
show-progress | Boolean | true | 若不设置,宽度大于240时才会显示 |
show-fullscreen-btn | Boolean | true | 是否显示全屏按钮 |
show-play-btn | Boolean | true | 是否显示视频底部控制栏的播放按钮 |
show-center-play-btn | Boolean | true | 是否显示视频中间的播放按钮 |
enable-progress-gesture | Boolean | true | 是否开启控制进度的手势 |
wx.createVideoContext(videoId, this)
创建并返回 video 上下文 videoContext
对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 <video/>
组件
videoContext
videoContext
通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件
开源搜索视频组件
wsSearchView
该搜索框组件基于开源项目wxSearch 进行了改进,主要有以下几个修改点:
- 增加了注释,修改了一些bug,项目可以跑起来。
- 为了解决搜索框和输入法界面重叠的问题,将搜索组件作为一个独立的页面。
- 修改了界面样式,更加美观。
- 减少了暴露接口,复杂性更低。
搜索插件缓存
1 | function search(inputValue) { |
修改全局用户对象(使用缓存)
为了使用户每次打开小程序不需要重复的登录,根据官方文档的同步&异步方法的说明;
需要通过设置全局的用户对象,使用本地缓存的方式,解决这样的问题;
1 | //app.js |
查询接口完善 & 热搜词保存
1 | // Service |
1 | // VideosMapperCustom.xml |
热搜词查询接口
1 | // SearchRecordsMapper.xml |
1 | // Service |
1 | // Controller |
热搜词联调
1 | ... |