版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  1. 类名 - `PluginClass`
    由开发者自己定义,类名建议是大驼峰式风格。

  2. 构造器 - `constructor(config: PluginConfig) {}`

    构造器函数必须要实现,以在这里实现插件的视图渲染。由平台方初始化插件时传入`config`参数,此配置参数说明如下表:

    参数描述类型

    container

    插件容器,插件必须将插件内容动态渲染在此容器里,不能渲染在此容器外面,也不能随意渲染在平台方的文档任意地方

    HTMLDivElement

    token

    插件授权token,由插件平台前端向插件平台后端申请,然后传入插件前端,插件前端不管是向插件自己业务后端还是插件平台后端发起接口请求,都需要带上此token。此参数有可能为`null`

    string | null

    assetPrefix

    插件静态资源前缀,也就是插件代码部署在平台方资源服务器上的绝对目录,插件可以使用这个参数去加载其他资源。建议参考`注意事项`中提到的`webpack自由变量`小节内容。也就是插件代码部署在平台方资源服务器上的绝对目录,插件可以使用这个参数去加载其他资源。建议参考`注意事项`中提到的`webpack自由变量`小节内容。

    string

    pluginInfo

    插件实例数据,即在兔展编辑器创建插件组件实例之后,编辑并保存的数据

    PluginInfo

    userInfo

    平台方在微信授权之后,将微信用户信息传入,当拒绝授权或者授权失败的时候,此参数为`null`或`undefined`,开发者需要考虑这种情况的容错处理,例如显示占位图

    WechatUserInfo | null

    updateWechatShareInfo

    更新微信分享配置,可以用在需要自定义微信分享的场景下,将会覆盖兔展平台默认的微信分享配置

    (patch: Partial<WechatShareData>) => void

    appendShareLinkParams

    追加微信分享链接参数,不覆盖图片平台默认的微信分享配置,但需要追加一些自定义链接参数,返回追加参数之后的完整分享链接。其中,参数`link`是原分享链接,一般直接传入`window.location.href`即可,参数`params`是要追加的参数对象

    (link: string, params: Record<string, any>) => string


  3. 更新插件 - `update?(props: PluginProp[]) {}`

    同步更新插件,当在兔展编辑器修改了插件的属性配置,可能需要同步插件的UI界面,那么就需要实现这个方法。由平台方传入`props`参数,即最新版的插件活动配置属性列表。

    如果插件没有实现这个方法,那么平台方则忽略插件属性配置的同步操作。

  4. 销毁插件 - `destroy?() {}`

    插件被卸载后的清尾逻辑,例如清除事件绑定等逻辑。由平台方在卸载插件时调用,如果插件未实现此方法,那么平台方则忽略。

...