迁移指南
更新时间: 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
依旧兼容。