dby-1vn-js-sdk

1.0.2 • Public • Published

dby-1vn-js-sdk使用文档

通过多贝云dby-1vn-js-sdk, 你可以和教室进行数据交互。 (以下内容中,dby-1vn-js-sdk 将简称 SDK)

安装

npm i dby-1vn-js-sdk

导入

import DBYCourseSDK from 'dby-1vn-js-sdk'

创建实例

const sdk = new DBYCourseSDK(targetWindow)

targetWindow 加载多贝云教室网页的iframe元素 可以不传,默认值为 document.querySelector('iframe')

APIs

onReady

sdk.onReady( func ) :
用来注册 SDK 可用之后的回调,参数 func 的类型是 function
当 SDK 可用之后,SDK 会调用 func

getCoursePlayProgress

sdk.getCoursePlayProgress() :
用来主动获取课程播放进度的接口
返回值为一个Promise, resolve以下结构的对象

参数名 说明
currentTime 课程当前播放的时间点
totalTime 课程的总时长

// 方式一
sdk.getCoursePlayProgress().then((result) => {
  console.log('dby-js-sdk: getCoursePlayProgress', result)
})

// 方式二
async() => {
  const result = await sdk.getCoursePlayProgress()
  console.log('dby-js-sdk: getCoursePlayProgress', result)
}

完整代码

import DBYCourseSDK from 'dby-1vn-js-sdk'

// 页面加载完成后运行
const sdk = new DBYCourseSDK(targetWindow)

sdk.onReady(() => {
  console.log('dby-js-sdk: onReady')
  setInterval(async() => {
    const result = await sdk.getCoursePlayProgress()
    console.log('dby-js-sdk: getCoursePlayProgress', result) // {currentTime: 1114, totalTime: 8054}
  }, 5000)
})

setTarget

sdk.setTarget(iframeElem) :
用来重置加载课程的iframeElem

属性

version

sdk.version,版本号。

isReady

sdk.isReady,值由false变为true时会运行onReady注册的回调函数。

debugMode

默认值为false
设置为truesdk.debugMode = true,可以在控制台输出更多调试信息。

Q&A

1. Uncaught TypeError: sdk.onReady is not a function异常

这类异常发生前通常会在控制台输出: dby-js-sdk: Unsupported arg: iframe elem needed in setTarget

产生原因:

  • 实例化sdk时,构造函数没有传入参数且页面中无法获取到iframe元素,无法获取到iframe元素的原因可能是实例化时机太早,iframe未加载
  • 实例化sdk时,构造函数传入了非法参数,参数不是iframe元素

修复方法:

调用sdk.setTarget(iframeElem), 传入加载多贝云教室网页的iframe元素

开发者文档

运行&调试

  1. 编辑pc-1vn-js-sdk/test/test-pc-1vn-js-sdk.html 中的iframe src 属性为多贝云教室进教室链接

  2. 在本项目目录下运行npm run start

发布

在本项目目录下运行npm run release

更新历史

2020.04.01 发布 1.0.0 支持onReadygetCoursePlayProgresssetTarget API

Readme

Keywords

none

Package Sidebar

Install

npm i dby-1vn-js-sdk

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

11.4 kB

Total Files

3

Last publish

Collaborators

  • duobeiyun