伯索开放平台
首页API文档SDK文档伯索官网
首页API文档SDK文档伯索官网
  1. WEB版本
  • 快速入门
    • SDK简介
      • SDK简介
    • SDK支持的业务场景
      • SDK支持的业务场景
    • 产品特色
      • 产品特色
  • 产品指南
    • 实时课堂功能介绍
      • 实时课堂功能介绍
    • 微课功能介绍
      • 微课功能介绍
    • 作业批改功能介绍
      • 作业批改功能介绍
    • 上传课件功能介绍
      • 上传课件功能介绍
    • SDK后台功能介绍
      • SDK后台功能介绍
  • 最佳实践
    • 最佳实践
  • 接入流程说明
    • SDK对接标准流程说明
      • SDK对接标准流程说明
    • 基础概念说明
      • 基础概念说明
  • SDK帮助文档
    • 直播SDK接入
      • WEB版本
        • WEB版本
      • iOS版本
        • IOS版本
      • Android版本
        • Android版本
    • 微课SDK接入
      • WEB版本
        • WEB版本
      • iOS版本
        • IOS版本
      • Android版本
        • Android版本
    • 批注SDK接入
      • Web版本
        • Web版本
      • iOS版本
        • IOS版本
      • Android版本
        • Android版本
    • 签名加密
      • 签名加密
    • 回调接口接入流程
      • 回调接口接入流程
    • 文档解析接入方式
      • 文档解析接入方式
    • 历史课堂接入方式
      • 历史课堂接入方式
    • 历史课堂转视频接入方式
      • 历史课堂转视频接入方式
    • 历史课堂/微课下载接口
      • 历史课堂/微课下载接口
  • Open API帮助文档
    • Open API 主要功能
    • Open API集成常用场景
    • 数据字典
    • 接入须知
      • 调用流程
      • 在线调试
      • 通用错误码
    • 用户信息管理
      • 添加用户
      • 修改密码
      • 删除用户
      • 更新用户
      • 用户精确查询
      • 查询多个用户
      • 用户访问Token
      • 验证用户Token有效期
    • 教材包管理
      • 查询机构教材包
      • 查询教材包内教材
      • 向学生分发教材包
    • 实时课堂管理
      • 创建实时课堂
      • 创建实时课堂(班)
      • 更新实时课堂
      • 更新实时课堂(班)
      • 删除实时课堂
      • 查询实时课堂列表
      • 更新实时课堂下听众用户
      • 获取实时课堂监控地址
      • 控制单个学员是否可以回看单次课
      • 获取单个课堂的回看地址
      • 删除单个历史课堂
      • 获取课堂考勤数据
      • 获取历史课堂信息
      • 获取历史课堂观看数据
      • 获取课堂互动信息
      • 获取课堂列表(新)
      • 获取实时课堂旁听链接
    • 班级管理
      • 创建班级
      • 更新班级
      • 删除班级
      • 查询班级列表
      • 向班级中添加学生
      • 从班级中移除学生
      • 更换学生所在班级
      • 老师列表中查询机构分校学科
      • 根据班级获取获取班级详情和人员信息
    • 学情数据
      • 获取学生课堂明细数据
      • 获取学生巩固明细数据
      • 获取学生测验明细数据
      • 获取学生辅导明细数据
      • 获取学生积分明细数据
    • 商城管理
      • 获取商品详情
      • 获取商品列表
      • 获取分校自定义商品栏目列表
      • 订单查询
      • 订单详情查询
    • 作业管理
      • 查询学生作业列表
      • 查询老师作业列表
    • 测验管理
      • 查询机构测评列表
      • 获取测评统计
      • 查询机构测验列表
      • 获取测验明细
  • 产品更新记录
    • Open API 更新日志
    • SDK 更新日志
  • 常见问题
    • PPT制作事项
    • 课件常见问题与解决方法
    • 网络相关问题
    • 声音相关问题
    • 网络测速
  • 推荐
    • 浏览器推荐
    • 常见软件推荐
    • 教育硬件推荐
  1. WEB版本

WEB版本

一、准备阶段
微课本地录制必须使用 nw 或 electron 环境下,且当前的html必须是本地html,即location.protocal必须是 file:// 协议。
在app根目录下的 lib/lame/ 中存放 lame.exe 的可执行文件
如果是windows系统,还要在app根目录下的 lib/ 中存放 zip.exe 文件
** 二、接入和使用指南**
接入步骤
引入 plaso_style_upime.js ,js地址: https://wwwr.plaso.cn/static/sdk/js/plaso_style_upime-1.30.202.js
调用 PlasoStyleUpime.createLocalClient 创建微课录制的 sdkClient 对象
// 默认无需调用,当使用开发环境appId接入调试时,需要切换到 dev 环境
PlasoStyleUpime.setEnv("dev");

