[关闭]
@sewise-dev 2017-08-15T05:56:33.000000Z 字数 4818 阅读 645

云朵&微录播 - 技术对接文档

云朵


更新历史

编号 版本 说明 作者 日期
1 v1.0 1.创建文档 Seven 2017-08-11


目录


【备注】

1. 全局返回码说明

每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误。

返回码 说明
-1 系统繁忙,此时请开发者稍候再试
0 请求失败
1 请求成功
200 响应成功
403 禁止访问
404 异常错误
500 数据验证错误
40001 不合法的凭证,或者access_token无效。
40004 不合法请求

HTTP请求状态返回格式

返回字段 字段类型 说明
status Integer 请求返回码(详细请见状态表)
message String 返回描述
data Array 返回结果

错误样例
{
"status": 40013,
"message": {"0":"invalid appid"}
}
成功样例
{
"status": 200,
"data": {"access_token":"ACCESS_TOKEN","expires_in":7200}
}


1.接口定义

1.1 创建微录播测试账号接口

接口地址

/user/getToken

HTTP Content-Type / 请求方式

application/json
get/post

请求参数
参数 必选 类型 说明
RequestBody
access_token string 第三方平台鉴权签证
username string 第三方平台的用户名

参数 必选 类型 说明
RequestBody
appid String 第三方用户唯一凭证
secret String 第三方用户唯一凭证密钥,即appsecret
username string 第三方平台的用户名
HTTP 响应状态

200

返回字段 字段类型 说明
status int 返回状态码
message String 返回错误信息
data Array 返回结果
接口示例

Request
curl -X get -H "Content-Type:application/json" -d http://vtest.sewise.com.cn/v1/user/getToken?appid=yunduo&secret=3ed366182f93101c653386eba02ad063&username=weilubo1
Response
{
"status": 200,
"data": {
"access_token": "yTg9SrslR6sHaaH5GUagRxAOvFJXX9PyHx13R8am"
}
}

1.2 验证教师账号使用权限接口

接口地址

v1/user/checkUsername

HTTP Content-Type / 请求方式

application/json
post

请求参数
参数 必选 类型 说明
RequestBody
username string 用户名,(云朵帐号 yunduo_weilubo1)
HTTP 响应状态

200

返回字段 字段类型 说明
status int 返回状态码
message String 返回错误信息
data Array 返回结果
接口示例

Request
curl -X get -H "Content-Type:application/json" -d http://vtest.sewise.com.cn/v1/user/checkUsername

1.3 同步数据接口

接口地址

云朵方提供回调地址url,云朵过来的老师在微录播创建课程或课时的时候通过该url返回数据,返回方式为post请求

返回字段 字段类型 说明
status int 返回状态码
message String 返回错误信息
type String 返回事件类型,swl_create:创建课时;cource_create:创建课程
data json 返回数据信息
userinfo json 创建者信息

请求的body数据例子
{"status":200,"event":"swl_create","userinfo":{"userId":"21","username":"21","mobile":"","userType":"2","creationDate":"2017-06-27 15:58:15","accountStatus":"1","lastLogin":"2017-08-15 09:37:53","isDelete":"N","from":null,"access_token":"wWi94BqQDSscKwsqmFHpMGnOlTsn3iA0lL6fnskS","sn":"org_2_0_0_0_0","organId":"2","nickName":"peng1","nickname":"peng1","avatar":"","role":"1","accountname":"peng1","admin":0},
"data":{"swlid":"490dfe36-c19c-48f6-879c-335c0b876f51","creator_uid":"21","creator_nickname":"peng1","author_uid":"21","author_nickname":"peng1","title":"00001","image":"/img/8861d628c13aeedf648418145994767b","is_open_topic":1,"poster":"","summary":"","require":"","create_time":"2017-08-15 10:16:27","courseid":"2aa67474-3865-47d5-b626-383c52417d2f","is_open":0,"question_total":0,"klg_total":24,"duration":183.00100000000003,"video_url":"/resource/8861d628c13aeedf648418145994767b","click":0,"cloud":0,"hide":0,"swlversion":"","type":1,"grade":1,"subject":101,"coursetype":"预习课","subject_category":"","sn":"org_2_0_0_0_0","play_url":"http://192.168.1.24/weike/sewiseplay?swlid=490dfe36-c19c-48f6-879c-335c0b876f51&uname=21"}}

1.4 登录微录播接口

接口地址

/weike?access_token={access_token}

HTTP Content-Type / 请求方式

application/json
get

请求参数
参数 必选 类型 说明
RequestBody
access_token string 单用户鉴权签证
HTTP 响应状态

200

返回字段 字段类型 说明
status int 返回状态码
message String 返回错误信息
data Array 返回结果
接口示例

Request
curl -X get -H "Content-Type:application/json" -d http://vtest.sewise.com.cn/weike?access_token=QVlBvVaijyRW2cRDVyF823zQoD8nXAV5QnBaK75O

2.外部播放器API

注意:一个页面只能引用一个播放器,生成新的播放器,应先将原先的播放器容器销毁

2.1 播放器引用方式

通过嵌入html页面的方式渲染播放器

参数

参数 必选 类型 说明
host string 微录播域名
swlid string 微课swlid
uid int 自主平台用户id
access_token string 自主平台access_token
type int 用户类型,默认1为学生,2为老师
callback boolean 是否需要主动发送播放进度
callbackUrl string 主动发送的地址(当callback为true,此参数必须)
playProgress int 设置播放进度(数值范围:1-100),设置此参,播放进度将会从此开始播放

拼写规则

1.生成设置参数

  1. var obj ={
  2. 'host' : 'http://vtest.sewise.com' ,
  3. 'swlid' : '4593843e-05c1-460e-af30-831920a930ed' ,
  4. 'uname' : 12 ,
  5. 'callback' : true ,
  6. 'callbackUrl' : 'http://vtest2.sewise.com/addplay?userid=12' , //自主平台路径,此处userid是为不同用户保存不同进度
  7. 'playProgress' : 50
  8. }
  9. var playerdata = encodeURI(JSON.stringify(obj));//将参数转成json字符串,再进行encodeURI转码
  10. var playerhtml = '<script id="sewiseswlplayer" src="'+obj.host+'/widgets/libs/sewiseswlplayer.js?data='+playerdata+'" charset="utf-8"></script>';//播放地址

2.代码生成结果

  1. <script id="sewiseswlplayer" src="http://vtest.sewise.com/widgets/libs/sewiseswlplayer.js?data=%7B%22host%22:%22http://vtest.sewise.com%22,%22swlid%22:%224593843e-05c1-460e-af30-831920a930ed%22,%22uname%22:12,%22callback%22:true,%22callbackUrl%22:%22http://vtest2.sewise.com/addplay?userid=12%22,%22playProgress%22:50%7D"charset="utf-8"></script>

3.将代码放入html页面,即可生成sewise播放器

callbackUrl要求

播放器主动传递的参数

请求方式:post

参数 类型 说明
precent int 百分比(数值范围:1-100)
total_time int 视频总时长(s)
playTime int 当前播放时间(s)

2.2 播放器接口

支持的接口

  • pause 暂停
  • play 播放
  • stop 停止
  • playTime 获取当前视频播放到的位置(秒)

接口使用方式

播放器引用成功后,将会生成一个全局的函数变量:window.getSWLPlayer

示例

  1. //以鼠标移出播放器,播放自动暂停为例
  2. window.getSWLPlayer(function (sw) {
  3. //sw为播放器对象
  4. $(sw.el).on('mouseleave',function(){//表示离开播放器组件
  5. sw.pause();//调用播放器暂停方法
  6. })
  7. })
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注