迁移指南
更新时间: 2024/07/15 15:54:11
3.8迁移到3.9
使用 V3.9 及以上版本的客户端和 V3.9 之前版本的客户端之间不互通,请确保所有客户端的 SDK 都升级到 V3.9 及以上的版本,以免影响您的业务。
如果您的业务中涉及如下接口,请相应修改相关代码:
- 3.9之前使用
drawPlugin.setFontFamily设置默认字体,3.9之后改为drawPlugin.setFontFamilies - 3.9之后添加图片、音视频时不需要传入文件的宽度
- 工具栏中移除了
platte, widthResize, opacity。如果设置过工具栏的配置,需要将这些工具删除。涂鸦的初始颜色,透明度,线宽会在pen工具中集成
3.8.1迁移到3.8.2
- 不再支持
drawPlugin.exportAsBase64String(type, quality)这样的调用方式。新的调用方式请参考exportAsBase64String。 drawPlugin.exportAsBase64String返回结果由string变为null | { content: string; height: number; width: number }。
3.6迁移到3.7
disableAutoResize参数配置位置由WhiteBoardSDK.getInstace中移动到了drawPlugin.setAppConfig中
3.6迁移到3.6.1
- 如果您的用户中存在低于3.6.1与,大于等于3.6.1版本互通的情况,则需要调用
drawPlugin.setAppConfig,并设置staticDocType: 'array'。如果您的用户中不存在这种情况,则无需做任何改动
3.5迁移到3.6
- 工具栏的
docAdd与docDelete回调函数由toolCollection.addDocEventListener([docAdd | docDelete], cb)变更为toolCollection.on([docAdd | docDelete], cb) - 自定义工具的点击回调注册函数由
toolCollection.addToolEventListener('custom-xxx', cb)改为toolCollection.on(iconClick, cb)
3.3迁移到3.4
- 工具栏中使用
docDeleteClick回调的地方需要移除。开发者应该监听docDelete,然后在应用服务器中删除文档记录 - G1白板转码结果不再与
IM账号关联。因此开发者需要使用docAdd,docDelete监听文档的添加,删除,然后将记录与账号在开发者的应用服务器中关联起来 - 如果用户接入的是G1白板(
IM白板),升级新版本时,需要在初始化SDK时,添加getAuthInfo。 - 如果用户使用
webview接入G1白板,升级新版本时,应该监听webGetAuth消息,并回传jsSendAuth jsGetState已废弃。请使用jsDirectCall替代jsGetState
3.2迁移到3.3
G1 -> G1
如果依旧沿用G1方式接入,需要做以下改动:
SDK脚本,以及webview页面改为从g1文件夹中获取- 文件夹内
WhiteBoardSDK_[version].js脚本改名为WhiteBoardSDK_IM_[version].js脚本 - 客户端页面从
webview.html改为webview_im.html
G1 -> G2
若从G1升级到G2,需要用户搭建应用服务器,并提供获取auth的接口。然后需要在脚本中做以下改动:
-
WhiteBoardSDK.getInstance
WhiteBoardSDK.getInstance删除属性:account与token。添加属性:uid与getAuthInfo。其中getAuthInfo是用户自定义的函数,该函数用于从开发者应用服务器中获取auth。 -
jsLoginIMAndJoinWB
G1 webview使用该命令登陆白板。G2 webview改为使用jsJoinWB。同时参数中去掉account、token, 添加uid。 -
jsLogoutIMAndLeaveWB
G1 webview使用该命令退出白板。G2 webview改为使用jsLeaveWB -
webGetAuth
webview需要新增监听webGetAuth。G2架构的白板登陆,资源上传,文档转码等服务均需要auth。客户端收到该消息后,通过jsSendAuth将auth返回给webview -
文档存储
G1上传文档后,文档与G1中的IM账号关联。G2架构下,文档不会与账号关联,如果需要在G2重新进入房间后,使得文档依旧与账号绑定,需要开发者将关联信息自行保存在开发者的服务器中。具体请参考文档与页面
3.1.0迁移至3.1.1
- jsDirectCall
jsDirectCall的参数调整为:
js{
action: 'jsDirectCall',
param: {
target: 'whiteboardSDK' | 'drawPlugin' | 'toolCollection'
funcName: string //请参考SDK API文档。funcName为函数名
args: Array<any> //接口函数的参数,若接口函数没有参数,可以不传
/**
* 如果不传入args, 也可以传入arg1, arg2, arg3, arg4, arg5,具体可以看下面的示例
*/
}
}
3.1.0中param.action应该替换为param.funcName,param.params替换为param.args,param.param[1-5]替换为param.arg[1-5]。
旧版本参数param.action, param.params, param.arg[1-5]依旧兼容。
- jsGetState
jsGetState的参数调整为:
js{
action: 'jsGetState',
param: {
target: 'whiteboardSDK' | 'drawPlugin'
funcName: string //请参考SDK API文档。funcName为函数名
}
}
3.1.0中param.action应该替换为param.funcName。
旧版本参数param.action依旧兼容。




