迁移指南

更新时间: 2023/07/24 02:09:01

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

  1. 不再支持drawPlugin.exportAsBase64String(type, quality)这样的调用方式。新的调用方式请参考exportAsBase64String
  2. drawPlugin.exportAsBase64String返回结果由string变为null | { content: string; height: number; width: number }

3.6迁移到3.7

  1. disableAutoResize参数配置位置由WhiteBoardSDK.getInstace中移动到了drawPlugin.setAppConfig

3.6迁移到3.6.1

  1. 如果您的用户中存在低于3.6.1与,大于等于3.6.1版本互通的情况,则需要调用drawPlugin.setAppConfig,并设置staticDocType: 'array'。如果您的用户中不存在这种情况,则无需做任何改动

3.5迁移到3.6

  1. 工具栏的docAdddocDelete回调函数由toolCollection.addDocEventListener([docAdd | docDelete], cb)变更为toolCollection.on([docAdd | docDelete], cb)
  2. 自定义工具的点击回调注册函数由toolCollection.addToolEventListener('custom-xxx', cb)改为toolCollection.on(iconClick, cb)

3.3迁移到3.4

  1. 工具栏中使用docDeleteClick回调的地方需要移除。开发者应该监听docDelete,然后在应用服务器中删除文档记录
  2. G1白板转码结果不再与IM账号关联。因此开发者需要使用docAdd, docDelete监听文档的添加,删除,然后将记录与账号在开发者的应用服务器中关联起来
  3. 如果用户接入的是G1白板(IM白板),升级新版本时,需要在初始化SDK时,添加getAuthInfo
  4. 如果用户使用webview接入G1白板,升级新版本时,应该监听webGetAuth消息,并回传jsSendAuth
  5. jsGetState已废弃。请使用jsDirectCall替代jsGetState

3.2迁移到3.3

G1 -> G1

如果依旧沿用G1方式接入,需要做以下改动:

  1. SDK脚本,以及webview页面改为从g1文件夹中获取
  2. 文件夹内WhiteBoardSDK_[version].js脚本改名为WhiteBoardSDK_IM_[version].js脚本
  3. 客户端页面从webview.html改为webview_im.html

G1 -> G2

若从G1升级到G2,需要用户搭建应用服务器,并提供获取auth的接口。然后需要在脚本中做以下改动:

  1. WhiteBoardSDK.getInstance WhiteBoardSDK.getInstance删除属性: accounttoken。添加属性: uidgetAuthInfo。其中getAuthInfo是用户自定义的函数,该函数用于从开发者应用服务器中获取auth

  2. jsLoginIMAndJoinWB G1 webview使用该命令登陆白板。G2 webview改为使用jsJoinWB。同时参数中去掉accounttoken, 添加uid

  3. jsLogoutIMAndLeaveWB G1 webview使用该命令退出白板。G2 webview改为使用jsLeaveWB

  4. webGetAuth webview需要新增监听webGetAuthG2架构的白板登陆,资源上传,文档转码等服务均需要auth。客户端收到该消息后,通过jsSendAuthauth返回给webview

  5. 文档存储 G1上传文档后,文档与G1中的IM账号关联。G2架构下,文档不会与账号关联,如果需要在G2重新进入房间后,使得文档依旧与账号绑定,需要开发者将关联信息自行保存在开发者的服务器中。具体请参考文档与页面

3.1.0迁移至3.1.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.0param.action应该替换为param.funcNameparam.params替换为param.argsparam.param[1-5]替换为param.arg[1-5]

旧版本参数param.action, param.params, param.arg[1-5]依旧兼容。

  1. jsGetState jsGetState的参数调整为:
js{
    action: 'jsGetState',
    param: {
        target: 'whiteboardSDK' | 'drawPlugin'
        funcName: string      //请参考SDK API文档。funcName为函数名
    }
}

3.1.0param.action应该替换为param.funcName

旧版本参数param.action依旧兼容。

此文档是否对你有帮助?
有帮助
去反馈
  • 3.8迁移到3.9
  • 3.8.1迁移到3.8.2
  • 3.6迁移到3.7
  • 3.6迁移到3.6.1
  • 3.5迁移到3.6
  • 3.3迁移到3.4
  • 3.2迁移到3.3
  • G1 -> G1
  • G1 -> G2
  • 3.1.0迁移至3.1.1