小程序直播功能插件
基本信息:
- 提供播放直播流的服务
- 直播课程中,家长可以进入教室旁听,即可以实现监课的功能。
开发文档:
首先请仔细阅读小程序插件使用官方说明文档
https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html
具体使用插件如下:
添加插件
在使用插件前,首先要在小程序管理后台的“设置-第三方服务-插件管理”中添加插件。开发者可登录小程序管理后台,通过 appid 查找插件并添加。如果插件无需申请,添加后可直接使用;否则需要申请并等待插件开发者通过后,方可在小程序中使用相应的插件。
引入插件代码包
AppID wx7da0335d3e9abdb9
使用插件前,使用者要在 app.json 中声明需要使用的插件,例如: 代码示例:
{
"plugins": {
"myPlugin": {
"version": "1.0.1",
"provider": "wx7da0335d3e9abdb9"
}
}
}
如上例所示, plugins 定义段中可以包含多个插件声明,每个插件声明以一个使用者自定义的插件引用名作为标识,并指明插件的 appid 和需要使用的版本号。其中,引用名(如上例中的 myPlugin)由使用者自定义,无需和插件开发者保持一致或与开发者协调。在后续的插件使用中,该引用名将被用于表示该插件。
在分包内引入插件代码包(与以上两者选一)
如果插件只在一个分包内用到,可以将插件仅放在这个分包内,例如:
{
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
],
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": " wx7da0335d3e9abdb9"
}
}
}
]
}
在分包内使用插件有如下限制:
• 仅能在这个分包内使用该插件;
• 同一个插件不能被多个分包同时引用;
不能从分包外的页面直接跳入分包内的插件页面,需要先跳入分包内的非插件页面、再跳入同一分包内的插件页面。
使用插件
使用插件时,插件的代码对于使用者来说是不可见的。为了正确使用插件,使用者应查看插件详情页面中的“开发文档”一节,阅读由插件开发者提供的插件开发文档,通过文档来明确插件提供的自定义组件、页面名称及提供的 js 接口规范等。 自定义组件 使用插件提供的自定义组件,和使用普通自定义组件的方式相仿。在 json 文件定义需要引入的自定义组件时,使用 plugin:// 协议指明插件的引用名和自定义组件名,例如: 代码示例:
{
"usingComponents": {
"hello-component": "plugin://myPlugin/hello-component"
}
}
出于对插件的保护,插件提供的自定义组件在使用上有一定的限制:
• 默认情况下,页面中的 this.selectComponent 接口无法获得插件的自定义组件实例对象;
• wx.createSelectorQuery 等接口的 >>> 选择器无法选入插件内部。
页面
使用直播云监课插件非常简单,只需在对应插件地址后传入直播云所需参数就可以实现直播监课的功能。 直接在页面需要使用地方写插件地址即可,需要拼接参数,示例如下,全部参数见下方说明 插件的页面从小程序基础库版本 2.1.0 开始支持。 需要跳转到插件页面时,url 使用 plugin:// 前缀,形如 plugin://PLUGIN_NAME/PLUGIN_PAGE, 如:
<navigator url="plugin://myPlugin/course-detail-parent?classId=100001240&listType=mine">监课详情页</navigator>
一、大班直播功能
大班直播参数配置
直接写插件地址即可,需要拼接参数,示例如下,全部参数见下方说明
<navigator url="plugin://myPlugin/course-detail?classId=xxx&studentId=xxx">监课详情页</navigator>
大班直播拼接参数说明
{
classId : 100001240, //课程id
studentId : 201705, //学生id
className : 测试1, //课程名称
institutionId : 79, //机构id
type : 1, //课程类型,正式课为1,测试课为0
teacherId : 20160401, //教师id
category : 1, //班型 大班课1
status : 1, //课程状态,课前为0,课中为1,课后为2
startTime : 2018-10-26 15:00:00, //约课的开始时间,注意格式
userToken : eyJ0exx //token,这个需要使用验证自己api的token
userImg : 'https://xxxxxxx', // 用户头像建议使用wx.getUserInfo获取头像 必须是https地址
username : '大哥哥', // 用户昵称建议使用wx.getUserInfo获取昵称
}
二、监课功能
监课参数配置
直接写插件地址即可,需要拼接参数,示例如下,全部参数见下方说明
<navigator url="plugin://myPlugin/course-detail-parent?classId=100001240&listType=mine">监课详情页</navigator>
拼接参数说明
{
classId : 100001240, //课程id
listType : mine, //列表类型,固定为mine即可
studentId : 201705, //学生id
className : 测试1, //学生姓名
institutionId : 79, //机构id
type : 1, //课程类型,正式课为1,测试课为0
teacherId : 20160401, //教师id
category : 7, //班型,一对一为0,小班课为7
status : 1, //课程状态,课前为0,课中为1,课后为2
startTime : 2018-10-26 15:00:00,//约课的开始时间,注意格式需要是这样的
userToken : eyJ0e//token,这个需要使用验证自己api的token
iszby : false,//是否为直播云的课程
isparent : true//是否需要监课功能
}
版本说明
0.0.3--测试环境稳定版本
0.0.4--线上环境稳定版本
0.0.5--测试环境-修复bug:家长退出教室导致学生退出教室
0.0.6--线上环境-修复bug:家长退出教室导致学生退出教室
1.0.0--添加大班直播功能
备注
1、微信开发者工具需要把调试基础库的版本设置为2.1.0以上
2、如果预览时报错:源码包超出最大限制,需要使用分包,分包使用官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html