var sdkClient = PlasoStyleUpime.createLocalClient(dom, options, interfaces);
dom: dom类型,用来装载实时课堂页面的dom节点。
options: 对象类型
参数名参数类型是否必填说明
pathstring是制作微课、存放草稿的目录。MAC电脑上为保证有读写权限的,path不要位于userData目录外。
topicstring否当传入非空字符串时表示默认微课名,不会在界面上显示,但在制作完成时会弹窗对其进行编辑。
enablePreviewboolean否当enablePreview为true时,将开放制作微课过程中预览剪切的功能。
electron获取userData目录方法:
`var dataPath = app.getPath("userData");`
interfaces: 对象类型,用来传入回调函数。
回调接口名说明
onReady当sdkClient初始化完成后触发。
onCancel点击退出按钮时触发。sdk界面不会主动退出,需要调用sdkClient.destroy退出
onSaveDraft当sdk执行保存草稿动作后触发,返回lessonInfo对象,以下是函数定义和lessonInfo的定义
onFinished当sdk执行制作完成动作后触发,返回lessonInfo对象,以下是函数定义和lessonInfo的定义(注意和onSaveDraft的区别):
getOpQuery微课本地插入word、excel文件时需要调用getOpQuery接口,如果未传入该接口则无法解析文档。接收一个对象,返回Promise, Promise的结果为签名后的query。这个query是一个字符串,包含signature字段,以下是函数定义
showResourceCenter非必要。用于通知客户端打开资料中心,详见附录-资料中心
getExtFileName非必要。用于根据info返回文件访问路径,详见 文档解析接入方式
onSaveDraft示例代码:
interface LessonInfo{
		cover: string,//封面地址
		duration:number,//时长
		size:number,//微课文件的大小 单位 b
		topic:string//标题
	}
	declare function onSaveDraft( lessonInfo: LessonInfo ):void
onFinished示例代码:
interface LessonInfo{
		cover: string,//封面地址
		duration:number,//时长
		size:number,//所有文件的大小 单位 b
		topic:string//标题
		fileName:string,//压缩文件地址
		refFiles:Array //一个储存额外信息的数组
		recordId:string //微课视频的唯一id
	}
	declare function onFinished( lessonInfo: LessonInfo ):void
三、保存草稿
微课sdk保存草稿后会调用onSaveDraft回调,返回lessonInfo
客户端可根据lessonInfo中返回的信息在本地维护草稿列表
四、上传微课
微课sdk在制作完成时会调用onFinished回调,返回lessonInfo
此时页面不会退出,需要客户端手动调用sdkClient.destroy()
客户端可以调用PlasoStyleUpime.save方法将微课内容上传到自己的oss
五、sdkClient对象的方法
insertObject向sdk中插入外部文件,详见
文档解析接入方式 |
destroy()关闭微课页面,销毁sdkClient对象
save()上传制作的微课到oss,以下是函数定义和参数声明:
type Query = string//包含appId、validBegin、validTime、signature的签名字符串
	interface OSSToken{
		accessKeyId:string,
		accessKeySecret:string,
		stsToken:string,
		uploadPath:string,//要上传到bucket下的目录路径
		bucket:string,
		region:string,
		provider:string,//要上传到的云,目前仅支持阿里.例provider:"OSS"
		expire:number //有效时间秒数(绝对时间),如 Math.floor((Date.now() / 1000))
	}
	interface saveResult{
		code:number,//标识操作结果状态,0标识成功
		path:string,//上传到的远程oss地址(包含协议域名等完整的地址)
		cover:string//封面地址(包含协议域名等完整的地址)
	}
	interface UploadStatus{
		onUploadProgress?:(uploadedLength:number , totalLength:number ) => void
		onUploadFinished?:(status:saveResult)=> void
	}
	interface OptionParam{
		token:OSSToken,
		uploadStatus?:UploadStatus,
		autoDelete?:boolean//完成后是否清空目录
	}
	declare function save(query:Query,path:string,option:OptionParam):Promise<saveResult>
参数说明
path是存放微课的目录
OSSToken参考阿里,不过我们定义的对象里面多了uploadPath字段,表示要上传的目录路径(bucket下)
UploadStatus是一个对象,可以有两个回调函数onUploadProgress,通知回调进度,onUploadFinished 通知操作结果
autoDelete表示操作结束后是否把文件删除(默认不删除)
六、参考代码Demo
Demo 下载地址
修改于 2025-03-20 06:36:56
上一页
WEB版本
下一页
iOS版本
Built with